Procesory - PowerPoint PPT Presentation

About This Presentation
Title:

Procesory

Description:

Title: Procesory Author: cepek Last modified by: cepek Created Date: 11/9/2006 9:30:46 PM Document presentation format: P edv d n na obrazovce – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 37
Provided by: cep5
Category:

less

Transcript and Presenter's Notes

Title: Procesory


1
Procesory
  • Pocítace by jednou mohly vážit méne než 1.5
    tuny.
  • casopis Popular Mechanics, 1949

2
Co nás bude zajímat
  • procesory pred rokem 1970 viz slajdy o historii
    pocítacu
  • od roku 1970 mikroprocesory (vše na jednom
    cipu)
  • dnes všechny bežné PC, pracovní stanice i
    servery mají jako CPU mikroprocesor zameríme se
    jen na ne

3
První mikroprocesor Intel4004
  • 1969 Bob Noyce a Gordon Moore zakládají Intel
    Corporation (výroba cipu pro mainframe)
  • 1970 zakázka na sadu cipu do kalkulacek Busicom
  • 1971 4004 4bitový s 8bitovými instrukcemi,
    oddelená programová (4k) a datová (1k) pamet, 46
    instrukcí, 2300 tranzistoru, BCD, 16 obecných 4b
    (nebo 8x8b) registru, akumulátor, zásobník, PC,
    frekvence hodin 108 kHz

4
Zlatá éra 8bitových mikroprocesoru
  • brezen 1972 8008 vyvíjen paralelne s 4004
  • 1974 Intel 8080 první univerzální 8-bitový
    procesor
  • 6 000 tranzistoru, 2MHz
  • 8bitová datová sbernice, 16bitová adresová
    sbernice
  • 216 64k obrovská adresovatelná pamet!!!
  • Motorola 6800
  • cistší architektura než 8080
  • 1974 Faggin odchází od Intelu, zakládá Zilog
  • 1976 Zilog Z80 2.5 MHz (ve své dobe velmi
    úspešný)
  • object-code compatible s 8080
  • navíc další registry, instrukce
  • on-chip DRAM refresh

5
16-bitové procesory
  • Texas Instruments TMS9900
  • registry ne na cipu, ale v pameti (vc. PC a SP)
  • National Semiconductor Pace
  • General Instruments CP1600
  • Intel 8086
  • Motorola 68000

6
Generace mikroprocesoru
  1. 1971 sériové zpracování instrukce (I4004)
  2. 1973 16bitová aritmetika, pipeline, petinásobné
    zvetšení instrukcního souboru, rychlosti a
    hustoty prvku (MC68000, I8080)
  3. 1978 16bitové procesory s výkonem minipocítacu
    250 000 prvku, cache na chipu, RISC (MC68020)
  4. milión tranzistoru, více než 1 instrukce / sec.
    (I80960CA, Motorola 88100)
  5. superskalární, pres 10 miliónu tranzistoru

7
Architektura mikroprocesoru
  • v podstate stále von Neumannovská
  • mikroprocesor tedy sestává z
  • ALU (aritmeticko logické jednotka)
  • radice (control unit)
  • ALU obsahuje registry (napr. stradac) a obvody na
    aritmetické a logické operace
  • radic zajištuje provádení instrukcního cyklu,
    také má své registry (napr. PC)

8
Instrukcní cyklus - zhruba
  • nacíst instrukci (fetch)
  • porozumet instrukci (decode)
  • vykonat instrukci (execute)
  • uložit výsledek (store)
  • gt fragmentace úlohy na menší cásti

9
Instrukcní cyklus - podrobne
10
Zrychlování (pipelining)
  • protože každá instrukce sestává z nekolika fází,
    lze další instrukci zahájit dríve než je
    predchozí dodelána
  • neco jako výrobní linka v továrne, kde na lince
    muže být soucasne tolik výrobku v ruzné fázi
    rozpracování, z kolika fází se výroba skládá
  • napr. zatímco se jedna instrukce dekóduje, tak
    pro další už muže být proveden fetch

11
Sériové zpracování
12
Pipeline
13
Pipeline - problémy
  • pipeline zavádí paralelismus, ale navenek se
    procesor musí tvárit sekvencne
  • datová závislost paralelne zpracovávané
    instrukce používají stejné registry nebo pametová
    místa
  • závislost skoku provedení / neprovedení skoku
    závisí na výsledku predchozí instrukce
  • nejvetší problém skok si vynutí vyprázdnení
    pipeline

