Dom > Izložba > Sadržaj

Arhitektura računara Uloge

Mar 11, 2019

Definicija


Svrha je da se dizajnira kompjuter koji maksimizira performanse uz zadržavanje potrošnje energije u provjeri, troškove niske u odnosu na količinu očekivanih performansi, te je također vrlo pouzdan. U tu svrhu treba razmotriti mnoge aspekte koji uključuju dizajn seta instrukcija, funkcionalnu organizaciju, logički dizajn i implementaciju. Implementacija obuhvata dizajn integrisanih kola, pakovanje, napajanje i hlađenje. Optimizacija dizajna zahteva poznavanje kompajlera, operativnih sistema za logički dizajn i pakovanje.


Arhitektura skupa instrukcija

Arhitektura skupa instrukcija (ISA) je interfejs između softvera i hardvera kompjutera i takođe se može posmatrati kao pogled programera na mašinu. Računari ne razumiju programske jezike visokog nivoa kao što su Java, C ++ ili većina programskih jezika koji se koriste. Procesor razumije samo upute koje su kodirane na neki numerički način, obično kao binarne brojeve. Softverski alati, kao što su kompajleri, prevedu te jezike visokog nivoa u instrukcije koje procesor može da razume.


Osim instrukcija, ISA definira stavke u računalu koje su dostupne programu - npr. Tipovi podataka, registri, načini adresiranja i memorija. Uputstva pronalaze ove dostupne stavke s indeksima registara (ili imenima) i načinima adresiranja memorije.


ISA računara se obično opisuje u malom priručniku s uputama, koji opisuje kako se šifriraju upute. Takođe, može definisati kratke (nejasno) mnemoničke nazive za instrukcije. Imena se mogu prepoznati pomoću alata za razvoj softvera nazvanog asembler. Asembler je kompjuterski program koji prevodi ljudski čitljiv oblik ISA u kompjuterski čitljiv oblik. Disasembleri su takođe široko dostupni, obično u programima za otklanjanje grešaka i programima za izolaciju i ispravljanje kvarova u binarnim kompjuterskim programima.


MRS se razlikuju po kvalitetu i cjelovitosti. Dobar ISA kompromis između praktičnosti programera (koliko je lako razumeti kod), veličine koda (koliko je koda potrebno za određenu radnju), troškova računara za tumačenje instrukcija (više složenosti znači više hardvera potrebnog za dekodirati i izvršiti instrukcije), i brzinu računara (sa složenijim uređajem za dekodiranje dolazi duže vrijeme dekodiranja). Organizacija memorije definiše kako interakcije instrukcija sa memorijom i kako memorija interaguje sa samim sobom.


U toku dizajniranja emulatora, softver (emulatori) može pokretati programe napisane u predloženom skupu instrukcija. Moderni emulatori mogu da mere veličinu, cenu i brzinu da bi odredili da li određeni ISA ispunjava svoje ciljeve.


Organizacija računara


Organizacija računara pomaže u optimizaciji proizvoda zasnovanih na performansama. Na primjer, softverski inženjeri moraju znati procesorsku snagu procesora. Moguće je da će morati optimizirati softver kako bi postigli najveću učinkovitost za najnižu cijenu. To može zahtijevati vrlo detaljnu analizu organizacije računala. Na primer, kod SD kartice, dizajneri će možda morati da organizuju karticu tako da se većina podataka može obraditi na najbrži mogući način.


Organizacija računara takođe pomaže u planiranju izbora procesora za određeni projekat. Multimedijalni projekti će možda trebati vrlo brz pristup podacima, dok će virtualnim strojevima možda trebati brzi prekidi. Ponekad je za određene zadatke potrebna i dodatna komponenta. Na primer, računar sposoban za pokretanje virtuelne mašine zahteva hardver virtualne memorije tako da se memorija različitih virtuelnih računara može držati odvojeno. Organizacija računara i funkcije takođe utiču na potrošnju energije i troškove procesora.


Implementacija

Jednom kada se napravi skup instrukcija i mikro-arhitektura, mora se razviti praktična mašina. Ovaj proces projektovanja naziva se implementacija. Implementacija se obično ne smatra arhitektonskim dizajnom, već projektovanje hardvera. Implementacija se može dalje podijeliti u nekoliko koraka:


Logička implementacija dizajnira kola koja su potrebna na nivou logičkih vrata

Implementacija kruga čini dizajne na nivou tranzistora osnovnih elemenata (kapije, multiplekseri, jezičci itd.) Kao i nekih većih blokova (ALU, kešova itd.) Koji se mogu implementirati na nivou logaritma ili čak na fizičkom nivou dizajn zahteva.

Fizička implementacija izvlači fizičke krugove. Različite komponente sklopa su postavljene u planu čipova ili na ploči, a žice koje ih povezuju se stvaraju.

Validacija dizajna testira računar kao celinu da vidi da li radi u svim situacijama i svim vremenskim intervalima. Kada se proces validacije projekta počne, dizajn na logičkom nivou se testira pomoću logičkih emulatora. Međutim, ovo je obično previše sporo da bi se izvodio realistički test. Dakle, nakon korekcije na osnovu prvog testa, prototipovi su konstruisani pomoću Field-Programabilnih Gate-Arrays (FPGA). Većina hobi projekata u ovoj fazi se zaustavlja. Poslednji korak je testiranje prototipa integrisanih kola. Integrirana kola mogu zahtijevati nekoliko redizajna za rješavanje problema.

Za CPU, cijeli proces implementacije je različito organiziran i često se naziva CPU dizajn.