280 likes | 402 Views
R ačunarske arhitekture Predavanje 4: Ogledna arhitektura Oktobar 2003 Doc. dr Novica Nosović ETF - Sarajevo novica.nosovic@etf.unsa.ba. OGLEDNA LOAD/STORE ARHITEKTURA. Registri: 32 32-bitna registra opšte namjene R0...R31
E N D
Računarske arhitekturePredavanje 4: Ogledna arhitektura Oktobar 2003 Doc. dr Novica Nosović ETF - Sarajevo novica.nosovic@etf.unsa.ba
OGLEDNA LOAD/STORE ARHITEKTURA • Registri: • 32 32-bitna registra opšte namjene R0...R31 • 32 32-bitna registra za FP operacije jednostruke preciznosti ili 16 64-bintna dvostruke preciznosti F0, F2, ..., F30 • R0=0 - ožičena vrijednost.
OGLEDNA LOAD/STORE ARHITEKTURA • Tipovi podataka: • 1, 2 i 4 bajta za cjelobrojne vrijednosti, • 4 ili 8 bajta za FP jednostruke/dvostruke preciznosti
OGLEDNA LOAD/STORE ARHITEKTURA Načini adresiranja: • neposredno (za konstante, Add R4, #3) • relativno (za lok. var.Add R4, 100(R1)) • od njih se izvode • registarsko indirektno (kada je offset = 0) i • apsolutno (kada je R0 bazni registar). • 4 načina adresiranja iako su samo 2 podržana arhitekturom !
FORMAT INSTRUKCIJA • sve instrukcije su 32-bitne • 6 bita osnovnog OPCODE-a i • 16-bitno polje za relativno adresiranje, neposredne konstante i PC-relativno grananje.
Operacije Load/Store (upis u R0 nema smisla), ALU-operacije, grananje i skokovi, FP operacije Regs[R10]16…32(Mem[Regs[R8]]0)8## Mem[Regs[R8]] znači : bajt na memorijskoj lokaciji određenoj sadržajemR8 je proširena predznakom do 16 bita i smješten u donjih 16 bita R10 (gornjih 16 ostaju netaknuti).
Primjeri aritmetičkih i logičkih instrukcija sa i bez neposrednih vrijednosti
Spisak instrukcija ogledne arhitekture. SP=jednostruka preciznost; DP=dupla preciznost.
Protočne strukture • U idealnim uslovima ubrzanje: vrijeme bez PS/broj segmenata PS
Izvršenje instrukcije u 5 ciklusa • IF - dobavljanje instrukcije IR Mem[PC] NPC PC + 4 ; Next PC – privr. reg.
2 faza ID - dekodiranje instrukcija i dobavljanje operanada iz registara A Regs[IR6...10] ; A - privremeni registar B Regs[IR11...15] ; B - privremeni registar Imm ((IR16)16 ## IR16...31) ; Imm - privremeni registar za neposredne vrijednosti, ovdje se izvodi proširenje predznakom do 32 bita
3 faza 3.1. Pristup memoriji (računanje efektivne adrese) ALUoutput A + Imm ; ALUoutput - privremeni registar 3.2. Registarsko-Registarska ALU instrukcija ALUoutput A func B 3.3. Registarsko-neposredna ALU instrukcija ALUoutput A op Imm 3.4. Grananje ALUoutput NPC + Imm Cond (A op O)
4 faza MEM - Pristup memoriji/završetak grananja U ovom ciklusu su aktivne samo Load, Store i instrukcije grananja. 4.1 Pristup memoriji LDM Mem[ALUoutput] ; Load Data from Memory - ; privremeni registar Mem[ALUoutput] B; Store 4.2. Grananje if (cond) then PC ALUoutput else PC NPC
5 faza WB - Write Back cycle 5.1. Registarsko-registarska ALU instrukcija Regs[IR16...20] ALUoutput 5.2. Registarsko-neposredna ALU instrukcija Regs[IR11...15] ALUoutput 5.3. Load instrukcija Regs[IR11...15] LDM