Sissejuhatus
von Neumanni arhitektuur:
mälu programmi koodi ja andmete hoidmiseks;
juhtseade käskude dekodeerimiseks;
aritmeetikaseade aritmeetikaoperatsioonide teostamiseks;
sisend-väljund liidesed perifeerseadmete ühendamiseks ja andmete sisestamiseks.
Juhtseade ja aritmeetikaseade moodustavad CPU. Mälu koosneb üldjuhul adresseeritavast põhimälust ja mahukamast, kuid tunduvalt aeglasemast ketasmälust. Mälus hoitakse nii andmeid kui ka programme. Kui kasutatakse kahte eraldi mälu andmete ja programmide hoidmiseks, on tegemist Harvardi arhitektuuriga. CPUs on registrid andmete, vahetulemuste või juhtinformatsiooni hoidmiseks. Registrite arv sõltub suuresti konkreetsest arhitektuurist, kuid alati on olemas käsuloendur (IP, PC) ja SP. Andmete esitamiseks kasutatakse kahendkoodi. Käsud esitavad tavaliselt üsna lihtsaid aritmeetika- ja loogikaoperatsioone ja keerulisemad käsud saadakse nende kombineerimisel.
Von Neumanni arhitektuuri põhijooned:
käsud esitavad lihtsaid aritmeetika- ja loogikaoperatsioone;
kasutaja (programmeerija) valib käskude kogumist välja käsud vajalikus järjestuses ja ühendab need programmiks;
mällu salvestatud käskude jada (programm) täidetakse järjestikku;
käsud ja andmed on tavaliselt salvestatud ühte ja samasse mällu.
Põhimõtteliselt täidab protsessor kahte komplekset operatsiooni:
käsu lugemine mälust;
käsu täitmine.
käsu lugemisele järgneb käsu dekodeerimine. Ka käsu täitmise saab jagada mitmeks erinevaks tegevuseks (näiteks esimese operandi lugemine mälust, teise operandi lugemine, aritmeetika- või loogikaoperatsiooni täitmine nende operandidega). Kui eelmise ja järgmise operatsiooni täitmine mingil määral kattuvad, nimetatakse seda ülekatteks (fetch/exicute overlap). Selleks, et käske saaks täita ülekattega, kasutatakse peaaegu kõikides kaasaegsetes mikroprotsessorites konveieried (pipelines).
Enam-vähem kõigi arhitektuuride puhul töötleb protsessor informatsiooni tunduvalt kiiremini, kui toimub mälu poole pöördumine. Et protsessori ja mälu kiirusi enam-vähem ühildada, kasutatakse hierarhlist mälu ülesehitust.
Memory interleaving
Kõige lihtsam viis suurendada aeglase seadme jõudlust on selliste seadmete arvu suurendada ja panna nad paralleelselt tööle. Mälu puhul nimetatakse sellist arhitektuurilist lahendust memory interleaving. Kui mälu on protsessorist n korda aeglasem, siis pannes tööle n mälu moodulit ja pöördudes nende kõigi poole korraga, saavutatakse protsessoriga võrdne kiirus. Kõige lihtsamal juhul ühendab protsessorit mäludega ainult üks aadresssiin ja kõigist n mäluelemendist loetakse andmed korraga ühelt ja samalt aadressilt, ehk teisiti öeldes on lihtsalt tegemist n korda pikema sõnaga. Teisel juhul jaguneb mälu aadressväli kahte ossa: esimest osa kasutatakse mälu mooduli valimiseks ja teine osa määrab ära aadressi mälu mooduli sees.
|