Ias

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Komputer IAS

IAS - architektura
Pami: 1K sw 40 bitowych
Reprezentacja binarna w kodzie dopenieniowym (uzupenienia do dwch) (ang. twos complement, U2)
negujemy bity liczby bez znaku i dodajemy binarnie 1

2 x 20 bitowe rozkazy

Rejestry (pamitane w CPU)


Rejestr buforowy pamici - MBR: Master Buffer Register Rejestr adresowy pamici - MAR: Memory Address Reg. Rejestr rozkazw - IR: Instruction Register Rejestr buforowy rozkazw - IBR: Instruction Buffer Reg. Licznik programu - PC : Program Counter Akumulator - AC: Acumulator Rejestr mnoenia-dzielenia -MQ: Multiper-Quotier

IAS - format danych i rozkazw


0 1 Dane 39

Bit znaku 0 7 8 Kod operacji Adres 19 20 Kod operacji 27 28 Adres 39

Rozkaz lewy

Rozkaz prawy

Struktura komputera IAS


Jednostka centralna (CPU) Jednostka arytmetyczno-logiczna (ALU) Akumulator MQ

Ukady arytmetyczno-logiczne Urzdzenia wejciawyjcia IBR MBR

. . .
PC MAR Ukady sterujce
. . .

Rozkazy & Dane

Pami gwna M

IR

Programowa jednostka sterujca (ALU)

Adresy

Rejestry IAS
MBR - zawiera sowo, ktre ma by przechowywane w pamici, lub te jest wykorzystywany do pobierania sw z pamici MAR - okrela adres sowa w pamici, ktre ma by zapisane lub odczytane z MBR IR - zawiera 8-bitowy kod wykonywanego rozkazu IBR - rejestr roboczy do przechowywania prawej poowy sowa rozkazu

Rejestry IAS (c.d.)


PC - zawiera adres nastpnej pary rozkazw, ktra ma by pobrana z pamici AC i MQ - rejestry robocze do czasowego przechowywania argumentw oraz wynikw operacji prowadzonych przez ALU
wynik mnoenia liczb 40-bitowych jest 80-bitowy; 40 starszych bitw jest pamitanych w AC, 40 modszych bitw jest pamitanych w MQ

Oznaczenie M(X, A:B) - zawarto komrki pamici o adresie X od bitu A do bitu B; M(X)=M(X, 0:39)
M(5,0:7) - kod instrukcji w szstym sowie

Lista 21 rozkazw

IAS - rozkazy (1)


Transfer danych - pami<->ALU i ALU<->ALU
00001010 LOAD MQ - przenie zawarto rejestru MQ do AC 00001001 LOAD MQ,M(X) - przenie zawarto pamici X do MQ 00100001 STOR M(X) - przenie zawarto AC pod adres X 00000001 LOAD M(X) - przenie M(X) do AC 00000010 LOAD -M(X) - przenie -M(X) do AC 00000011 LOAD |M(X)| - przenie |M(X)| do AC 00000100 LOAD -|M(X)| - przenie -|M(X)| do AC

IAS - rozkazy (2)


Rozgazienie bezwarunkowe - umoliwia operacje powtarzalne
00001101 JUMP M(X,0:19) - pobierz nastpny rozkaz z lewej poowy M(X) 00001110 JUMP M(X,20:39) - pobierz nastpny rozkaz z prawej poowy M(X)

Rozgazienie warunkowe - umoliwia decyzje


00001111 JUMP +M(X,0:19) - pobierz nastpny rozkaz z lewej poowy M(X) o ile AC \geq 0 00010000 JUMP+ M(X,20:39) - pobierz nastpny rozkaz z prawej poowy M(X) o ile AC \geq 0

IAS - rozkazy (3)


Rozkazy arytmetyczne - wykonywane przez ALU
00000101 ADD 00000111 ADD 00000110 SUB 00001000 SUB 00001011 MUL 00001100 DIV mod(AC /M(X)) 00010100 LSH 00010101 RSH M(X) |M(X)| M(X) |M(X)| M(X) M(X) -> AC AC + M(X) -> AC AC + |M(X)| -> AC AC - M(X) -> AC AC - |M(X)| -> AC MQ*M(X) -> AC [AC/M(X)] -> MQ

&

AC*2 -> AC (o 1b w lewo) [AC/2] -> AC (o 1b w prawo)

IAS - rozkazy (4)


Rozkazy modyfikacji adresu - obliczenie adresw w ALU i wstawienie ich do pamici (uelastycznienie adresowania)
000010010 STOR M(X,8:19) - wstaw 12 prawych bitw AC do pola adresowego lewej poowy M(X) 00010011 STOR M(X,28:39) - wstaw 12 prawych bitw AC do pola adresowego prawej poowy M(X)

IAS - realizacja instrukcji


Cykl pobierania
jeli IBR nie zawiera nastpnej instrukcji:
MAR<- PC; MBR<- M(MAR); jeli wymagana jest lewa poowa:
IBR<- MBR(20:39); IR<- MBR(0:7); MAR<- MBR(8:19);

jeli nie jest wymagana lewa poowa:


IR<- MBR(20:27); MAR<- MBR(28:39); PC<- PC+1;

jeli IBR zawiera nastpn instrukcj:


IR<- MBR(0:7); MAR<- MBR(8:19); PC<- PC+1;

Cykl wykonania, przykady


LOAD M(X): MBR<-M(MAR); AC<-MBR; JUMP M(X, 0:19) : PC<- MAR; JUMP+M(X,0:19): jeli AC>=0 to JUMP M(X, 0-19); NOOP; ADD M(X): MBR<- M(MAR); AC<- AC + MBR;

Schemat IAS
Tak Nie wymagany dostp do pamici

Start

Czy nastpny rozkaz jest w IBR?

Nie

MAR PC

Cykl pobierania

MBR M(MAR)

IR IBR(0:7) MARIBR(8:19)

IR MBR(20:27) MARMBR(28:39)

Nie

Czy wymagany jest lewy rozkaz?

Tak

IBRMBR(20:39) IR MBR(0:7) MAR MBR(8:19)

PC PC+1 Dekoduj rozkaz w IR AC M(X) Id do M(X,0:19) Jeli AC 0 id do M(X,0:19) Czy AC0? MBRM(MAR) PC MAR MBRM(MAR) AC AC+M(X)

Cykl wykonania

AC MBR

AC AC+MBR

You might also like