Powrót

Komputer na układach TTL, czyli znów wszystko na jedną kartę…

Artykuł przybliża bardzo ogólnie architekturę komputera. Można się z niego dowiedzieć o podstawowych blokach funkcjonalnych wchodzących w skład jego procesora, jak również o podstawowych informacjach dla programisty, które będą kontynuowane w kolejnych częściach cyklu.

Od czego by tu zacząć…

Pisząc kolejną część długo się zastanawiałem, od czego by zacząć, bo słowo „obszerność” na tym tle wypada troszkę blado, niestety. Hmm… Zacznę więc od procesora tego komputera, jakby na to nie spojrzeć, od najważniejszej jednostki, modułu w komputerze. Procesor, który jeszcze cały czas projektuję nazwałem KYRON – ma to związek z filmem fantastycznym Kosiarz umysłów, który w młodzieńczych latach bardzo mi się podobał. Rysunek 1 przedstawia bardzo, ale to bardzo uproszczony schemat blokowy.

Rysunek 1

Jest to 32-bitowy procesor z możliwością wykonywania 64-bitowych instrukcji SIMD oraz 80-bitowych instrukcji zmiennoprzecinkowych o rozszerzonej precyzji.

Skrócony opis podstawowych bloków funkcjonalnych procesora

Od razu zaznaczam, że poniższym tekście jest podana bardzo ogólna wiedza, mająca tylko stworzyć zarys zagadnień tutaj poruszanych. Wszystko będzie szczegółowo wyjaśniane w kolejnych odcinkach tego cyklu.

Rejestry ogólnego przeznaczenia 32BIT – są to rejestry przede wszystkim wykorzystywane przez 32-bitowe instrukcje stałoprzecinkowe. W ich skład wchodzi:

osiem rejestrów danych D0D7,

osiem rejestrów adresowych A0A7,

dwa rejestry stosu SPU, SPS,

cztery rejestry segmentowe CS, DS, SSES,

rejestr flag F – na razie, jako jedyny z tego zestawu jest ośmiobitowy.

ALU 32BIT – jest to jednostka wykonawcza dla instrukcji stałoprzecinkowych. Podstawowe jej funkcje to operacje logiczne i arytmetyczne. Posiada też funkcje specjalne wspomagające: instrukcje transferu danych, instrukcje wykonywane na bitach, instrukcje operujące na łańcuchach danych, instrukcje skoków, instrukcje operujące na rejestrze znaczników.

MUL – jest to jednostka sprzętowego mnożenia. Mnożarka ta ma organizację 64×64. Jest to propagacyjny macierzowy moduł mnożenia, operujący na liczbach bez znaku lub ze znakiem. Moduł ten wspomaga wszystkie rodzaje operacji – od operacji stałoprzecinkowych poprzez SIMD (możliwość pracy w trybie równoległym 4×16 oraz sumowanie wyników w tym trybie), a na FPU kończąc (mnożenie mantys 64 bitowych).

SHIFT – jest to jednostka służąca do sprzętowych przesunięć i rotacji bitów. Podobnie jak mnożarka jest to jednostka typowo kombinacyjna. Posiada wszystkie tryby operacji na bitach, stosowane we współczesnych procesorach. Podobnie jak poprzedni moduł – wspomaga wszystkie rodzaje operacji. Od operacji stałoprzecinkowych poprzez SIMD (możliwość równoległego przesuwania kilku rodzajów danych jednocześnie), a na FPU kończąc (normalizacja wyników, wspomaganie konwersji najróżniejszych formatów wartości liczb wejściowych i wyjściowych, wspomaganie operacji arytmetycznych i funkcji transcendentalnych).

DIV – jest to jednostka sprzętowego dzielenia wykorzystywana tylko i wyłącznie w operacjach stałoprzecinkowych. Również jest to propagacyjny moduł. Podobnie jak mnożarka operuje na liczbach bez znaku i ze znakiem. Wynikiem działania tego modułu jest iloraz oraz reszta z dzielenia.

Rejestry SIMD 64BIT – są to rejestry przede wszystkim wykorzystywane przez 64-bitowe instrukcje SIMD (wiele niezależnych strumieni danych na pojedynczym rozkazie). W ich skład wchodzi:

Osiem rejestrów danych MM0MM7

ALU 64BIT – jest to jednostka wykonawcza dla instrukcji SIMD. Podstawowe jej funkcje to operacje logiczne i arytmetyczne. Posiada też funkcje specjalne wspomagające: instrukcje transferu danych, instrukcje konwersji danych oraz instrukcje porównywania danych.

Rejestry FPU 80BIT – są to rejestry przede wszystkim wykorzystywane przez 80-bitowe instrukcje zmiennoprzecinkowe. W ich skład wchodzi:

osiem rejestrów danych ST0ST7,

rejestr Flag FPU RF – ośmiobitowy,

rejestr kontrolny RC – ośmiobitowy.

ALU 80BIT – jest to jednostka wykonawcza dla instrukcji zmiennoprzecinkowych, operująca na formacie rozszerzonej precyzji. Jest to najbardziej skomplikowany moduł wykonawczy w tym procesorze. Podstawowe jej funkcje to operacje arytmetyczne, ładowanie stałych, porównywania liczb, konwersji danych. Ma też funkcje specjalne wspomagające instrukcje transcendentalne oraz zaokrąglanie liczb wynikowych, zachowując jak największą dawkę precyzji.
(…)

——– ciach! ——–

To jest tylko fragment artykułu, którego pełna wersja ukazała się w numerze wrześniowym czasopisma Zrozumieć Elektronikę (ZE 9/2024). Pełną wersję czasopisma znajdziesz pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 9/2024 znajduje się tutaj.

Rafał Wiśniewski
rafi8112@interia.pl

 

Uwaga! Osoby, które nie są (jeszcze) stałymi Patronami ZE, mogą nabyć PDF-y z pełną wersję tego numeru oraz wszystkich innych numerów czasopisma wydanych od stycznia 2023, „stawiając kawę” (10 złotych za jeden numer czasopisma w postaci pliku PDF).
W tym celu należy kliknąć link (https://buycoffee.to/piotr-gorecki), lub poniższy obrazek
Postaw mi kawę na buycoffee.to
Następnie wybrać:
– jeśli jeden numer ZE – 10 zł,
– jeśli kilka numerów ZE – WSPIERAM ZA. I tu wpisać kwotę zależną od liczby zamawianych numerów – wydań (N x 10 zł),
Wpisać imię nazwisko.
Podać adres e-mail.
Koniecznie zaznaczyć: „Chcę dołączyć wiadomość dla Twórcy” i tu wpisać, który numer lub numery mamy wysłać na podany adres e-mailowy. Jeśli ma to być numer z tym artykułem trzeba zaznaczyć, że chodzi o ZE 9/2024.
UWAGA!!! E-mail z linkiem do materiałów (weTransfer) wysyłamy zazwyczaj w ciągu 24 godzin. Czasem zdarza się jednak, że trafia do spamu. Jeśli więc nie pojawi się w ciągu 48 godzin prosimy sprawdzić w folderze spam, a ewentualny problem zgłosić na adres: kontakt@piotr-gorecki.pl.