410 likes | 656 Views
Riistvarapõhine programmeerimine. Loeng 9 Protsessorite arhitektuurid CISC vs RISC. Arhitektuur. Arvuti arhitektuur CISC RISC Konveier http://www.inf.fh-dortmund.de/personen/professoren/swik/risc/intro_to_risc/irt0_index.html. Arvuti arhitektuur. Käsustik Mikroarhitektuur
E N D
Riistvarapõhine programmeerimine Loeng 9 Protsessorite arhitektuurid CISC vs RISC
Arhitektuur • Arvuti arhitektuur • CISC • RISC • Konveier http://www.inf.fh-dortmund.de/personen/professoren/swik/risc/intro_to_risc/irt0_index.html ID218 Riistvaralähedane programmeerimine
Arvuti arhitektuur • Käsustik • Mikroarhitektuur • Süsteemi arhitektuur ID218 Riistvaralähedane programmeerimine
Käsustik • Tarkvara / Riistvara liides • Käsud ja nende täpne esitamine • Seos protsessori sisemise mäluga • Pinu arhitektuur • Üldregistrite arhitektuur • Akumulaatori arhitektuur ID218 Riistvaralähedane programmeerimine
Mikroarhitektuur • Sisemine protsessori arhitektuur • Käsusüsteemi teostus • Kasutuse mugavused • Paralleelne täitmine • Konveier • Harude ennustamine ID218 Riistvaralähedane programmeerimine
Süsteemi arhitektuur • Protsessori, mälu jne ühendused • Paigutus, vorming, juhtmed • Elektrilised omadused • Pingenivoo • Võimsus • Signaalide kiirus ID218 Riistvaralähedane programmeerimine
Harvardi arhitektuur I ID218 Riistvaralähedane programmeerimine
Harvardi arhitektuur II • Andmed ja käsud paiknevad eraldi • Ei saa kasutada isemodifitseeruvat koodi • Kaks aadressisiini, kaks andmesiini jne. ID218 Riistvaralähedane programmeerimine
von Neumanni arhitektuur I ID218 Riistvaralähedane programmeerimine
von Neumanni arhitektuur II • Andmed ja käsud paiknevad mälus • Kesktöötlusseade (CPU) laeb käske mälust • Käsuloendur (PC) , käsuregister (IR) ja üldregistrid abistavad käskude täitmisprotsessi kesktöötlusseadmes ID218 Riistvaralähedane programmeerimine
v Neumann vs Harvard I • Efektiivne mälu kasutamine • Käskude ja andmete käsitlemine on ühtemoodi lihtsad • Lihtne laadida programmid mällu ID218 Riistvaralähedane programmeerimine
v Neumann vs Harvard II • Andmed võivad käsud üle kirjutada • Kogemata • Viirus • Piiratud läbilaskevõime • - suur hulk andmeid sekundis • - palju käske sekundis ID218 Riistvaralähedane programmeerimine
Arvuti kiirus ID218 Riistvaralähedane programmeerimine
CISC I • CISC – Complex Instruction Set Computers • Kerge programmeerida • Efektiivne mälu kasutamine Näided: • Intel(R) 80x86 • Motorola 68K ID218 Riistvaralähedane programmeerimine
CISC II • Keeruline käsu dekodeerimise loogika • Väike number üldregistreid • Mõned eriotstarbelised registrid • Tingimuskoodide register ID218 Riistvaralähedane programmeerimine
CISC filosoofia • Mikrokoodi kasutamine • Rikas käsustik • Kõrg-taseme käsustik ID218 Riistvaralähedane programmeerimine
Mikrokood ID218 Riistvaralähedane programmeerimine
Mikrokood II • Mikrokood – ROM, 10 korda kiirem, kui RAM • Mikrokoodi kiirus võrdne riistvara kiirusele • Mikrokoodi on lihtne muuta ja kohandada ID218 Riistvaralähedane programmeerimine
Rikas käsustik I • 2-operandi formaat • Reg-reg, reg-mem, mem-reg adresseerimine • Erinevad adresseerimisviisid • Muutuv käsupikkus • Mitu protsessoritsükli käsu kohta ID218 Riistvaralähedane programmeerimine
Rikas käsustik • Liitmine: • ADD • ADC • INC • Rotatsioon • RHL • RCL • RHR • RCR ID218 Riistvaralähedane programmeerimine
Kõrg-taseme käsustik • movs • rep • loop • mul • aaa • daa • aas • das • . . . ID218 Riistvaralähedane programmeerimine
Ideaalne vs reaalne CISC • F - käsu toomine • D - käsu dekodeerimine • X - käsu täitmine • W - tulemuse salvestamine ID218 Riistvaralähedane programmeerimine
CISC kiirus N x CPI x Clock time CISC: N -> min ID218 Riistvaralähedane programmeerimine
CISC eelised • Mikrokoodi on kerge kirjutada • Kerge teha alla ühilduvaks • Programm vajab vähe käsku • Kompilaatorid on lihtsad ID218 Riistvaralähedane programmeerimine
CISC puudused • Käsustik ja riistvara lähevad keerulisemaks • Erinevad käsud vajavad täitmiseks erinevad ajaintervallid • Palju spetsiifilisi käske, neid kasutatakse harva. • Käsud mõjutavad tingimuskoode erinevalt, raske meeles pidada ID218 Riistvaralähedane programmeerimine
RISC I • RISC - Reduced Instruction Set Computers • Lihtne käsustik • Käsu täitmine toimub ühe masinatsükli jooksul • Kõik käsud on ühe pikkusega ID218 Riistvaralähedane programmeerimine
RISC II • Andmetöötluskäsud opereerivad ainult üldregistritega. Mälupöördus toimub laadimis- ja salvestamiskäskude abil. • Üldregistrite pank on suur ja väga universaalne • Kasutatakse käskude konveiertöötlust ID218 Riistvaralähedane programmeerimine
Konveier • Korraga täidetakse mitu käsku • Järgmise käsu täitmist alustatakse enne, kui eelmine lõppes • Ühe käsu täitmise aeg jääb samaks ID218 Riistvaralähedane programmeerimine
Reaalne konveier • Tegelikult täitmiseajad ei ole võrdsed • Mälupöördumine vajab alati rohkem aega • Reaalselt on olemas ooteajad ID218 Riistvaralähedane programmeerimine
Sõltuvused • Tähtis käskude järjekord • Halb järjekord tekitab ooteajad • Õige järjestus parandab kiirust ID218 Riistvaralähedane programmeerimine
Sõltuvused ID218 Riistvaralähedane programmeerimine
Käsustiku probleemid • Keerulised käsud, raske dekodeerida • Muutuva pikkusega käsud, mitu mälupöördumist • Mälupöördumise käsud, aeglased • Mitme tsükliga käsud, ooteajad • Sama registri lugemine ja kirjutamine, register kinni • Sama ressurssi kasutamine, ressurss kinni ID218 Riistvaralähedane programmeerimine
RISC kiirus N x CPI x Clock time RISC: CPI -> 1 ID218 Riistvaralähedane programmeerimine
RISC eelised • Kiirus • Lihtne riistvara • Kiirem väljatöötus ID218 Riistvaralähedane programmeerimine
RISC-i riskid, koodi kvaliteet • Keeruline kompilaator • Lihtne käsustik • Käskude järjestamine ID218 Riistvaralähedane programmeerimine
RISC-i riskid, silumine • Silumine raskendatud • Kõigepealt silumine • Seejärel järjestamine ID218 Riistvaralähedane programmeerimine
RISC-i riskid, koodi suurus • RISC masinakood on ~30 – 50 % suurem, kui CISC oma ID218 Riistvaralähedane programmeerimine
Kokkuvõte I • Arvuti arhitektuurid • Harvardi arhitektuur • v Neumanni arhitektuur ID218 Riistvaralähedane programmeerimine
Kokkuvõte II Arvuti kiirus: N x CPI x Clock time ID218 Riistvaralähedane programmeerimine
Kokkuvõte III CISC: + Programm vajab vähe käsku + Kompilaatorid on lihtsad – Keeruline käsustik – Erinevad käsupikkused – Mitu protsessoritsükli käsu kohta ID218 Riistvaralähedane programmeerimine
Kokkuvõte IV RISC + Kiirus + Lihtne riistvara – Keeruline kompilaator – Suur kood – Kõrgendatud süsteemi ja disaini nõuded ID218 Riistvaralähedane programmeerimine