Co to jest asembler?

ENIAC był pierwszym elektronicznym komputerem ogólnego przeznaczenia. Zbudowano go na Uniwersytecie Pensylwanii i ukończono w 1945 roku. Snyder była jedną z sześciu kobiet, które programowały go ręcznie.
Zanim powstały maszyny takie jak ENIAC, słowo komputer oznaczało osobę, która wykonywała obliczenia ręcznie, a sześć kobiet, które programowały ENIAC, zostało zatrudnionych właśnie do tej pracy. Aby zaprogramować maszynę, przepinały jej połączenia: podłączały kable i ustawiały przełączniki za każdym razem, gdy problem się zmieniał. To przepinanie jest historycznym powodem istnienia języka asemblera. W ciągu kilku lat inżynierowie w Europie i Ameryce zaczęli zastępować przewody i ustawienia przełączników krótkimi zapisanymi kodami oznaczającymi instrukcje, dzięki czemu można było odczytać i zmienić program bez dotykania złącza.
Po pierwsze, CPU (jednostka centralna) to układ znajdujący się w centrum twojego komputera, który wykonuje jedno zadanie: realizuje długą listę małych poleceń zwanych instrukcjami, jedno po drugim, miliardy na sekundę. Każda instrukcja jest sama w sobie łatwa, na przykład dodanie dwóch liczb, przeniesienie wartości lub skok w inne miejsce.
Asembler to forma instrukcji wykonywanych przez CPU, którą człowiek może odczytać. Każda linia to (prawie) jedna instrukcja maszynowa. Nie ma pętli, obiektów ani łańcuchów znaków. Przenosisz liczby między rejestrami, małymi miejscami przechowywania wewnątrz procesora, a pamięcią.

EDSAC uruchamiał Initial Orders Davida Wheelera, jeden z pierwszych programów, które tłumaczyły zapisane instrukcje na kod maszynowy.
Każdy procesor potrzebuje programu, który odczytuje zapisane instrukcje i tworzy surowe bity wykonywane przez sprzęt: asemblera. Asembler na tej stronie jest przeznaczony dla jednego zestawu instrukcji.
Ten symulator używa RISC-V, nowoczesnego zestawu instrukcji stosowanego w prawdziwych układach i nauczanego na uniwersytetach. To, czego się tu nauczysz, ma bezpośrednie zastosowanie w sprzęcie.

RISC-V to otwarta architektura zestawu instrukcji. Każdy może zaimplementować jej opublikowaną specyfikację w sprzęcie, bez opłat i pozwoleń.
Każdy projekt zestawu instrukcji musi zdecydować, ile pracy wykonuje pojedyncza instrukcja. Układy CISC (Complex Instruction Set Computer), w tym architektura x86 obecna w większości komputerów stacjonarnych i laptopów, wkładają dużą ilość pracy w każdą instrukcję. Jedna instrukcja może odczytać wartość z pamięci, wykonać na niej działanie arytmetyczne i zapisać wynik z powrotem, wszystko w jednym kroku. RISC-V podąża za projektem argumentowanym przez Patterson & Ditzel, 1980: każda instrukcja wykonuje jedną prostą operację, a każde złożone zachowanie powstaje przez łączenie wielu takich instrukcji.
RISC oznacza Reduced Instruction Set Computer. Sprzęt jest zbudowany tak, aby z dużą szybkością wykonywać niewielką grupę prostych instrukcji. Złożone zachowanie powstaje przez łączenie tych prostych, szybkich kroków.
Asembler Kathleen Booth dla ARC (Booth, 1947) oraz Initial Orders Davida Wheelera dla EDSAC (Wilkes, Wheeler & Gill, 1951) należą do najwcześniejszych działających asemblerów, a historycy wciąż spierają się, który powstał pierwszy. RISC-V, zestaw instrukcji, na którym działa ten symulator, definiuje niewielką, otwartą listę instrukcji, którą każdy może zaimplementować (Asanović & Patterson, 2014). Każda lekcja od tego miejsca uczy bezpośrednio tego zestawu instrukcji.
Odwołania
- [1]IEEE Computer Society. Women of ENIAC.
- [2]Booth, K. General Considerations in the Design of an All Purpose Electronic Digital Computer. 1947.
- [3]Wilkes, M. V., Wheeler, D. J., Gill, S. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley, 1951.
- [4]Patterson, D. A., Ditzel, D. R. The Case for the Reduced Instruction Set Computer. ACM SIGARCH Computer Architecture News, 1980.
- [5]Asanović, K., Patterson, D. A. Instruction Sets Should Be Free: The Case For RISC-V. UCB/EECS-2014-146, 2014.
- [6]Glen Beck and Betty Snyder program the ENIAC, building 328, Ballistic Research Laboratory. U.S. Army photo, public domain.
- [7]Maurice Wilkes examining a mercury delay line during the construction of EDSAC. Computer Laboratory, University of Cambridge, CC BY 2.0.
- [8]Yunsup Lee holding a RISC-V prototype chip, 2013. CC0.
