Filozofia inżynierii: Sophie Wilson

Najważniejsze wnioski
- Zaprojektowała listę rozkazów obecną w niemal każdym telefonie na Ziemi. Sophie Wilson opracowała listę rozkazów pierwotnego ARM — Acorn RISC Machine — w firmie Acorn Computers, zaczynając w październiku 1983 roku, podczas gdy Steve Furber budował sprzęt. Architektura, która wyrosła z tej pracy, trafiła do ponad 230 miliardów układów — to wielokrotnie więcej rdzeni ARM niż ludzi na świecie — i napędza przytłaczającą większość smartfonów na całym świecie.12
- Bezwzględna prostota sprawiła, że niski pobór mocy stał się niemal przypadkiem. Pierwszy ARM, ARM1, wykorzystywał mniej niż 25 000 tranzystorów — ułamek tego, co stosowano współcześnie — a mimo to wyprzedzał maszyny wielokrotnie od siebie większe. Ponieważ przełączała się tak niewielka liczba tranzystorów, pobierał około jednej dziesiątej wata, czyli mniej więcej jedną dwudziestą tego, czego potrzebował Intel 386. Minimalistyczny projekt wybrano ze względu na szybkość i na ograniczenia maleńkiego zespołu; niski pobór mocy, który później podbił rynek urządzeń mobilnych, wyniknął z tego niemal przypadkiem.34
- Dwuosobowy projekt, który pokonał gigantów. Wilson i Furber zaprojektowali konkurencyjny 32-bitowy procesor zespołem, który dało się policzyć na palcach jednej ręki — po tym, jak zobaczyli pojedynczego inżyniera u producenta układu 6502 pracującego nad kolejnym CPU i doszli do wniosku, że do zbudowania procesora nie potrzeba armii. Wilson zamodelowała całą listę rozkazów w 808 wierszach BBC BASIC, zanim powstał jakikolwiek krzem.45
- Najpierw zbudowała informatyczną piśmienność Wielkiej Brytanii. Przed ARM Wilson współprojektowała BBC Micro — którego prototyp powstał w niespełna tydzień — i napisała BBC BASIC, język, który nauczył programowania całe pokolenie brytyjskich uczniów. (Jej wczesne prace dla Acorn i BBC były pierwotnie podpisane nazwiskiem Roger Wilson; tranzycję przeszła w 1994 roku.)16
Zasada
„Nieświadomość tego, że coś jest niemożliwe, ciekawie wpływa na twoją pracę.” — Sophie Wilson6
Projektowanie procesorów to w większości dodawanie. Zaczyna się od działającej maszyny i dokłada do niej funkcje — nowe rozkazy, nowe tryby, nowe przypadki szczególne — bo każda z nich gdzieś jakiemuś programowi pomaga, a krzem wciąż tanieje, więc czemu by nie. Efektem jest lista rozkazów, która przez dekady nawarstwia złożoność, gdzie każdy dodatek spowalnia dekoder, powiększa sprzęt i utrudnia kolejny dodatek. Instynkt Wilson, wyostrzony przez badania nad RISC z Berkeley oraz przez brutalne praktyczne ograniczenia, prowadził w przeciwną stronę. Zaczyna się od tego, co maszyna musi robić, i usuwa wszystko, co nie jest nośne, aż to, co zostaje, jest na tyle małe, by było szybkie, na tyle proste, by było poprawne, i na tyle tanie, by maleńki zespół naprawdę mógł je zbudować.4
Ograniczenia nie były teoretyczne. Acorn był niewielką brytyjską firmą, a zespół ARM liczył w praktyce dwie osoby. Nie mogli sobie pozwolić na budżety tranzystorowe ani armie testerów, które na ten problem rzucały Intel i Motorola. Prostota nie była więc preferencją stylistyczną — była jedynym sposobem, w jaki ten układ mógł w ogóle zaistnieć. Wilson zaprojektowała listę rozkazów, w której niemal każda operacja kończyła się w jednym cyklu, w której dekoder pozostawał trywialny i w której całość mieściła się w mniej niż 25 000 tranzystorów w czasach, gdy porównywalny procesor używał od pięciu do dziesięciu razy więcej.3 Niedostatek wymusił elegancję.
A potem ta elegancja wypłaciła dywidendę, której nikt nie zaprojektował. Układ, w którym przełącza się tak niewiele tranzystorów, pobiera niemal zerowy prąd — pierwotny ARM działał na około jednej dziesiątej wata, podczas gdy ówczesny Intel 386 potrzebował blisko dwóch.3 W tamtych czasach, w koprocesorze do komputera stacjonarnego, niski pobór mocy był ciekawostką. Dekadę później, gdy pojawiło się pytanie, jak zmieścić prawdziwy komputer w telefonie zasilanym baterią, ta ciekawostka okazała się najcenniejszą cechą, jaką procesor mógł posiadać. Sprowadź projekt do jego istoty, a wydajność, którą dostajesz za darmo, może stać się tym, co decyduje o zwycięstwie.
Kontekst
Sophie Wilson urodziła się w czerwcu 1957 roku w Leeds, uczęszczała do Harrogate Grammar School, po czym trafiła do Selwyn College w Cambridge, gdzie przez pierwsze dwa lata studiowała matematykę, zanim przeszła na informatykę.1 Jeszcze przed studiami projektowała już systemy elektroniczne dla przemysłu, a podczas wakacji w 1977 roku zbudowała sterownik oparty na mikroprocesorze — karmnik dla krów, ze wszystkich możliwych rzeczy — wokół układu MOS Technology 6502. Ta praca przywiodła ją do Acorn Computers w Cambridge, firmy stojącej w centrum brytyjskiego boomu mikrokomputerowego.1
W Acorn po raz pierwszy zaznaczyła swój ślad przy BBC Micro. W 1981 roku BBC, prowadząc ogólnokrajowy projekt informatycznej piśmienności, potrzebowało maszyny; Acorn wygrał kontrakt, a Wilson odegrała kluczową rolę w projekcie — prototyp, według jej relacji, powstał w niespełna tydzień.16 Następnie napisała BBC BASIC, interpreter wbudowany w pamięć ROM maszyny, wraz z ręcznie napisanymi procedurami zmiennoprzecinkowymi. Sprzedano ponad milion BBC Micro, w większości do brytyjskich szkół, a BBC BASIC stał się pierwszym językiem programowania, jaki w życiu poznało całe pokolenie brytyjskich inżynierów.16 (Prace Wilson dla Acorn i BBC były pierwotnie publikowane pod nazwiskiem Roger Wilson; tranzycję przeszła w 1994 roku.)1
Przełomowy rozdział zaczął się w październiku 1983 roku, gdy Wilson rozpoczęła projektowanie listy rozkazów dla własnego procesora Acorn: Acorn RISC Machine, czyli ARM. Steve Furber kierował architekturą sprzętową — trójstopniowym potokiem i przesuwnikiem baryłkowym — podczas gdy Wilson definiowała, co maszyna potrafi, i udowodniła, że to zadziała, symulując całą listę rozkazów w 808 wierszach BBC BASIC.5 Pierwszy krzem, ARM1, przybył z VLSI Technology 26 kwietnia 1985 roku i zadziałał za pierwszym razem — wynik niemal niespotykany w przypadku zupełnie nowego procesora.13 Najsłynniejszy szczegół pojawił się chwilę później: układ pobierał tak mało mocy, że gdy po raz pierwszy podłączono go do systemu deweloperskiego, ożył, czerpiąc prąd przez linie wejścia/wyjścia zanim jego własne zasilanie zostało prawidłowo podłączone. Zespół zbudował coś tak oszczędnego, że działało na czymś, co sprowadzało się do prądów upływu.5 Wilson pozostała blisko ARM jako konsultantka po wydzieleniu firmy, a od 2001 roku została główną architektką procesora FirePath w Element 14 — później przejętym przez Broadcom — rdzenia do przetwarzania sygnałów wykorzystywanego w modemach szerokopasmowych ADSL.1 W 2013 roku została wybrana na członkinię Royal Society, w 2019 roku odznaczono ją orderem CBE, a w 2022 roku podzieliła się Nagrodą Charlesa Starka Drapera z Davidem Pattersonem, Johnem Hennessym i Steve’em Furberem.1
Praca
Lista rozkazów ARM: robić więcej prostszym, mniejszym sprzętem
Zacznijmy od listy rozkazów, bo to tam zasada Wilson staje się krzemem. Lista rozkazów procesora to jego kontrakt z oprogramowaniem — pełny wykaz operacji, które potrafi wykonać. Pokusą, której uległy dominujące projekty z początku lat 80., jest uczynienie tego wykazu bogatym: złożone rozkazy wykonujące dużo pracy każdy, tryby adresowania na każdą okazję, mikrokod, który to wszystko interpretuje. Filozofia ograniczonej listy rozkazów (Reduced Instruction Set), którą przyjęła Wilson, postawiła na coś przeciwnego — że mały, regularny zbiór prostych rozkazów, z których każdy kończy się w jednym takcie zegara, będzie ogólnie działał szybciej i wymagał znacznie mniej sprzętu do dekodowania.4
Wilson posunęła jeden pomysł poza podręcznikowy konsensus RISC, i jest to najsprytniejsza rzecz w całej architekturze: wykonywanie warunkowe niemal każdego rozkazu. W konwencjonalnym procesorze wybór między dwoma działaniami oznacza porównanie, po którym następuje skok — przejście do jednego lub drugiego miejsca w kodzie. Skoki są kosztowne, ponieważ potokowy procesor zdążył już zacząć pobierać i dekodować rozkazy znajdujące się za skokiem; gdy skok zostaje wykonany, ta spekulatywna praca idzie na marne, a potok zatrzymuje się na czas ponownego napełnienia. ARM autorstwa Wilson pozwala, by niemal każdy rozkaz niósł własny czterobitowy kod warunku, więc rozkaz po prostu nic nie robi, jeśli jego warunek jest fałszywy. Krótkie fragmenty logiki warunkowej, które w innym przypadku wymagałyby skoków, stają się kodem liniowym, pozbawionym rozgałęzień. Potok nigdy się nie zatrzymuje, a sprzęt potrzebny do obsługi tego rozwiązania jest niemal darmowy — cztery bity na rozkaz i odrobina układów porównujących.24
To cała filozofia w jednej funkcji. Wykonywanie warunkowe usuwa skoki — wąskie gardło — nie przez dodanie sprytnego predyktora rozgałęzień z własną stertą tranzystorów, lecz przez uczynienie istniejących rozkazów odrobinę bardziej wyrazistymi niemal bez żadnego kosztu. Więcej możliwości z prostszego, mniejszego sprzętu. Wilson zweryfikowała w ten sposób cały projekt, zanim oddała go w krzem, pisząc symulator w 808 wierszach BBC BASIC i sprawdzając, że prawdziwe programy kompilują się i działają wydajnie na wyobrażonej maszynie.45 Dyscyplinę widać w efekcie: mniej niż 25 000 tranzystorów i krzem, który zadziałał za pierwszym razem, gdy wrócił z fabryki.3
BBC BASIC i BBC Micro
Zanim powstała jakakolwiek praca nad ARM, Wilson zbudowała maszynę i język, które uczyniły brytyjską informatykę piśmienną. Gdy na początku lat 80. BBC uruchomiło swój Computer Literacy Project, potrzebowało referencyjnego mikrokomputera, a oferta Acorn — prototyp, który Wilson pomogła złożyć w niespełna tydzień — stała się BBC Micro, wydanym w 1981 roku.16 Był solidny, rozszerzalny i dostrojony do nauczania, a sprzedano go w ponad milionie egzemplarzy, w większości do brytyjskich szkół.6
Duszą maszyny było oprogramowanie, a to należało do Wilson. Napisała BBC BASIC, interpreter wypalony w pamięci ROM maszyny, łącznie z procedurami arytmetyki zmiennoprzecinkowej tworzonymi ręcznie. BBC BASIC był niezwykle wydajny jak na język komputera domowego — strukturalny, szybki, z wbudowanym asemblerem, który pozwalał ciekawym uczniom zejść prosto z BASIC-a do kodu maszynowego 6502. Dla pokolenia brytyjskich inżynierów był to pierwszy język, jaki w życiu napisali, i pomost od wpisywania poleceń do zrozumienia procesora pod spodem.16 Ten sam instynkt — zamodelować maszynę w oprogramowaniu, zrozumieć ją od poziomu rozkazu w górę — to dokładnie to, czego Wilson użyła później do zaprojektowania ARM: prototypowała listę rozkazów procesora w tym samym języku, który napisała dla poprzedniego.5
Jak niski pobór mocy dzięki prostocie podbił urządzenia mobilne
Tu właśnie przypadek staje się historią. ARM1 powstał z myślą o szybkim koprocesorze do komputera stacjonarnego, a jego maleńką liczbę tranzystorów wybrano ze względu na szybkość i na ograniczenia dwuosobowego zespołu. Niski pobór mocy — około jednej dziesiątej wata, wobec blisko dwóch watów ówczesnego Intela 386 — był efektem ubocznym tego, że przełączało się tak niewiele krzemu.3 Na zasilanym z sieci komputerze stacjonarnym w 1985 roku ta oszczędność była przypisem.5
Potem świat zmienił kształt. W latach 90. ciekawym pytaniem nie było już „jak szybko na biurku”, lecz „ile mocy obliczeniowej zmieścisz w baterii”. A w tym pytaniu najważniejszą cechą była wydajność na wat — i ARM, niemal jako jedyny, był oszczędny od narodzin. Acorn wydzielił projekt do osobnej firmy, ARM Ltd, w 1990 roku, z modelem biznesowym opartym na licencjonowaniu architektury, a nie sprzedaży układów.1 Licencjobiorcy mogli umieścić mały, chłodny, wydajny rdzeń w telefonie, odtwarzaczu muzyki, routerze — wszędzie tam, gdzie żywotność baterii lub ciepło były ścianą. Architektura, którą Wilson sprowadziła do mniej niż 25 000 tranzystorów, stała się domyślnym procesorem ery mobilnej, a dotąd dostarczono ponad 230 miliardów układów opartych na ARM.2 Tym, co zwyciężyło, nie była surowa szybkość. Była to wydajność, którą bezwzględna prostota oddała za darmo, dekadę przed tym, nim ktokolwiek wiedział, że będzie jej potrzebował.
FirePath, Broadcom i drugi akt w przetwarzaniu sygnałów
Wilson nie zatrzymała się na ARM. Po wydzieleniu architektury, gdy pozostała konsultantką, została główną architektką FirePath w Element 14 — firmie, która wyrosła z Acorn i została przejęta przez Broadcom w 2000 roku. FirePath był rdzeniem cyfrowego procesora sygnałowego do szerokopasmowego ADSL, technologii, która przesyłała szybki internet zwykłymi miedzianymi liniami telefonicznymi.1 Praca nad DSP to inna dyscyplina niż projektowanie procesorów ogólnego przeznaczenia: obciążeniem są nieustanne strumienie obliczeń arytmetycznych, a architekturę trzeba ukształtować wokół przepustowości dla tego konkretnego problemu. To, że Wilson wykonała znaczącą pracę zarówno nad listą rozkazów ogólnego przeznaczenia, jak i nad wyspecjalizowanym procesorem sygnałowym, świadczy o tym, że leżąca u podstaw umiejętność nie jest żadną pojedynczą sztuczką, lecz nawykiem pytania, czego obciążenie naprawdę wymaga, i budowania niczego więcej.1
Metoda
Spójrz wszerz na BBC BASIC, listę rozkazów ARM i FirePath, a powracają te same ruchy. Metoda Wilson jest mniej hasłem niż zestawem trwałych zobowiązań.
Usuwaj, aż zostaną tylko części nośne. Cechą definiującą jest odejmowanie. ARM zbudowano, odbierając części — rozkazy, tryby, mikrokod — aż to, co zostało, było na tyle małe, by było szybkie, i na tyle proste, by maleńki zespół zrobił to dobrze za pierwszym razem. Ogólna lekcja przenosi się daleko poza krzem: najmocniejszy projekt to zwykle ten, który ma w sobie najmniej, a dyscypliną jest cięcie tak długo, aż usunięcie jeszcze jednej rzeczy go zepsuje. To minimalny godny produkt na poziomie listy rozkazów — dostarcz najmniejszą rzecz, która naprawdę spełnia swoje zadanie.4
Pozwól, by niedostatek wymusił elegancję, zamiast go żałować. Wilson nie miała budżetu tranzystorowego ani armii testerów Intela i zamiast traktować to jako utrudnienie, pozwoliła, by to popchnęło architekturę ku czemuś czystszemu, niż prawdopodobnie zbudowałby dobrze finansowany zespół. Ograniczenia, potraktowane poważnie, są narzędziem projektowym. Przeciwny instynkt — „tranzystory są darmowe” Jima Kellera — zwycięża, gdy to krzem jest zasobem obfitym; instynkt Wilson zwycięża, gdy jest zasobem rzadkim, a wiedza o tym, w którym reżimie się znajdujesz, jest właściwą umiejętnością.34
Udowodnij to w oprogramowaniu, zanim oddasz w krzem. Wilson zamodelowała całą listę rozkazów ARM w 808 wierszach BBC BASIC i uruchomiła prawdziwe programy na symulacji, zanim położono choć jeden tranzystor. Kosztowny, nieodwracalny krok przyszedł na końcu; tania, szybka iteracja przyszła najpierw. To bramka dowodu zastosowana do sprzętu — nie wierzysz, że projekt działa, tylko uruchamiasz go i patrzysz.45
Dodawaj możliwości bez dodawania kosztu. Wykonywanie warunkowe to ruch firmowy: bardziej wyraziste rozkazy, które likwidują wąskie gardło skoków niemal bez dodatkowego sprzętu. Lekcja brzmi: szukaj zmiany, która kupuje ci dużo możliwości za odrobinę złożoności, a nie tej, która kupuje odrobinę możliwości za dużo — tej samej oszczędności środków, jaką John Carmack wyciskał z niemożliwej wydajności na ustalonym sprzęcie.24
Buduj rzecz, która uczy. Przed procesorem, który napędza światowe telefony, Wilson zbudowała język, który nauczył programowania dzieci całego kraju. BBC BASIC był celowo przystępny, a zarazem uczciwy wobec maszyny pod spodem — z BASIC-a można było zejść do asemblera. Uczynienie potężnej rzeczy zarazem rzeczą, której da się nauczyć, to rzadka i niedoceniana dyscyplina, którą dzielą projektanci języków pokroju Bjarne Stroustrupa, którym zależy, by narzędzia dało się nie tylko używać, ale i nauczyć.6
Łańcuch wpływów
Kto ją ukształtował
Badania nad RISC w Berkeley i Stanford. Idea ograniczonej listy rozkazów — że mały, regularny zbiór jednocyklowych rozkazów bije duży i złożony — wyrosła z akademickich projektów RISC z początku lat 80., a Wilson i Furber przyjęli ją świadomie dla ARM. Wzięli zasadę i posunęli ją poza podręcznik, dodając wykonywanie warunkowe, ale fundamentalny zakład, że prostsze jest szybsze, należał do środowiska badawczego. (Wpływ formujący)
MOS Technology 6502 i pojedynczy inżynier. Wilson nabrała wprawy na układzie 6502 — tanim, prostym procesorze we wczesnych maszynach Acorn i w BBC Micro. Gdy zespół Acorn odwiedził producenta układu i zobaczył, że nad jego kolejną wersją pracuje w gruncie rzeczy jedna osoba, lekcja zapadła w pamięć: zbudowanie CPU nie wymaga armii. To spostrzeżenie sprawiło, że dwuosobowy projekt ARM stał się możliwy do pomyślenia. (Wpływ bezpośredni)
Steve Furber. ARM był prawdziwym partnerstwem. Wilson definiowała listę rozkazów — to, co maszyna potrafi — podczas gdy Furber projektował sprzęt, który to wykonywał: potok i przesuwnik baryłkowy. Żadna z połówek nie jest układem; układem jest współpraca. Niemal cztery dekady później wspólnie otrzymali za to Nagrodę Drapera. (Wpływ bezpośredni)
Kogo ukształtowała
Każdy współczesny smartfon. Lista rozkazów, którą zaprojektowała Wilson, rozwijana przez czterdzieści lat, jest procesorem w przytłaczającej większości telefonów na świecie i w ogromnym zakresie urządzeń wbudowanych — ponad 230 miliardów układów. Niewielu inżynierów ukształtowało tak dużą część tego, co ludzie fizycznie trzymają w dłoniach każdego dnia. (Wpływ definiujący dziedzinę)
Apple Silicon i era wydajności na wat. Model licencyjny ARM i jego wydajność uczyniły go naturalnym fundamentem dla projektów o niskim poborze mocy i wysokiej wydajności — linii rodowej, która biegnie przez układy w każdym iPhonie i, w końcu, w Makach z Apple Silicon. Era informatyki mobilnej została zbudowana na oszczędności tej architektury.
Pokolenie brytyjskich inżynierów. Przez BBC BASIC i BBC Micro Wilson nauczyła programować cały kraj. Maszyna z Computer Literacy Project, z jej językiem w środku, była rampą wjazdową dla ogromnej części brytyjskich talentów programistycznych i sprzętowych.
Wątek przewodni
Wilson jest lustrzanym odbiciem drugiego wielkiego umysłu sprzętowego tej serii. Jim Keller sprawił, że jego układy wygrywały, wydając krzem na potęgę — szersze potoki, więcej jednostek wykonawczych, więcej tranzystorów, by zlikwidować każde wąskie gardło — w zakładzie, że krzem jest zasobem tanim i obfitym. Wilson sprawiła, że jej układ wygrał, wydając niemal nic: mniej niż 25 000 tranzystorów, ponieważ dla dwuosobowego zespołu w małej brytyjskiej firmie zasobami rzadkimi były krzem i wysiłek inżynierski, a nie darmowymi. Oboje mają rację, każde w swoim reżimie. I tu pojawia się zwrot akcji, wokół którego seria wciąż krąży — oszczędność Wilson, wybrana dla szybkości i z niedostatku, dała niski pobór mocy, który uczynił ARM procesorem ery mobilnej, a to imperium większe, niż surowa wydajność kiedykolwiek zbudowała. Tam gdzie John Carmack mówi: opanuj ustalony sprzęt, który ci dano, a Bjarne Stroustrup mówi: nie płać za to, czego nie używasz, Wilson mówi: usuwaj, aż nie zostanie prawie nic, a wydajność, którą dostajesz za darmo, może okazać się tym, co zwycięża. Keller wydaje, by wygrać; Wilson oszczędzała, by wygrać — a jej oszczędności trafiły do 230 miliardów układów. (Most serii)
Co z tego wynoszę
Lekcja, którą zachowuję od Wilson, brzmi: ograniczenia są narzędziem projektowym, nie usprawiedliwieniem. Łatwo odczytać historię ARM jako „spójrzcie, czego dokonali mimo braku zasobów” — ale to błędne odczytanie. Nie odnieśli sukcesu mimo ograniczeń; odnieśli go dzięki nim. Dwuosobowy zespół z maleńkim budżetem tranzystorowym nie może zbudować barokowego procesora, więc został zmuszony ku prostemu, jednocyklowemu projektowi, który okazał się szybszy i znacznie wydajniejszy niż dobrze finansowane alternatywy. Gdy przyłapuję się na życzeniu, by mieć więcej — więcej czasu, więcej mocy obliczeniowej, więcej miejsca — kariera Wilson przypomina mi, że ograniczenie być może popycha mnie ku lepszemu projektowi, jeśli tylko przestanę je żałować i pozwolę mu wykonać tę pracę.
Druga lekcja dotyczy wydajności, której wartości jeszcze nie widać. W 1985 roku niski pobór mocy ARM był niemal bezwartościowy — przypis przy koprocesorze do komputera stacjonarnego. Stał się najcenniejszą cechą w informatyce dekadę później, gdy świat zapragnął komputerów w kieszeniach. Wilson nie przewidziała smartfona; po prostu odmówiła wydawania tego, czego nie musiała wydać, a ta dyscyplina urosła w imperium. Wnioskiem nie jest „przewiduj przyszłość”. To rzecz pokorniejsza i trwalsza: nie marnuj zasobów nawet wtedy, gdy marnotrawstwo wydaje się nieszkodliwe, ponieważ oszczędność, która dziś wygląda na ciekawostkę, jutro może być fundamentem, na którym wszystko stoi. To jakość jest jedyną zmienną odczytane przez pryzmat powściągliwości — właściwy projekt, wykonany przy użyciu jak najmniejszego, dojrzewa w coś, czego nigdy nie dałoby się zaplanować.
FAQ
Co zaprojektowała Sophie Wilson?
Sophie Wilson zaprojektowała listę rozkazów pierwotnego procesora ARM — Acorn RISC Machine — w firmie Acorn Computers, zaczynając w październiku 1983 roku, podczas gdy Steve Furber budował sprzęt. Ta architektura trafia dziś do ponad 230 miliardów układów i napędza większość smartfonów na świecie. Przed ARM współprojektowała BBC Micro i napisała wbudowany w niego BBC BASIC. Później była główną architektką procesora DSP FirePath w Element 14, które przejął Broadcom.125
Ile tranzystorów wykorzystywał pierwszy procesor ARM?
Pierwszy ARM, ARM1, wykorzystywał mniej niż 25 000 tranzystorów — niewielki ułamek porównywalnych procesorów swoich czasów, które liczyły setki tysięcy. Ponieważ przełączało się tak mało krzemu, układ pobierał tylko około jednej dziesiątej wata, czyli mniej więcej jedną dwudziestą tego, czego potrzebował Intel 386. Ta minimalna liczba tranzystorów, wybrana ze względu na szybkość i na ograniczenia maleńkiego zespołu, jest źródłem niskiego poboru mocy i wydajności, które później uczyniły ARM dominującym w urządzeniach mobilnych.34
Czy to prawda, że pierwszy układ ARM działał bez podłączonego zasilania?
Tak, i jest to dobrze udokumentowane. Gdy pierwszy krzem ARM1 przybył z VLSI Technology 26 kwietnia 1985 roku, zadziałał za pierwszym razem, gdy go przetestowano — co samo w sobie jest rzadkim osiągnięciem. Co jeszcze bardziej uderzające, układ pobierał tak mało mocy, że gdy podłączono go do systemu deweloperskiego, ożył, czerpiąc prąd przez interfejs wejścia/wyjścia zanim jego własne zasilanie zdołano prawidłowo podłączyć. Projekt był tak oszczędny, że w praktyce działał na prądach upływu — to wczesny i przypadkowy znak wydajności, która miała zdefiniować ARM.35
Czym jest wykonywanie warunkowe w liście rozkazów ARM?
Wykonywanie warunkowe to jeden z firmowych wyborów projektowych Wilson: niemal każdy rozkaz ARM niesie czterobitowy kod warunku, więc wykonuje się tylko wtedy, gdy jego warunek jest prawdziwy, a w przeciwnym razie nie robi nic. W konwencjonalnym procesorze wybór między działaniami wymaga skoku, a wykonany skok może opróżnić potok rozkazów i zmarnować cykle. Dzięki wykonywaniu warunkowemu krótkie fragmenty logiki warunkowej stają się liniowym kodem bez rozgałęzień — więcej możliwości niemal bez dodatkowego sprzętu, co jest bezwzględną wydajnością leżącą u sedna ARM.24
Źródła
-
„Sophie Wilson”, Wikipedia. Urodzona w czerwcu 1957 roku w Leeds; Harrogate Grammar School; Selwyn College w Cambridge (matematyka, następnie informatyka). Odegrała kluczową rolę w projektowaniu BBC Micro (1981) i napisała interpreter BBC BASIC. Rozpoczęła projektowanie listy rozkazów ARM (Acorn RISC Machine) w październiku 1983 roku; ARM1 dostarczono 26 kwietnia 1985 roku i „zadziałał za pierwszym razem”. Później główna architektka procesora FirePath w Element 14, przejętym przez Broadcom. Pierwotnie publikowała swoje prace dla Acorn/BBC pod nazwiskiem Roger Wilson; tranzycję przeszła w 1994 roku. Wśród wyróżnień: członkini Royal Academy of Engineering (2009), Fellow Computer History Museum (2012), członkini Royal Society (2013), CBE (2019) oraz Nagroda Charlesa Starka Drapera (2022, wspólnie z Davidem Pattersonem, Johnem Hennessym i Steve’em Furberem). ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
„ARM architecture family”, Wikipedia. „Niemal każdy rozkaz ARM ma funkcję wykonywania warunkowego zwaną predykacją, zaimplementowaną za pomocą 4-bitowego selektora kodu warunku.” Lista rozkazów Acorn RISC Machine została opracowana przez Sophie Wilson, ze sprzętem autorstwa Steve’a Furbera w Acorn Computers; pierwsze próbki działały prawidłowo podczas pierwszego testu 26 kwietnia 1985 roku. „Przy ponad 230 miliardach wyprodukowanych układów ARM… ARM jest najszerzej stosowaną rodziną architektur list rozkazów.” ARM2 miał liczbę tranzystorów wynoszącą około 30 000. ↩↩↩↩↩↩
-
„ARM1 – Microarchitectures – Acorn”, WikiChip, oraz „DEVELOPMENT OF THE ARM CHIP AT ACORN”, University of Maryland (CMSC 411). ARM1, pierwszy procesor ARM, został zaprojektowany przez Sophie Wilson i Steve’a Furbera oraz wyprodukowany w VLSI Technology w procesie 3-mikrometrowym, dając działający krzem 26 kwietnia 1985 roku — działający za pierwszym razem, gdy go wyprodukowano. Wykorzystywał mniej niż 25 000 tranzystorów i osiągał mniej więcej 2- do 4-krotność wydajności DEC VAX-11/780. Ze względu na małą liczbę tranzystorów zużywał bardzo mało mocy — około jednej dziesiątej wata, w porównaniu z blisko 2 watami Intela 386. ↩↩↩↩↩↩↩↩↩
-
„Sophie Wilson: ARM And How Making Things Simpler Made Them Faster & More Efficient”, Hackaday (8 maja 2018), relacja z prelekcji Wilson. Wilson i Furber oparli ARM na koncepcji RISC z Berkeley, według której „gdyby CPU zbudowano tak, by wykonywał tylko bardzo mały zbiór rozkazów, mógłby działać szybciej i wydajniej”, i „obrali przeciwne podejście, usuwając części, aż mieli gołe minimum, które było potrzebne, tworząc układ prostszy i wymagający mniej mocy niż istniejące CPU”. O wielkości zespołu: odwiedzając producenta układu 6502, „uświadomili sobie, że jedna osoba pracuje nad kolejną wersją tego CPU”, co pokazało, że „nie potrzeba ogromnego zespołu, by zaprojektować CPU”. „Stworzyli symulator na BBC Micro, który przekonał innych w firmie, że to podejście jest warte zachodu.” Wspomina o wykonywaniu warunkowym rozkazów w ARM, które „pozbywa się wszystkich krótkich skoków”. Artykuł relacjonuje również, że gdy mierzono pobór mocy testowego procesora, multimetr nie zdołał wykryć przepływu prądu, ponieważ CPU działał na zasilaniu dostarczanym liniami sygnałowymi. ↩↩↩↩↩↩↩↩↩↩↩↩
-
„Happy birthday, ARM1. It is 35 years since Britain’s Acorn RISC Machine chip sipped power for the first time”, The Register (27 kwietnia 2020). Pierwsze mikroprocesory ARM przybyły z VLSI Technology, Inc. „O 13:00 26 kwietnia 1985 roku”, a „o 15:00 na ekranie wyświetliło się: »Hello World, I am ARM«”. Sophie Wilson „stworzyła symulację listy rozkazów 32-bitowego mikroprocesora w 808 wierszach BBC BASIC”, podczas gdy Steve Furber „skupił się na architekturze sprzętowej, która zawierała trójstopniowy potok i przesuwnik baryłkowy”. O anegdocie z prądem upływu: „pierwsze układy ARM1 wymagały tak mało mocy, że gdy pierwszy z fabryki podłączono do systemu deweloperskiego, by go przetestować, mikroprocesor natychmiast ożył, czerpiąc prąd z interfejsu IO — zanim jego własne zasilanie zdołano prawidłowo podłączyć”. Wczesne układy „przewyższały Intel 80286, pobierając mniej prądu”. ↩↩↩↩↩↩↩↩↩
-
„Sophie Wilson”, Computer History Museum (profil Fellow CHM z 2012 roku). Wilson współprojektowała BBC Microcomputer ze Steve’em Furberem (prototyp ukończony w niespełna tydzień), zaprojektowała system operacyjny BBC Micro i napisała interpreter BBC BASIC; w ciągu dekady sprzedano ponad milion BBC Micro, intensywnie wykorzystywanych w brytyjskich szkołach. Współprojektowała 32-bitową architekturę procesora ARM RISC (1985), używaną dziś w miliardach urządzeń. Profil odnotowuje jej cytat: „Nieświadomość tego, że coś jest niemożliwe, ciekawie wpływa na twoją pracę.” ↩↩↩↩↩↩↩↩