Jednostka centralna: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
brak opisu edycji
Nie podano opisu zmian
Nie podano opisu zmian
 
(Nie pokazano 10 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
Jednostka centralna (procesor) minikomputera MERA-400 jest jednostką 16-bitową. Słowo maszynowe składa się z 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji).
Podstawowe cechy jednostki centralnej:


 
* długość słowa: 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji) (zobacz: [[Postać przetwarzanych informacji]])
==Postać danych==
* osiem 16-bitowych [[Rejestry i wskaźniki|rejestrów uniwersalnych]]
 
* 32-bitowy rejestr zgłoszeń [[Przerwania|przerwań]] pogrupowanych w 11 poziomów obsługi z możliwością maskowania przerwań na 10 poziomach
Reprezendacja danych zależy od ich rodzaju:
* zegar czasu rzeczywistego (opcjonalnie)
 
* [[Wczytywanie binarne|automatyczne ładowanie programu]] (bootstrap)
* '''Informacja logiczna''' - zajmuje jedno słowo i jest ciągiem 16 niezależnych bitów.
* układ alarmu zasilania i automatyczny restart programu
 
* możliwość pracy dwuprocesorowej
{| class="wikitable" style="text-align: center;"
* [[Lista rozkazów|121 rozkazów]] (zobacz również: [[Skorowidz kodów rozkazów]])
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
* arytmetyka binarna uzupełnieniowa do dwóch
|-
* [[Arytmometr Wielokrotnej Precyzji]]
|    ||  ||  ||  ||  ||  ||  ||  ||  ||  ||    ||    ||    ||    ||    ||   
* trzy rodzaje modyfikacji rozkazu: B-modyfikacja, D-modyfikacja i PRE-modyfikacja (zobacz: [[Wykonanie rozkazu]])
|}
* czas cyklu pamięci FJP 1100 nsek ±10%
 
* [[Pamięć operacyjna|programowy podział pamięci]] na bloki użytkowe
* '''Znaki alfanumeryczne''' - umieszczane są po dwa w jednym 16-bitowym słowie. Format ich zapisu zależy od oprogramowania. Standardowo używany jest kod ISO-7.
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| colspan="8" | Znak 1 || colspan="8" | Znak 2
|}
 
* '''Liczba stałoprzecinkowa krótka''' - zajmuje jedno słowo i traktowana jest jako liczba całkowita. Zapisana jest w notacji uzupełnieniowej do dwóch.
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| Zn || colspan="15" | Uzupełnienie
|}
 
* '''Liczba stałoprzecinkowa długa''' - zajmuje dwa słowa i traktowana jest jako liczba całkowita. Zapisana jest w notacji uzupełnieniowej do dwóch.
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 || width=15 | 16 || width=15 | 17 || width=15 | 18 || width=15 | 19 || width=15 | 20 || width=15 | 21 || width=15 | 22 || width=15 | 23 || width=15 | 24 || width=15 | 25 || width=15 | 26 || width=15 | 27 || width=15 | 28 || width=15 | 29 || width=15 | 30 || width=15 | 31
|-
| Zn || colspan="31" | Uzupełnienie
|}
 
* '''Liczba zmiennoprzecinkowa''' - zajmuje trzy słowa. Jako standard przyjmuje się postać znormalilzowaną. Mantysa zajmuje pierwszych 40 bitów i traktowana jest jako liczba zaprzecinkowa w notacji uzupełnieniowej. Cecha zajmuje ostatnich 8 bitów i traktowana jest jako liczba całkowita w notacji uzupełnieniowej do dwóch.
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 || width=15 | 16 || width=15 | 17 || width=15 | 18 || width=15 | 19 || width=15 | 20 || width=15 | 21 || width=15 | 22 || width=15 | 23 || width=15 | 24 || width=15 | 25 || width=15 | 26 || width=15 | 27 || width=15 | 28 || width=15 | 29 || width=15 | 30 || width=15 | 31 || width=15 | 32 || width=15 | 33 || width=15 | 34 || width=15 | 35 || width=15 | 36 || width=15 | 37 || width=15 | 38 || width=15 | 39 || width=15 | 40 || width=15 | 41 || width=15 | 42 || width=15 | 43 || width=15 | 44 || width=15 | 45 || width=15 | 46 || width=15 | 47
|-
| Zn || colspan="39" | Uzupełnienie mantysy || Zn || colspan=8 | Cecha
|}
 
 
==Postać rozkazów==
 
W zależności od postaci, rozkazy dzielą się na cztery grupy. Postać rozkazów z każdej grup jest różna:
 
* '''Rozkazy w podstawowej postaci''' - zajmują jedno słowo maszynowe:
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| colspan="6" | Kod operacji || D || colspan="3" | A || colspan="3" | B || colspan="3" | C
|}
 
*''' Rozkazy z argumentem bezpośrednim normalnym'''
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15 || width=15 | 16 || width=15 | 17 || width=15 | 18 || width=15 | 19 || width=15 | 20 || width=15 | 21 || width=15 | 22 || width=15 | 23 || width=15 | 24 || width=15 | 25 || width=15 | 26 || width=15 | 27 || width=15 | 28 || width=15 | 29 || width=15 | 30 || width=15 | 31
|-
| colspan="6" | Kod operacji || D || colspan="3" | A || colspan="3" | B || colspan="3" | 000 || colspan="16" | argument bezpośredni
|}
 
* '''Rozkazy z argumentem bezpośrednim krótkim'''
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| colspan="6" | Kod operacji || Zn || colspan="3" | A || colspan="6" | Wartość arg.
|}
 
* '''Rozkazy z argumentem bezpośrednim bajtowym'''
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| colspan="8" | Kod operacji || colspan="8" | Arg. bezpośredni
|}
 
 
==Postać adresów==
 
* '''Adres bajtu'''
 
{| class="wikitable" style="text-align: center;"
| width=15 | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| colspan="15" | Adres słowa || b
|}
 
* '''Adres słowa'''
 
{| class="wikitable" style="text-align: center;"
| width="15" | 0 || width=15 | 1 || width=15 | 2 || width=15 | 3 || width=15 | 4 || width=15 | 5 || width=15 | 6 || width=15 | 7 || width=15 | 8 || width=15 | 9 || width=15 | 10 || width=15 | 11 || width=15 | 12 || width=15 | 13 || width=15 | 14 || width=15 | 15
|-
| 0 || colspan="15" | Adres słowa
|}

Menu nawigacyjne