Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Performantele controlului microprogramat pentru DLX

calculatoare



+ Font mai mare | - Font mai mic



Performantele controlului microprogramat pentru DLX

Evaluarea se realizeaza pe baza numarului ciclurilor de ceas necesare fiecarei instructiuni, in varianta de implementare microprogramata.

Pentru toate instructiunile se efectueaza pasii : 0, 1, 2 (3 cicluri ) din microprogram,

la care se mai adauga o perioada (sau mai multe, in functie de tipul memeoriei) de asteptare la memorie.



Prin inspectie se stabileste numarul de perioade de ceas pentru diferite categorii de instructiuni:

Tip instructiune Cicluri de ceas Cicluri de asteptare la Memorie

Memorare: 4 1

Citire 5 1

LB, LBU,..,LW 6 1

UAL 3 --

Set 4 --

Beq (ex neex.) 2 --

Bne (executat) 2 --

Bne (neexecutat) 1 --

Jmp 1 --

Jmp & Link 2 --

Folosind mixul cunoscut GCC si considerand un ciclu de asteptare pentru operatia cu memoria rezulta: CPI = 7,68 . Rezultatul este cu o unitate mai mare decat in cazul controlului Hardware, din cauza ciclului suplimentar de testare a existentei unei cereri de intrerupere.

In raport cu implementarea Hardware a controlului sunt mai lente instructiunile: Memorare, Citire si Beq (ex)

Reducerea costurilor si cresterea performantelor DLX pentru comanda microprogramata.

Lungimea microinstructiunii in variantele campurilor necodificate si codificate:


Numar biti

Necodificat 7 10 9 9 5 6 10 6

Codificat 3 4 4 4 5 3 4 6

In varianta campurilor necodificate lungimea microinstructiunii este de 62 biti.

In varianta campurilor codificate (unde este cazul) lungimea microinstructiunii se reduce la 33 de biti. Campurile Constanta si Adresa de salt nu se decodifica.

Format unic si formate multiple de microinstructiuni.

S-a constatat ca, in cazul formatului unic codificat pe campuri, lungimea microinstructiunii este de 33 de biti. In continuare se vor considera doua formate pentru:

instructiunile UAL/Jmp, care formeaza grupul/tipul A/J si

instructiunile Transfer/Diverse/Ramificare, care formeaza grupul/tipul T/D/B.

Formatul A/J:


Numar biti: 1 3 4 4 4 6 22

Formatul T/D/B:


Numar biti: 1 3 4 4 4 6 22

Observatii:

conditia testata este stabilita de operatia precedenta;

campul Div a fost extins la 4 biti pentru a corespunde ca lungime cu Sursa1;

cele doua tipuri de microinstructiuni se deosebesc prin bitii cei mai semnificativi.

Exemplu: Sa se rescrie microcodul pentru fazele: citire instructiune si testare intrerupere, folosind cele doua tipuri de microinstructiuni T/D/B si A/J.

Pentru faza de citire a instructiunii si pentru tratarea intreruperii vor aparea 6 instructiuni, fata de cele 5 originale, intrucat microinstructiunea 2 se expandeaza in doua microinstructiuni.


Loc. Etich. Tip Dest OpUAL/Sursa1 Sursa1/Div. Sursa2/Cond Const/Adr

0 ifetch: T/D/B -- -- -- intr? intr:

1 iloop: T/D/B -- -- cit.instr. Mready? iloop:

2 -- A/J CP ADD CP const 4

3 -- T/D/B -- -- TS1 <- RG[rd] DCD1? --

TS2 <- RG[rt]

4 intr: A/J RAI PASS S1 CP necond 5

5 -- A/J CP SUB TEMP TEMP ifetch:


Pentru a elimina ciclul, care apare in plus fata de solutia cablata , la BEQZ, cand nu se efectueaza ramificarea (doua cicluri), se poate introduce un test "nonzero", deoarece campul pentru conditie permite acest lucru.


Loc. Etich. Dest OpUAL Sursa1 Sursa2 Constanta. Div. Cond. Adr.Salt


50 beq: -- SUB TS1 const. 0 -- not 0? ifetch:

51 -- CP ADD CP imed16 -- -- necond ifetch:


CPI se reduce de la 7,68 la 7,63, dar ramane mai mare decat la comanda cablata (5,9/6,3).

O alta solutie pentru reducerea CPI . Testul pentru intrerupere necesita o perioada de ceas. Daca DCD1 efectueaza testul si pentru intrerupere, realizand saltul la microinstructiunea corespunzatoare, se economiseste un ciclu la fiecare instructiune.


Loc. Etich. Dest OpUAL Sursa1 Sursa2 Const. Div. Cond. Adr.Salt


0 ifetch: -- -- -- -- -- cit.instr Mready? ifetch:

1 -- CP ADD CP const. 4 TS1<-RG[rd] DCD1? --

TS2<-RG[rt]

2 intr: RAI SUB CP const. 4 -- -- --

3 -- CP PASS S2 -- const. 0 -- necond. ifetch:

CPI se reduce la 6,62.

Nota: La VAX11 20% dintre instructiuni ocupa 60% din microcod si se executa in 0,2% din timp!

Plecand de la aceasta observatie s-au realizat doua variante: (1) Set complet de instructiuni - implementare VLSI si (2) Subset de instructiuni- Microvax32- implementare VLSI.


(1) Set complet de instr. (2) Subset de instr.


% Implementare din Set 100% 80%

Dimens. Mem. de control 480K 64K

Nr. circuite pt. procesor. 9 2

% din performanta VAX11/780 100% 9%



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1148
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved