230 likes | 324 Views
Structura de principiu pentru execuţie multiciclu. Structura multiciclu adaptat ă MIPS. Semnificaţia comenzilor pe un bit. Semnificaţia comenzilor pe doi biţi. Principii ȋn analiza funcțion ă rii.
E N D
Principii ȋn analiza funcționării • Unitatea temporală ȋn analiza funcționării este ciclul, adică perioada semnalului de tact. • Toate registrele sunt acționate pe un front al impulsului de tact deci modificarea informației de la intrare pe durata unui ciclu nu are importanță. • Pe durata unui ciclu se pot desfăşura ȋn paralel mai multe operații. • Citirea sau scrierea din/ȋntr-un registru independent se realizează pe durata ciclului in care se utilizeaza datele citite sau se produc datele inscrise. • Citirea din memorie şi scrierea ȋntr-un registru general necesită un ciclu adițional. • Pentru simplificarea schemei de comandă se acceptă uneori operații redundante benigne (care nu influențează rezultatul final).
Ciclul 1 - faza de FETCH • Necesită un singur ciclu. • IR <= Memory[PC]; • PC <= PC+4; Ciclul 2 - decodificarea instrucțiunii şi extragerea datelor din registrele generale • Necesită un singur ciclu. • A <= Reg[IR[25:21]]; • B <= Reg[IR[20:16]]; • ALUOut <= PC+(sign-extended (IR[15:0]) << 2);
Ciclul 3 - execuție, calcul adresă de memorie, finalizarea ramificării • Instrucțiuni cu referire la memorie(lw, sw) ALUOut <= A+sign-extend (IR[15:0]); • Instrucțiuni tip R ALUOut <= A op B ; • Instrucțiuni de ramificare if (A==B) then PC <= ALUOut; • Instructiuni de salt PC <= ( PC[31:28]&(IR[25:0]]&B”00”) ;
Ciclul 4 - acces la memorie sau ȋncheierea instrucțiunilor tip R • Instrucțiuni cu referire la memorie(lw, sw) MDR <= Memory [ALUOut]; sau Memory [ALUOut] <= B; • Instrucțiuni tip R Reg [IR[15:11]] <= ALUOut ;
Ciclul 5 – ȋncheierea citirii memoriei • Load Reg[IR[20:16]] <= MDR;