Jednostka centralna: Różnice pomiędzy wersjami

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 2: Linia 2:


* długość słowa: 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji)
* 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
* osiem 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
* 32-bitowy rejestr zgłoszeń [[Przerwania|przerwań]] pogrupowanych w 11 poziomów obsługi z możliwością maskowania przerwań na 10 poziomach
* zegar czasu rzeczywistego (opcjonalnie)
* zegar czasu rzeczywistego (opcjonalnie)
* automatyczne ładowanie programu (bootstrap)
* automatyczne ładowanie programu (bootstrap)
Linia 9: Linia 9:
* możliwość pracy dwuprocesorowej
* możliwość pracy dwuprocesorowej
* 122 rozkazy
* 122 rozkazy
* arytmetyka binarna uzupełnieniowa
* arytmetyka binarna uzupełnieniowa do swóch
* trzy rodzaje modyfikacji rozkazu
* trzy rodzaje modyfikacji rozkazu: B-modyfikacja, D-modyfikacja i PRE-modyfikacja
* czas cyklu pamięci FJP 1100 nsek ±10%
* programowy podział pamięci na bloki użytkowe


==Postać danych==
==Postać danych==

Wersja z 12:32, 9 wrz 2012

Charakterystyka ogólna

  • długość słowa: 16 bitów numerowanych od 0 do 15 (od najbardziej, do najmniej znaczącej pozycji)
  • osiem 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 do swóch
  • trzy rodzaje modyfikacji rozkazu: B-modyfikacja, D-modyfikacja i PRE-modyfikacja
  • czas cyklu pamięci FJP 1100 nsek ±10%
  • programowy podział pamięci na bloki użytkowe

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