11.07.2015 Views

Komputer IAS

Komputer IAS

Komputer IAS

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Komputer</strong> <strong>IAS</strong>


<strong>IAS</strong> - format danych i rozkazów0 1 39DaneBit znaku0 7 8 19 20 27 2839KodoperacjiAdresKodoperacjiAdresRozkaz lewyRozkaz prawy


Struktura komputera <strong>IAS</strong>Jednostka centralna (CPU)Jednostka arytmetyczno-logiczna (ALU)AkumulatorMQUkłady arytmetyczno-logiczneUrządzeniawejściawyjściaIBR...MBRPCMARRozkazy& DanePamięćgłównaMIRUkładysterująceProgramowa jednostka sterująca (ALU)...Adresy


Rejestry <strong>IAS</strong>✦ MBR - zawiera słowo, które ma byćprzechowywane w pamięci, lub też jestwykorzystywany do pobierania słów z pamięci✦ MAR - określa adres słowa w pamięci, które mabyć zapisane lub odczytane z MBR✦ IR - zawiera 8-bitowy kod wykonywanegorozkazu✦ IBR - rejestr roboczy do przechowywania prawejpołowy słowa rozkazu


Rejestry <strong>IAS</strong> (c.d.)✦ PC - zawiera adres następnej pary rozkazów, która ma byćpobrana z pamięci✦ AC i MQ - rejestry robocze do czasowego przechowywaniaargumentów oraz wyników operacji prowadzonych przez ALU✦ wynik mnożenia liczb 40-bitowych jest 80-bitowy; 40 starszych bitów jestpamiętanych w AC, 40 młodszych bitów jest pamiętanych w MQ✦ Oznaczenie M(X, A:B) - zawartość komórki pamięci o adresieX od bitu A do bitu B; M(X)=M(X, 0:39)✦ M(5,0:7) - kod instrukcji w szóstym słowie✦ Lista 21 rozkazów


<strong>IAS</strong> - rozkazy (1)✦ Transfer danych - pamięćALU i ALUALU✦ 00001010 LOAD MQ - przenieś zawartość rejestru MQ do AC✦ 00001001 LOAD MQ,M(X) - przenieś zawartość pamięci X doMQ✦ 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


<strong>IAS</strong> - rozkazy (2)✦ Rozgałęzienie bezwarunkowe - umożliwiaoperacje powtarzalne✦ 00001101 JUMP M(X,0:19) - pobierz następny rozkaz zlewej połowy M(X)✦ 00001110 JUMP M(X,20:39) - pobierz następny rozkaz zprawej połowy M(X)✦ Rozgałęzienie warunkowe - umożliwia decyzje✦ 00001111 JUMP +M(X,0:19) - pobierz następny rozkaz zlewej połowy M(X) o ile AC \geq 0✦ 00010000 JUMP+ M(X,20:39) - pobierz następny rozkaz zprawej połowy M(X) o ile AC \geq 0


<strong>IAS</strong> - rozkazy (3)✦ Rozkazy arytmetyczne - wykonywane przez ALU✦ 00000101 ADD M(X) -✦ 00000111 ADD |M(X)| -✦ 00000110 SUB M(X) -✦ 00001000 SUB |M(X)| -✦ 00001011 MUL M(X) -✦ 00001100 DIV M(X) -mod(AC /M(X)) -> AC✦ 00010100 LSH -✦ 00010101 RSH -AC + M(X) -> ACAC + |M(X)| -> ACAC - M(X) -> ACAC - |M(X)| -> ACMQ*M(X) -> AC[AC/M(X)] -> MQ &AC*2 -> AC (o 1b w lewo)[AC/2] -> AC (o 1b w prawo)


<strong>IAS</strong> - rozkazy (4)✦ Rozkazy modyfikacji adresu - obliczenie adresów wALU i wstawienie ich do pamięci (uelastycznienieadresowania)✦ 000010010 STOR M(X,8:19) - wstaw 12 prawych bitówAC do pola adresowego lewej połowy M(X)✦ 00010011 STOR M(X,28:39) - wstaw 12 prawych bitówAC do pola adresowego prawej połowy M(X)


Schemat <strong>IAS</strong>StartTakNie wymaganydostęp do pamięciCzynastępnyrozkaz jestw IBR?NieMAR← PCCykl pobieraniaIR← IBR(0:7)MAR←IBR(8:19)IR ← MBR(20:27)MAR←MBR(28:39)NieMBR← M(MAR)Czywymaganyjest lewyrozkaz?TakIBR←MBR(20:39)IR← MBR(0:7)MAR← MBR(8:19)PC ← PC+1Dekoduj rozkaz w IRAC← M(X) Idź do M(X,0:19) Jeśli AC≥ 0idź do M(X,0:19)AC← AC+M(X)Cykl wykonaniaMBR←M(MAR)AC ← MBRPC ← MARCzyAC≥0?MBR←M(MAR)AC← AC+MBR

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!