ARHITEKTURA RA ČUNALA 2
Nositelj i:Prof.dr.sc. Slobodan RibarićDoc.dr.sc. Siniša Šegvić
Asistenti :Tomislav Hrkać, mr.sc. Branko Samaržija
Zavod za elektroniku, mikroelektroniku, računalnei inteligentne sustave (ZEMRIS), 3. kat D zgrade
Sadržaj uvodnog predavanja
• Cilj : što proučava arhitektura ra čunala ? • Motivacija : zašto je to korisno znati?• Kontekst : aktualni tehnološki trendovi• O predmetu : način održavanja nastave,
razdioba bodova, literatura, teme
Što je arhitektura ra čunala? (3)
• Veza izmeñu korisnika i fizi čkog slojagrozno komplicirana (konkurencija!)
• Moderni sustavi tu vezu izvode u više koraka• Arhitektura računala (IBM 360, 1964):
– proučava hijerarhijsko organiziranje obrade podataka na različitim razinama apstrakcije
– cilj : postići optimalna svojstva računalnog sustava (performansa, cijena, utrošak energije, pouzdanost, raspoloživost, ...)
– kontekst : dostupne proizvodne tehnologije
Razine apstrakcije u modernim sustavima
Fizika materijala
Elementi
Sklopovi
Oblikovanje sustava(sabirnice, memorija, DMA, ...)
Mikroarhitektura(organizacija računala)
Instrukcijski skupOperacijski sustav
Programski jezik
Aplikacija
}Arhitektura računala
} Oblikovanje sklopovlja
Analogija s gra ñevinskom djelatnoš ću
• Arhitekti razmatraju komponente više razine (ALU, upravljanje, priručne memorije, ...), te kako ih posložiti u funkcionalnu cjelinu
• Izvedbeni inženjeri (mikroelektroničari) razvijaju grañevne elemente (sklopove, tranzistore) i inoviraju tehnološke procese
Motivacija: zašto mislim da bi vam bilo korisno upoznati se s konceptima arhitekture?
• Steći osjećaj što definira svojstva računala– moći odabrati optimalnu konfiguraciju
• Biti sposoban ubrzati program na standardnom procesoru– razumijevanje organizacije računala kritično za
izvlačenje maksimalne performanse– rast performanse procesora se drastično usporio,
tržište svejedno traži sve sofisticiranijufunkcionalnost
– moderne arhitekture postaju sve složenije, formalna naobrazba važna
• Ugrañene aplikacije slabije izoliraju programe od arhitekture i organizacije računala
Što očekivati na ovom predmetu?
• Upoznati termine i koncepte arhitekture računala
• Razumjeti kako temeljni koncepti utječu na svojstva računala i performansu programa
• Naučiti čitati i evaluirati arhitektonske opise modernih procesora
• Upoznati se s instrukcijskim skupovima procesora MC680x0 i x86
• Biti sposoban oblikovati upotrebljivi procesor na razini logičkih vrata
Tehnološki trendovi [Hennessy07]:
• Gustoća tranzistora: 35% godišnje• Površina sklopa: 10%-20% godišnje• Broj tranzistora na sklopu: 40%-55%
Moore: udvostručenje svake 2 godine• Brzina tranzistora raste s korijenom gustoće
(linearno s rezolucijom tehnologije)• Kašnjenje signalnih linija slabo pada: važna
lokalnost obrade u digitalnom sklopu• “Višak” tranzistora stvara prilike za arhitekte:
protočnost, cachevi, predviñanje grananja, šire sabirnice (8, 14, 32, 64), više jezgri, ...
Tehnološki trendovi (2):
• Gustoća povećava disipaciju (0.1W → 135W)• problemi s hlañenjem, energijom, udaljenošću
elemenata (latencija!)• dinamičko podešavanje takta, vodeno hlañenje
• Propusnost (memorija, disk, ...) raste (puno) brže od latencije
• Gustoća magnetskih diskova: 30% (100%)• pouzdanost?
Zašto performansa slabije raste?
• Disipacija ograničava gustoću elemenata• Mogućnosti iskorištavanja paralelizma na
razini instrukcije iscrpljene(protočnost, superskalarnost, izvoñenje izvan redosljeda, predviñanje grananja, ...)
• Sporo poboljšanje latentnosti memorije• Kraj ere uniprocesora?• Inovacije: multicore, SMP, MPP, grid, ...
Stranice predmeta na fakultetskom Webu(obavijesti, forum, raspored i zadatci za
laboratorij, repozitorij datoteka):
http://www.fer.hr/predmet/arhrac2
Informacije o predmetu
Kakvo predznanje o čekujemo?
• Digitalna logika• Arhitektura računala 1• Programiranje i programsko
inženjerstvo
Predavanja
• Ponedjeljkom 11-14, D1• Povremene kratke provjere znanja• Povremene domaće zadaće (rješavanje
zadataka, obrada manje važnih tema)• Materijali dostupni na stranicama
predmeta nakon predavanja• Nazočnost ne bismo provjeravali
Laboratorij
• Tijekom semestra održavaju se tri grupe laboratorijskih vježbi, prisutnost je obavezna
• Vježbe se sastoje iz programiranja u zbirnom jeziku (MC68000, IA32) te pisanja mikroprograma, pripremaju se kod ku će
• Termin u laboratoriju rezerviran za pozitivnu interakciju s asistentima te izlazni test (abcdpitalice)
• Zadatci će biti objavljivani na početku odgovarajućeg nastavnog ciklusa
Razdioba bodova
• Periodičke provjere znanja– ABCD pitalice ili kratke nadopune teksta
• 5 bodova
• Izlazni testovi laboratorijskih vježbi• 20 bodova
• Meñuispiti i završni ispit• 20, 25 i 30 bodova
• Projektni zadatci (?)
Detalji �
• Ponovljeni meñuispit (1. ili 2.)– tijekom trećeg ciklusa
• Ponovljeni završni ispit– nakon završnog ispita
• Usmeni ispit– prag za prolaz je 50%– ako netko baš žarko želi...
• S. Ribarić, Arhitektura računala,Školska knjiga, Zagreb, 2004. (240str.)
• S. Ribarić, Naprednije arhitekture mikroprocesora, Element, Zagreb, 3.izdanje, 2002.(231 stranica)
• S. Ribarić, Arhitektura RISC i CISC računala, Školska knjiga, Zagreb, 1996. (380 stranica)
• A. S. Tanenbaum, Structured Computer Organization, Prentice-Hall, 1990.(587 stranica)
Literatura
• J. L. Hennessy, D. A. Patterson, Computer Architecture, A Quantitative Approach, Morgan Kaufmann Pub., Fourth edition, 2007
• D. A. Patterson, J. L. Hennessy, Computer Organization& Design, The Hardware/Software Interface, MorganKaufmann Pub., Third edition, 2007.
• A. Clements, Principles of Computer Hardware, OxfordUniversity Press, 2006.
• A. B. Tucker (ed.), Computer Science Handbook, Chapman&Hall, 2004.
Literatura (2)
Sadržaj kolegija0. Uvodno predavanje0.1. Turingov stroj1. Definicija i klasifikacija arhitekture ra
�
unala1.1. Flynnova klasifikacija (SISD, MISD, SIMD, MIMD)1.2. Ra
�
unala upravljana tokom podataka (Data Flow)1.3. Ra
�
unala upravljana zahtjevom (redukcijska ra�
unala)2. Model von Neumannovog ra
�unala
2.1. Zna
�
ajke SISD arhitekture2.2. Tokovi podataka, upravlja
�ki tok
2.3. Usporedba Turingovog stroja i von Neumannovog ra
�
unala3. Pojednostavnjeni modeli (mikro)procesora CISC i R ISC3.1.Komponente modela CISC3.2. Primjer izvo
�
enja programa3.3. Stanje registara3.4. Stanje na sabirnicama, sabirni
�ki ciklus, sabirni
�
ki protokol3.5. Komponente modela (S)RISC
3.6. ISA-model procesora3.7. Zna
�
ajke procesora arhitekture RISC 3.8. Arhitektura RISC i performansa procesora3.9. Odnos CISC - RISC
4. Upravlja
�
ka jedinica ra
�
unala
4.1. Funkcija upravlja
�
ke jedinice4.2. Prijenos upravljanja izme
�
u programa
4.3. Rekurzivni programi4.4. LIFO ili stožna struktura4.5. Uporaba stoga – analiza slu
�aja
5. Sklopovska izvedba upravlja
�ke jedinice
5.1. Skup instrukcija5.2. Organizacija ra
�unala
5.3. Struktura upravlja
�ke jedinice
5.4. Komponente upravlja�
ke jedinice: brojilo sekvenci, dekoder, PLA generator taktnog signala
6. Izvedba mikroprogramske upravlja
�
ke jedince
6.1. Osnovni pojmovi i Wilkesova izvorna shema
6.2. Faze mikroprogramiranja
6.3. Struktura mikroprogramirane upravlja
�ke jedinice
6.4. Model mikroprogramiranog procesora
7. Centralna procesna jedinica – registarski stroj
7.1. Podrobniji interpretacijski dijagram stanja ISP
7.2. Stanje procesora
7.3. Skup registara op
�e namjene
7.4. Registarska okna
8. Proto
�
na organizacija procesora
8.1. Put podataka
8.2. Tri ina
�
ice organizacije procesne jedinice�
.3. Podrobnija analiza izvo
�
enja instrukcija
8.4. Proto
�
nost (instrukcijska proto
�na struktura)
8.5. Strukturni, podatkovni i upravlja
�ki hazardi
8.6. Analiza slu
�
aja
9. Aritmeti
�
ko-logi
�ka jedinica
9.1. ALU – višefunkcijski sklop
9.2. Pristup oblikovanju ALU
9.3. Posma
�ni sklop (Barell Shifter)
10. Ubrzanje rada memorijskog sustava10.1. Memorijska hijerarhija10.2. Memorija s preklapanjem - proto
�
na memorija
11. Priru
�
na (cache) memorija11.1. Prostorna i vremenska lokalnost11.2. Blok-shema tipi
�
ne organizacije priru�
ne memorije11.3. Na
�
ini obnavljanja sadržaja glavne memorije11.4. Organizacije priru
�ne memorije (potpuno asocijativna,
izravna, skupna-asocijativna)11.5. Algoritmi zamjene blokova11.6. Koherentnost priru
�ne memorije
11.7. Primjeri priru
�nih memorija
12. Virtualni memorijski sustav12.1. Fizi
�
ki i logi
�
ki adresni prostor12.2. Organizacija logi
�
kog adresnog postora12.3. Adresno preslikavanje (Denningov model)12.4. Strani
�
enje12.5. Segmentacija12.6. Segmentacija sa strani
�enjem
12.7. Zamjena, smještanje i na
�in pribavljanja blokova
12.8. Analiza slu
�
aja
13. Organizacija ulazno-izlaznog podsustava13.1. Na
�
ini izmjene podataka izme
�u ra
�unala i vanjske logike
13.2. DMA (Direct Memory Access) – Izravni pristup memoriji