14
Rešení problému skoku
  • multiple streams
  • look ahead / look behind buffer
  • napr. u Motorola MC88110
  • cyklická pamet 32 instrukcí
  • pri skoku se uloží 2 instrukce z vetve
  • asociativní vyhledávání dle adresy
  • branch prediction
  • další strategie

15
Predikce skoku
  • v instrukci uložena nápoveda. Podle toho se
    instrukce nacítají. Je-li nápoveda správne,
    nedojde ke ztráte. Je-li nápoveda špatne,
    vyprázdní se pipeline, nacte se správný obsah.
  • statická predikce
  • rozhodnutí bez znalosti skutecné historie prubehu
    (predikce vždy stejná pro stejnou instrukci, bez
    ohledu na predchozí instrukce)

16
Vývoj pipeline
  • Superpipelining
  • rozdelení kroku pipeline na menší?? jednodušší??
    rychlejší
  • Superscalar pipelining
  • více paralelních cástí pipeline
  • dnes nekdy i více celých pipeline
  • Dynamic pipeline
  • preplánování problematických cástí

17
Další zrychlování
  • Simultánní multithreading
  • do pipeline se zavádejí instrukce ruzných vláken,
    které na sobe skoro jiste nebudou závislé
  • Predikce hodnoty
  • Pozorování ukazuje, že instrukce Load zavede ve
    více než ½ prípadu stejnou hodnotu?? budeme to
    predpokládat

18
Instrukcní sady
  • do 80. let trend budovat komplexní sady
  • stovky instrukcí, nejruznejší varianty jedné
    instrukce
  • snaha o preklenutí sémantické propasti, neboli
    rozdílu mezi vyšší a nižší úrovní práce pocítace
  • sladit pohled programátora ve vyšším jazyce a
    programátora v assembleru
  • poskytnout dostatecne širokou škálu instrukcí pro
    zachycení stylu programování ve vyšším jazyce
  • dát podporu kompilátoru, aby opakující se problém
    vyrešil jedinou instrukcí místo (dlouhé) sekvence

19
Zmena priorit
  • Duraz na to, co je nejvíce potreba a co trvá
    nejdéle
  • Implementace méne používaných instrukcí muže
    zhoršit celkový návrh
  • Spolehnout se na vyšší jazyky a optimalizující
    kompilátory
  • Pamet je dnes rychlejší a levnejší

20
CISC vs RISC
  • CISC Complex Instruction Set Computer(zpetné
    oznacení)
  • RISC Reduced Instruction Set Computer

21
Strategie návrhu RISCu
  • zjištení nejpoužívanejších instrukcí (simulace a
    analýza programu)
  • optimalizace datových cest pro tyto instrukce
  • pridání dalších instrukcí, pokud jsou rozumne
    využitelné a nezpomalí procesor
  • presunutí komplexních cinností do kompilátoru

22
CISC
  • Proc se tedy vlastne vyvinuly?
  • (První stroje mely jednoduchou architekturu)
  • Cena HW klesla, cena SW stoupla
  • Presun složitosti do HW usnadní programování
  • Méne instrukcí pro daný úkol znamená méne
    prístupu do (pomalé a drahé) pameti

23
Pokusy o definici RISC
  • N.J.Davis
  • omezená a jednoduchá instrukcní sada
  • velké množství obecných registru
  • duraz na optimalizaci pipeline
  • Colwell
  • provádení instrukcí v 1 taktu
  • architektura load/store
  • relativne málo instrukcí a zpusobu adresování
  • pevný formát instrukcí
  • vetší význam kompilátoru

24
Charakteristické rysy pro RISC
  • jedna instrukce na cyklus
  • operace registr registr
  • architektura load store
  • malý pocet a jednoduché adresovací režimy
  • pevný formát instrukce
  • malý pocet a jednoduché instrukce
  • velké množství registru
  • použití linky proudového zpracování (pipeline)
  • zvláštní zpracování skoku
  • hardwired návrh obvodového rešení
  • silná závislost na kompilátoru

25
RISC typictí predstavitelé
  • Desktop/Server
  • Alpha (Digital)
  • PA-RISC (Hewlett-Packard)
  • PowerPC (IBM Motorola)
  • MIPS (Silicon Graphics)
  • SPARC (Sun Microsystems)

