Czy nowoczesne procesory mają nadmiarowość w jednostkach logicznych w celu kompensacji błędów produkcyjnych?

10

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.

Jusaca
źródło
Tylko zgaduję. Cena produkcji płytek krzemowych jest stosunkowo niska w przypadku dużych ilości i można ją przetestować przed obudową w obudowie, dzięki czemu można produkować kompletne układy o stosunkowo niskim wskaźniku awaryjności. > 50% ceny to czysty marketing. Myślę też, że wiele odmian procesorów w tej samej rodzinie jest wykonanych na tej samej topologii i różnią się tylko niektórymi wyłączonymi funkcjami / rdzeniami / pamięciami podręcznymi (jak pisałeś), więc producent ma dużą lukę w utrzymaniu niskiego wskaźnika awarii produkcji nawet przy uszkodzone jednostki. Wątpię jednak, czy mają, powiedzmy, kilka zarezerwowanych ALU dla tego samego rdzenia.
cyclone125 11.03.19
Myślę, że najbardziej znanym przykładem tego był Intel 486SX, który był tą samą matrycą co DX z wyłączonym FPU. Ale chciałbym usłyszeć, jaki jest współczesny tego stan.
pjc50,
Wątpię w to. Ilość logiki i czasu projektowania potrzebnego do zapewnienia nadmiarowości niskiego poziomu z prędkością współczesnych procesorów nie byłaby tego warta. Nadmiarowość na poziomie bloków (rdzeń, procesor, pamięć podręczna) lub po prostu blokowanie bloków byłoby znacznie więcej niż wystarczające, aby znacznie zwiększyć wydajność. A przy obecnych cenach procesorów i rozmiarach płytek nawet rentowność 5% może być opłacalna.
Edgar Brown
Więc myślisz, że gdy ALU nie jest użyteczne, po prostu wyłączają rdzeń. Tak, może być taka możliwość. Miałem nadzieję, że ktoś tu naprawdę wie.
jusaca
1
Tak, wyłączają rdzeń. Jest to praktyka zwana „binowaniem”.
DKNguyen

Odpowiedzi:

3

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

StainlessSteelRat
źródło
To naprawdę ma sens, nie myślałem o wpływie na wydajność, jaki mogą mieć wolne obszary krzemu w jednym rdzeniu. Wydaje się, że można wyłączyć całe rdzenie, ponieważ sugerują to także inne odpowiedzi.
jusaca
5

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.

Oldfart
źródło
Czy uważasz, że te bity OTP są programowane elektronicznie, jak spalanie bezpiecznika lub coś takiego, czy też duzi producenci muszą iść bezpośrednio na matrycę za pomocą przycinania laserowego?
jusaca
1
OTP to wbudowane bezpieczniki, które można programować elektronicznie (podobnie jak EEPROM, ale potem na stałe) Użytkownicy końcowi mogą również nagrywać je w celu uzyskania numerów seryjnych, adresu Ethernet, kluczy szyfrowania itp.
Oldfart
4

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

ciemny
źródło
3

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:

Rasowy Athlon

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.

anrieff
źródło
Jest to z pewnością bardzo imponujące, a nawet wydaje się być procesem dynamicznym, ponieważ system sam wykrył wadliwą część układu. Zadając pytanie, miałem większą uwagę na system testowy na linii produkcyjnej. Ale ta historia jest zdecydowanie interesująca;)
jusaca