Błędy w procesorach pozostają tajemnicą

Błędy w procesorach pozostają tajemnicą04.02.2010 15:07
Źródło zdjęć: © Jupiterimages

Elementy konstrukcyjne układów półprzewodnikowych, które składają się z setek tysięcy lub milionów tranzystorów, nigdy nie działają tak, jak przewidzieli ich twórcy. Od słynnego błędu FDIV w procesorze Pentium w 1995 roku Intel publikuje dość obszerne aktualizacje specyfikacji (Specification Updates) zawierające wykazy błędów w układach. Również AMD zdradza informacje na temat usterek w CPU nie tylko wybranym inżynierom, ale także publicznie w formie tzw. Revision Guides.

Wiele błędów w produkowanych ostatnio wersjach procesorów pojawia się tylko w określonych warunkach lub też można ich uniknąć dzięki tzw. aktualizacjom mikrokodu albo obejściom w BIOS-ie, firmwarze, systemie operacyjnym lub oprogramowaniu. Listy błędów są zatem interesujące przede wszystkim dla twórców systemów operacyjnych, kompilatorów, firmware'u czy też BIOS-u, a także dla programistów aplikacji niskiego poziomu. Większość laików z uwagi na brak wiedzy na temat (skompilowanego) kodu oprogramowania, które działa na ich systemach, nie jest w stanie ocenić wagi błędów w CPU.

Mimo publikowania dokumentów z wykazami licznych błędów w procesorach, AMD i Intel nie przestają prowadzić dość ostrych dyskusji na temat niezawodności, bezpieczeństwa i zaufania do ich produktów. Wielu innych producentów procesorów unika tego rodzaju krytyki, udostępniając wykazy błędów jedynie niewielkiemu kręgowi klientów i programistów, a także zawierając umowy o dotrzymaniu tajemnicy, które skutecznie blokują przedostawanie się takich informacji do wiadomości publicznej.

Źródło zdjęć: © (fot. Jupiterimages)
Źródło zdjęć: © (fot. Jupiterimages)

Wprawdzie nie wiadomo, jak szybko dokumentowane są ewentualne błędy w procesorach x86 AMD i Intela, a także czy publikowane wykazy są pełne, to jednak w przypadku wielu szeroko rozpowszechnionych procesorów brakuje jakiejkolwiek publicznej dokumentacji błędów. Często nie ma też nawet danych technicznych z podstawowymi informacjami na temat napięcia roboczego, poboru mocy, częstotliwości taktowania, limitów temperatur czy wersji produktu. Tym samym producenci unikają nie tylko dyskusji na temat układów, ale także prawnych zobowiązań do dostarczania towaru o określonych właściwościach. Z drugiej strony trzeba zauważyć, że np. procesory przeznaczone dla urządzeń osadzonych (typu embedded) często są wytwarzane w wersjach dostosowanych do potrzeb konkretnych klientów, w związku z czym jedynie producent gotowego urządzenia jest w stanie dostarczyć pełną dokumentację. Jako przykłady publikowania "dziurawych”.
dokumentacji technicznych mogą posłużyć specyfikacje układów graficznych (GPU) AMD i Nvidii, a także procesorów x86 firmy VIA Technologies i układów Vortex86. To samo dotyczy niektórych (ale nie wszystkich) procesorów serwerowych IBM i Suna, a także wielu procesorów embedded, w tym licznych układów typu SoC (System-on-Chip) z rdzeniami ARM lub MIPS. Nawet jeśli wydawana jest obszerna dokumentacja – jak to jest w przypadku wspomnianych rdzeni ARM lub MIPS oraz Freescale, NXP czy Texas Instruments (TI), to klienci końcowi nie są w stanie stwierdzić, czy dotyczy ona rdzeni wbudowanych w ich urządzenia końcowe. Wiele błędów występuje tylko w określonych wersjach chipów (steppingach), które w procesorach x86 są dość łatwe do rozszyfrowania, ale np. w przypadku układów osadzonych już nie. Szósty na świecie producent półprzewodników – Qualcomm, którego układy typu SoC z rdzeniami ARM są stosowane w licznych modelach smartfonów, nie dzieli się prawie w ogóle szczegółowymi informacjami. Dla układów Snapdragon z
kompatybilnymi z ARMv7 (Cortex A8/9), ale opracowanymi samodzielnie rdzeniami Scorpion nie ma nawet podstawowych specyfikacji technicznych. Z kolei Marvell umożliwia zarejestrowanym programistom dostęp do tzw. ekstranetu, ale wymaga przy tym podpisania umowy o zachowaniu poufności (non-disclosure agreement). Wykazów błędów dotyczących układów SoC z rdzeniami ARM nie publikuje też Samsung.

Ponieważ wiele rdzeni procesorów osadzonych wykazuje znacznie prostszą budowę od współczesnych rdzeni x86, a przy identycznej wielkości struktury produkcyjnej zajmują jedynie ułamek powierzchni tych ostatnich, błędy w ich jednostkach obliczeniowych powinny występować znacznie rzadziej. Z drugiej strony, dokupowane jako bloki funkcjonalne rdzenie są modyfikowane przez różnych producentów i wytwarzane w różnych procesach produkcyjnych. Wygląda na to, że producenci kompletnych układów typu SoC nie mogą ze swojej strony publikować poufnych informacji na temat wykorzystywanych rdzeni IP. Przykładowo, w wykazie błędów w chipach OMAP3 (.pdf) ich producent TI informuje, że usterki rdzenia graficznego PowerVR SGX mogą być dokumentowane wyłącznie przez jego producenta –. Imagination Technologies: "SGX is considered as a black box for most users; therefore, no detailed information about SGX bugs is provided in this document". W tym samym dokumencie TI
(podobnie jak Freescale) wskazuje też na komunikat "Cortex-A8 (AT400/AT401) Errata Notice”, który najwyraźniej nie został jeszcze upubliczniony przez ARM. Poza tym TI samodzielnie ujawnia informacje o kilku błędach w rdzeniu Cortex A8.

Choć wiele spośród błędów w procesorach wywołują "jedynie” awarie programów lub usterki w działaniu funkcji, niektóre z nich są określane jako krytyczne pod względem bezpieczeństwa, ponieważ umożliwiają szkodliwemu kodowi dostęp do danych innych działających aplikacji, które rezydują np. w pamięci RAM lub podręcznej (cache). Nie wiadomo jednak, na ile tego rodzaju teoretycznie możliwe ataki mogą być istotne w porównaniu ze znacznie łatwiejszymi atakami przeprowadzanymi za pomocą trojanów, stron wykorzystujących phishing czy też szkodliwych programów. Tak więc różnorodność wielu implementacji rdzeni ARM, które w dodatku pracują pod kontrolą różnych systemów operacyjnych, zmniejsza ich atrakcyjność z punktu widzenia programistów malware'u. Może się to jednak zmienić, jeśli sporą popularność zdobędą poszczególne i w dalekim stopniu identyczne platformy. W tym kontekście należy pamiętać, że rocznie sprzedawanych jest około czterokrotnie więcej telefonów komórkowych i smartfonów, niż pecetów.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.