26
Návrh procesoru co zvažovat
  • pevná/promenná délka instrukcí?
  • pevný/promenný pocet a typ operandu?
  • pocet adresovacích režimu?
  • mikrokód/hardwired radic?
  • stupen paralelismu?
  • duraz na vyšší programovací jazyky?
  • schopnosti kompilátoru?

27
zvolit RISC nebo CISC?
  • Neexistuje jednoznacná odpoved!
  • Problémy
  • žádné dva procesory RISC a CISC nejsou prímo
    porovnatelné
  • není konecná sada testovacích programu
  • obtížné odlišit vliv HW a vliv kompilátoru
  • (vetšina dnešních návrhu bere z obou kategorií)

28
Konvergence CISC a RISC
  • od 80-let se technologie i znalosti zmenily
  • mnohé techniky jsou používány procesory z obou
    táboru
  • CISC vykonávají více instrukcí v 1 taktu
  • RISC se zlepšením technologií zbývá místo ?
    vyplnené komplikovanejšími instrukcemi
  • vznikají post-RISC návrhy, kombinující oba
    prístupy s metodami, které nejsou použity v žádné
    z techto kategorií (presto si RISC zachovává
    charakteristické vlastnosti)

29
Post-RISC
  • Rozdíl od superskalárních RISCu
  • pridání ne-RISCových instrukcí (pro zvýšení
    výkonu) ?? architektura FISC (Fast Instruction
    Set Computer)
  • agresivní prerovnávání instrukcí v prubehu
    zpracování out-of-order execution,
    speculative execution (odklon od závislosti na
    kompilátoru)
  • nové usporádání, nové jednotky
  • vetší míra paralelismu

30
Príklady procesoru post-RISC
  • procesory s ojedinelými znaky post-RISC
  • DEC Alpha 21164, SUN UltraSPARC
  • procesory s typickou organizací post-RISC
  • IBM PowerPC 604, MIPS R10000, HP PA-8000
  • smíšené organizace
  • Intel Pentium P6 (interesting blend of
    architectures) starší Pentia jsou typické CISC
    procesory

31
Zpet k provádení instrukce
  • instrukce sestává z rady fází (cyklu), napr.
    fetch, decode, execute, store
  • každý cyklus sestává z posloupnosti elementárních
    akcí mikro-operací
  • mikro-operace (príklady)
  • presun mezi registry
  • presun mezi registrem a sbernicí (k pameti)
  • jednoduchá ALU operace

32
Funkce radice
  • Radic zajištuje v podstate dva úkoly
  • zpracování mikro-operace ve správném poradí jak
    vyžaduje provádený program
  • generování rídících signálu, které pro každou
    mikro-operaci zpusobí její vykonání
  • Rídící signály spouští otevírání a zavírání
  • logických hradel vykonávajících mikro-oper.

33
Základní schema radice(direktivní radic)
instrukce
rídící signály
radic
hodinový signál
34
Základní schema radice(zpetnovazební radic)
instrukce
rídící signály
radic
hodinový signál
vnejší príznaky
zpetná vazba
35
Návrh radice
  • hard-wired
  • radic je vlastne kombinacní obvod z log. hradel
  • provádení všech instrukcí (opkódu) je natvrdo
    zadrátováno
  • vyšší rychlost, méne prvku, typické pro RISC
  • microprogrammed
  • logika radice je urcena mikroprogramem
  • mikroprogram sekvence príkazu ve speciálním
    mikroprogramovacím jazyce
  • každý príkaz jazyka specifikuje mikro-operaci
  • vetší flexibilita, typické pro CISC

36
Provádení mikrokódu
  1. Dekódování operacního kódu instrukce
  2. Vyzdvihování mikroinstrukcí z rídící pameti
  3. Control address register najde mikroinstrukci,
    která se má vykonat
  4. Microinstruction registr prijme tuto instrukci a
    adresu následující mikroinstrukce
  5. Mikroinstrukce je vykonána
  6. Adresa další mikroinstrukce je použita pro
    vyhledání další
  7. Jsou-li vykonány všechny mikroinstrukce, nacte se
    další konvencní instrukce. Ne-li, vykonávají se
    další mikroinstrukce
  8. Podmínené skoky jsou provedeny tak, že je
    modifikována adresa další mikroinstrukce
Write a Comment
User Comments (0)
About PowerShow.com