Jednostka centralna: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
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
|}

Aktualna wersja na dzień 18:24, 3 sie 2014

Podstawowe cechy jednostki centralnej: