Nowoczesne procesory składają się z miliardów tranzystorów, a nowe technologie produkcyjne często mają problemy z wydajnością, przynajmniej w pierwszych miesiącach, ale sądzę, że nawet po latach co jakiś czas pojawią się wadliwe układy.
Wiem, że w dużych blokach (np. Pamięci podręcznej) można po prostu wyłączyć niektóre jego części, a tym samym zmniejszyć dostępną ilość pamięci (abyś mógł przynajmniej sprzedać chip po niższej cenie zamiast go wyrzucać). Ale czy istnieje coś podobnego dla jednostek logicznych? Wiem, że istnieje wiele jednostek ALU do wysyłania, ale czy jest to po prostu wyłączyć jedną z nich, jeśli występuje błąd produkcyjny? Czy są jeszcze dodatkowe zapasowe ALU? Ponieważ dla mnie trudno uwierzyć, że fabryka po prostu pozbywa się każdego układu, w którym znajduje się wadliwy tranzystor w częściach logicznych, a wyłączenie pełnego ALU prawdopodobnie znacznie zmniejszy osiągalną moc przetwarzania.
źródło
Odpowiedzi:
Jak powiedzieli inni, trudno dostrzec nadmiarową logikę ALU w rdzeniu.
Rdzeń został zaprojektowany w celu optymalizacji przepustowości. Każda dodatkowa logika dla redundantnego ALU miałaby wpływ na wydajność, a zwiększenie obszaru spowolniłoby cały rdzeń. W miarę rozwoju technologii krzem stawał się mniejszy, dzięki czemu rdzenie były szybsze, ale zasadniczo wykorzystywały tę samą własność intelektualną. Po co redundantne ALU, skoro dostępna jest przestrzeń dla redundantnych rdzeni w celu zwiększenia wydajności produkcji?
W 2011 roku Intel złożył patent na co najmniej 32 rdzenie z 16 aktywnymi i 16 zapasowymi. W patencie stwierdzono, że awarie rdzeni miałyby wyższe temperatury, co umożliwiałoby włączenie zapasowego rdzenia. Zasadniczo, dynamiczny przydział rdzenia zgodnie z wymaganiami.
Możesz mieć przydzielone rdzenie dużej i niskiej mocy zgodnie z wymaganiami zadań. Lub wyłącz zły rdzeń wykryty przez wyższe poziomy temperatury. Rdzenie należy obsługiwać w szachownicę, aby zmniejszyć ciepło.
Patent Intel: Zwiększenie niezawodności procesora wielordzeniowego
źródło
Nie w logice.
Jednak w przypadku dużych pamięci (SRAM) często stosuje się pamięć z „redundancją”. Mają one specjalną logikę, którą można zaprogramować w celu zastąpienia obszaru, często szeregu wierszy lub kolumn.
Obszar niesprawności jest wykrywany podczas testowania, a następnie programuje się nadmiarową pamięć w celu zastąpienia wadliwych lokalizacji.
Jednak to „zastąpienie” musi być skonfigurowane przy użyciu bitów OTP (One-Time-Programmable) lub innej pamięci, która zachowuje swoją wartość. Tak więc te pamięci są używane tylko w układach, które mają taką funkcję „stałej pamięci”, lub taka funkcja programowania musi zostać również dodana, z wszystkimi kosztami, jakie to poniesie.
źródło
Z pewnością nie jest tak w przypadku prostych MCU lub typowych procesorów jednordzeniowych. Koszt posiadania zapasowych bloków nie byłby tego wart, a te procesory nie wykorzystują najnowocześniejszych procesów grawerowania i nie wymagają dużych obszarów krzemowych, więc wydajność jest wystarczająca.
Odbywa się to jednak w przypadku niektórych procesorów wielordzeniowych, dla których obszar krzemu jest dość duży, i które korzystają z drobniejszych procesów grawerowania, które mogą prowadzić do wyższych wskaźników defektów. W tych procesorach całe rdzenie mogą być wyłączone (które są raczej dużymi blokami logicznymi, zawierającymi znacznie więcej niż ALU), gdy są uszkodzone. Procesor jest następnie sprzedawany jako model niższej klasy.
Źródło: /skeptics/15704/are-low-spec-computer-parts-just-faulty-high-spec-computer-parts
źródło
Z pewnością nie mogę na pewno odpowiedzieć na twoje pytanie. Wyłączanie jednostek mniejszych niż 1 rdzeń nie ma większego sensu, ponieważ staje się on bardzo szczegółowym „zestawem funkcji”, który można włączyć lub nie, a iloczyn kartezjański wszystkich możliwych funkcji stworzyłby niezliczoną liczbę możliwych modeli procesorów. Istnieje już wiele modeli procesorów, dzięki czemu ich 10-100 razy więcej na pewno nie pomoże!
Innym aspektem jest to, że miliardy tranzystorów są wykorzystywane (w przeważającej części) do tworzenia pamięci podręcznych, a w przypadku wadliwych tranzystorów producenci zdecydowanie sprzedają procesory z wyłączonymi częściami pamięci podręcznej na urządzeniu (np. Patrz AMD Thorton vs AMD Barton).
Ale mogę powiedzieć ci anegdotę, którą usłyszałem od osoby, której ufam. Dawno temu byłem ciekawskim overclockerem. W moich czasach budżetowym procesorem z możliwością podkręcania był AMD Athlon Thoroughbred:
Podczas montażu niestandardowych rozwiązań chłodzących należy zachować szczególną ostrożność podczas zakładania radiatora, ponieważ naciska on bezpośrednio na matrycę. Jeśli zastosujesz nierównomierny nacisk, matryce były znane z łatwego pękania w rogach, jeśli najpierw zastosujesz siłę w jednym rogu.
Ta osoba zrobiła dokładnie to samo, znaczna część jednego rogu zniknęła, ale procesor cudownie działał dobrze, choć przy znacznie zmniejszonej wydajności pamięci. Narożnik zawierał tylko pamięć podręczną L2, więc po zniknięciu tej części protokół buforowania działał w jakiś sposób wokół bardzo wadliwej kości. Prawdopodobnie zgłaszał brak pamięci podręcznej dla wszystkich zapytań w tej części, więc procesor został zredukowany do samej pamięci podręcznej L1 (lub tylko części L2), więc był znacznie wolniejszy w większości testów, ale miał praktycznie taką samą wydajność w ciasnych pętlach.
Z tego samego punktu widzenia można stwierdzić, że jeśli ALU jest wadliwe i może w jakiś sposób zasygnalizować, że odrzucił pracę, procesor może być zdolny do powrotu na inne ALU. Czy jest to robione przez producentów procesorów, nie jest znane (i wątpię w to), ale przykład z pamięci podręcznej (sprzed 15 lat) pokazuje, że jest to wykonalne.
źródło