Jednostka centralna: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 61: Linia 61:
W zależności od postaci, rozkazy dzielą się na cztery grupy. Postać rozkazów z każdej grup jest różna:
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:
* '''Rozkazy w podstawowej postaci''' - zajmują jedno słowo maszynowe. Poszczególne pola zawierają:
** kod operacji (pozycja 0÷5) - podstawowy kod operacji
** bit D (pozycja 6) - bit adresowania pośredniego lub przedłużenie kodu operacji
** pole A (pozycja 7÷9) - numer rejestru uniwersalnego lub przedłużenie kodu operacji
** pole B (pozycja 10÷12) - numer rejestru uniwersalnego służącego do B-modyfikacji argumentu lub przedłużenie kodu operacji
** pole C (pozycja 13÷15) - numer rejestru uniwersalnego lub przedłużenie kodu operacji


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
Linia 69: Linia 74:
|}
|}


*''' Rozkazy z argumentem bezpośrednim normalnym'''
*''' Rozkazy z argumentem bezpośrednim normalnym''' - zajmują dwa słowa maszynowe. Argument zajmuje następne słowo za słowem podstawowym rozkazu. Znaczenie pól jest takie samo jak w przypadku rozkazu w postaci podstawowej, z tym, że pole C=0


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
Linia 77: Linia 82:
|}
|}


* '''Rozkazy z argumentem bezpośrednim krótkim'''
* '''Rozkazy z argumentem bezpośrednim krótkim''' - krótki argument 7-bitowy znajduje się na pozycjach D, B i C (bit D wskazuje znak argumentu). Pozostałe pola mają znaczenie jak w przypadku rozkazu w postaci podstawowej


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
Linia 85: Linia 90:
|}
|}


* '''Rozkazy z argumentem bezpośrednim bajtowym'''
* '''Rozkazy z argumentem bezpośrednim bajtowym''' - Pola 0÷7 zawierają kod operacji wraz z jego przedłużeniem. Pola 8÷15 zawierają 8-bitowy argument bezpośredni.


{| class="wikitable" style="text-align: center;"
{| class="wikitable" style="text-align: center;"
Linia 92: Linia 97:
| colspan="8" | Kod operacji || colspan="8" | Arg. bezpośredni
| colspan="8" | Kod operacji || colspan="8" | Arg. bezpośredni
|}
|}


==Postać adresów==
==Postać adresów==

Wersja z 19:46, 9 sie 2012

Charakterystyka ogólna

  • długość słowa: 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji)
  • 8 16-bitowych rejestrów uniwersalnych
  • 32-bitowy rejestr zgłoszeń przerwań pogrupowanych w 11 poziomów obsługi z możliwością maskowania przerwań na 10 poziomach
  • zegar czasu rzeczywistego (opcjonalnie)
  • automatyczne ładowanie programu (bootstrap)
  • układ alarmu zasilania i automatyczny restart programu
  • możliwość pracy dwuprocesorowej
  • 122 rozkazy
  • arytmetyka binarna uzupełnieniowa
  • trzy rodzaje modyfikacji rozkazu

Postać danych

Reprezendacja danych zależy od ich rodzaju:

  • Informacja logiczna - zajmuje jedno słowo i jest ciągiem 16 niezależnych bitów.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
 
  • 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Znak 1 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Zn 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Zn 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.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
Zn Uzupełnienie mantysy Zn 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. Poszczególne pola zawierają:
    • kod operacji (pozycja 0÷5) - podstawowy kod operacji
    • bit D (pozycja 6) - bit adresowania pośredniego lub przedłużenie kodu operacji
    • pole A (pozycja 7÷9) - numer rejestru uniwersalnego lub przedłużenie kodu operacji
    • pole B (pozycja 10÷12) - numer rejestru uniwersalnego służącego do B-modyfikacji argumentu lub przedłużenie kodu operacji
    • pole C (pozycja 13÷15) - numer rejestru uniwersalnego lub przedłużenie kodu operacji
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji D A B C
  • Rozkazy z argumentem bezpośrednim normalnym - zajmują dwa słowa maszynowe. Argument zajmuje następne słowo za słowem podstawowym rozkazu. Znaczenie pól jest takie samo jak w przypadku rozkazu w postaci podstawowej, z tym, że pole C=0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Kod operacji D A B 000 argument bezpośredni
  • Rozkazy z argumentem bezpośrednim krótkim - krótki argument 7-bitowy znajduje się na pozycjach D, B i C (bit D wskazuje znak argumentu). Pozostałe pola mają znaczenie jak w przypadku rozkazu w postaci podstawowej
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji Zn A Wartość arg.
  • Rozkazy z argumentem bezpośrednim bajtowym - Pola 0÷7 zawierają kod operacji wraz z jego przedłużeniem. Pola 8÷15 zawierają 8-bitowy argument bezpośredni.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Kod operacji Arg. bezpośredni

Postać adresów

  • Adres bajtu - 16-bitowa liczba całkowita z przedziału 0÷65535. Najmłodszy bit wskazuje: 0 - lewy bajt, 1 - prawy bajt
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Adres słowa b
  • Adres słowa - 15-bitowa liczba całkowita z przedziału 0÷32767
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 Adres słowa