Struktura a architektura počítačů

Podobné dokumenty
Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Pohled do nitra mikroprocesoru Josef Horálek

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

PROCESOR. Typy procesorů

Procesor. Procesor FPU ALU. Řadič mikrokód

Techniky zvýšení výkonnosti procesoru, RISC a CISC procesory

Architektury CISC a RISC, uplatnění v personálních počítačích

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

Provádění instrukcí. procesorem. Základní model

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Architektury počítačů a procesorů

RISC a CISC architektura

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Architektura počítače

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Struktura a architektura počítačů (BI-SAP) 7

Procesory, mikroprocesory, procesory na FPGA O. Novák, CIE 11 1

Principy počítačů I - Procesory

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Úvod do architektur personálních počítačů

Assembler RISC RISC MIPS. T.Mainzer, kiv.zcu.cz

Technické prostředky počítačové techniky

Architektura Intel Atom

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Procesor z pohledu programátora

Architektura procesoru ARM

Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování

Princip funkce počítače

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

CISC A RISC PROCESORY Jak pracují procesory CISC:

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY. Systémová struktura počítače

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

MSP 430F1611. Jiří Kašpar. Charakteristika

Počítač jako elektronické, Číslicové zařízení

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

ŘÍZENÍ ELEKTRICKÝCH POHONŮ. Systémová struktura počítače Řízení běhu programu. České vysoké učení technické Fakulta elektrotechnická

Y36SAP

Struktura a architektura počítačů (BI-SAP) 1

Architektura počítačů Implementace procesoru

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Představení a vývoj architektur vektorových procesorů

Principy počítačů I ZVYŠOVÁNÍ VÝKONU PROCESORŮ. Sériové zpracování. Pipeline. Úspora při použití pipeline. Problém 1: přístup k datům.

Architektury CISC a RISC, uplatnění rysů architektur RISC v personálních počítačích - pokračování

Proudové zpracování instrukcí I. Celočíselná pipeline RISC

Intel Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Profilová část maturitní zkoušky 2014/2015

Úvod do architektur procesorů

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

2 Hardware a operační systémy

Principy počítačů a operačních systémů

Přednáška. Strojový kód a data. 4. Přednáška ISA J. Buček, R. Lórencz

Algoritmizace a programování

Profilová část maturitní zkoušky 2015/2016

Základní uspořádání pamětí MCU

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

ARCHITEKTURA PROCESORŮ

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Pohled do nitra mikroprocesoru

OPS Paralelní systémy, seznam pojmů, klasifikace

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

AGP - Accelerated Graphics Port

Charakteristika dalších verzí procesorů v PC

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Počítač jako prostředek řízení. Struktura a organizace počítače

Architekura mikroprocesoru AVR ATMega ( Pokročilé architektury počítačů )

Algoritmizace a programování

Informatika Datové formáty

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Komunikace procesoru s okolím

Algoritmizace a programování

Informační a komunikační technologie

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Simulátory aplikačně specifických instrukčních procesorů Jazyk LISA. Masařík Karel

Procesor. Hardware - komponenty počítačů Procesory

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

PROCESOR. Rozdělení procesorů


Architektura počítačů Logické obvody

Vstupně - výstupní moduly

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Procesory. Autor: Kulhánek Zdeněk

BI-JPO (Jednotky počítače) Cvičení

C2115 Praktický úvod do superpočítání

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Metody připojování periferií BI-MPP Přednáška 2

Úvod do architektur personálních počítačů

MIKROPROCESOR. (c) Ing. Josef Varačka. Title: XI 28 11:40 (1 of 8)

Transkript:

Struktura a architektura počítačů Alfanumerické kódy Řadič procesoru CISC, RISC Pipelining České vysoké učení technické Fakulta elektrotechnická Ver 1.20 J. Zděnek 2014

Alfanumerické kódy Kódování zobrazitelných a řídicích (nezobrazitelných) znaků Kódů celá řada 5bitových až 16bitových (+další rozšíření, viz Unicode) Co je třeba kódovat? 2 x 26 písmen latinské abecedy (velká a malá písmena) 10 číslic, znaky čárka, tečka, plus, minus, mezera,...,řídicí znaky Používané kódové sady: 5bitový kód CCITT 2 (málo bitů, přepínání dvou sad speciálními znaky) 7bitový kód ASCII (ASCII-7, USASCII, CCITT 5, ISO-7, KOI-7) American Standard Code for Information Interchange) 8bitový kód ASCII-8 (ISO-8, KOI-8) 00h 7Fh standardní ASCII (ASCII-7) 80h FFh rozšíření o znaky národní abecedy A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 2

Alfanumerické kódy Používané sady pro znaky české abecedy: 1250 Windows 1250 852 - IBM page 852 ISO - ISO 8859-2 KOI - KOI-8cs Kam - Kód Kamenických 8bitový kód EBCDIC (DKOI) Extended Binary Coded Decima Interchange Code (IBM) 16bitový kód - Unicode 0000h-FFFFh Basic Multilingual Plane (BMP) Unicode 2.0 (1996) - Další rozšíření až do 10FFFFh Celkem k dispozici 1,114,112 kódových pozic Možnost kódování i znaků historických jazyků a znaků nebo grafických symbolů málo používaných A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 3

CCITT 2 Pětibitový alfanumerický (znakový) kód Horní a dolní část tabulky se volí speciálními znaky LTRS, FIGS A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 4

EBCDIC (DKOI) Osmibitový kód (IBM) A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 5

EBCDIC (DKOI) Osmibitový kód (IBM) A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 6

ASCII Sedmibitový kód - American Standard Code for Information Interchange A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 7

Windows 1250 Horní polovina (80h-FFh) kódové stránky Windows 1250 Dolní polovina (00h-7Fh) je shodná s ASCII A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 8

Řadič procesoru (CPU Controller) Sekvenční obvod (Synchronní konečný automat) Řídí činnost ostatních bloků procesoru (ALU, PC, SP, ) Řadič sám je řízen instrukcemi přečtenými z operační paměti a stavovými signály z ostatních bloků CPU a z řídicí sběrnice počítače Pracuje v instrukčních cyklech (Instruction Fetch, Instruction Execution) Pracuje v nekonečném cyklu RESET uvede řadič a ostatní bloky CPU do známého počátečního stavu Podle způsobu realizaci řadiče CPU rozlišujeme: Obvodový (hardwired) řadič Mikroprogramový řadič A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 9

Instrukční cyklus (typické členění) INSTRUCTION FETCH INSTRUCTION DECODE OPERAND FETCH EXECUTE OPERATION RESULT STORE INTERRUPT REQUEST? INSTRUCTION CYCLE A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 10

Řadič procesoru - realizace Obvodový (hardwired) řadič: Sekvenční obvod (synchronní konečný automat) Realizovaný obvodovým zapojením (klasicky hradla, klopné obvody) Návrh z vývojových diagramů popisujících provedení jednotlivých instrukcí během instrukčního cyklu Mikroprogramový řadič: Sekvenční obvod (synchronní konečný automat) ve kterém je kombinační část realizována pamětí. Tato paměť se nazývá řídicí paměť (Control Memory), paměť mikroinstrukcí (Microcode Memory) nebo paměť mikroprogramu (Microprogram Memory) Instrukce je rozdělena na jednotlivé dílčí operace mikroinstrukce, ty jsou uloženy v řídicí paměti a z ní prováděny. Soubor mikroinstrukcí pro provedení dílčí instrukce mikroprogram Soubor všech mikroprogramů firmware (mikroprogramové vybavení) Mikroprogramový řadič je (mikro)počítač uvnitř procesoru A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 11

Řadič procesoru (CPU Controller) SP STACK POINTER CENTRAL PROCESSING UNIT CPU ADDRESS BUS PC PROGRAM COUNTER MAIN MEMORY DATA BUS IR INSTRUCTION REGISTER CONTROL BUS REGISTERS CPU CONTROLLER (Řadič procesoru) ALU INPUT/OUTPUT CHANNELS STATUS RESET CLK INT A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 12

Mikroprogramový řadič IR INSTRUCTION REGISTER MUX µpc MICROPROGRAMMED CPU CONTROLLER µcode MEMORY MULTIPLEXER µprogram COUNTER ADDR CONTROL MEMORY (microinstructions) FIRMWARE CPU CONTROL CLK ALU/STATUS FSA - Moore A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 13

Doba provádění programu: Kde: Tp Hodnocení výkonu procesoru Tp = Ip. Ci. Tc doba provádění programu (Time per Program) Ip počet instrukcí programu (Instructions per Program) Ci počet taktů na instrukci (Cycles per Instruction)(též značení CPI) Tc délka taktu (závisí na periodě hodin)(time per Cycle) Ip Ci Tc Zrychlení programu zmenšit některé členy,, bez zvětšení ostatních A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 14

Pipelining (Proudové zpracování instrukcí) Pipelining - technika práce procesoru, která vede ke zmenšení členu Ci v rovnici pro hodnocení výkonu procesoru Bez proudového zpracování: Tp = prostý součet dob běhu jednotlivých instrukcí Proudové zpracování (pipelining): Princip: Jednotlivé fáze zpracování instrukce jsou realizovány různými částmi procesoru. Proto je možné zpracování zřetězit, jakmile se daná část procesoru uvolní (vykoná svou část zpracování dané instrukce) může zahájit zpracování další instrukce i v případě, že daná instrukce je ještě zpracovávána následujícími bloky procesoru. Průměrné Tp je menší. Podmínky: Nutný neustálý včasný přísun nových instrukcí do procesoru Problémy: Instrukce větvení narušují proudové zpracování. Vadí i různá délka provádění instrukcí. Nutno dodržet kauzalitu operací. A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 15

Pipelining - hloubka překrytí operací Nejmenší účinná hloubka překrytí = 2 (Pipelining Depth = 2) Př: Překrytí (časové) operací čtení instrukce (Fetch) a její vykonání (Execution) Doba vykonání instrukce - 2 takty (Ci = 2) bez zřetězení Doba vykonání instrukce 1 takt (Ci = 1) se zřetězením Ci = 2 INST-1 FETCH INST-1 EXEC INST-2 FETCH INST-2 EXEC INST-3 FETCH INST-3 EXEC Ci = 1 Ci = 1 A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 16

Pipelining - hloubka překrytí operací Typická hloubky překrytí operací u RISC procesorů 4 takty Př: Překrytí (časové) operací Fetch, Decode, Execute, Writeback (zápis výsl.) Doba vykonání instrukce - 4 takty (Ci = 4) bez zřetězení Doba vykonání instrukce 1 takt (Ci = 1) se zřetězením Ci = 4 INST-1 FETCH INST-1 DECODE INST-1 EXEC INST-1 WRITEBACK INST-2 FETCH INST-2 DECODE INST-2 EXEC INST-2 WRITEBACK INST-3 FETCH INST-3 DECODE INST-3 EXEC INST-4 FETCH INST-4 DECODE Ci = 1 Ci = 1 A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 17

Pipelining - hloubka překrytí operací Příklad procesory Intel - CISC Rok CPU Hodiny [MHz] Hloubka Pipeline Počet tranzistorů 1978 i8086 4,77 2 29k 1982 i80286 8 3 134k 1985 i80386 16 3 275k 1989 i80486 25 5 1,2M 1993 ipentium I 60 5 3,1M 1997 ipentium II 233 12 7,5M 1999 ipentium II 450 12 9,5M 2002 ipentium 4 2000 20 55M 2004 ipentium 4 3400 31 125M 2010 Core i7 3300? 781M A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 18

Dělení počítačů CISC nebo RISC Dělení počítačů do dvou základních kategorií podle typu použitého procesoru CISC Complex Instruction Set Computer počítač s rozsáhlým souborem instrukcí (nebo též počítač s úplným instrukčním souborem) Mnoho instrukcí, jednoduchých (základních) i složitých Přesun složitých operací ze software do hardware Návrh CPU kompromisem ve směru - menší kód, větší Ci (CPI) Podpora vyšších programovacích jazyků (HLL High Level Language) přenesena do hardware RISC Reduced Instruction Set Computer (Počítač s redukovaným souborem instrukcí) Menší počet základních instrukcí jen nezbytné základní operace Přesun složitých operací z hardware do software Návrh CPU kompromisem ve směru malé Ci (CPI), větší kód Podpora vyšších programovacích jazyků (HLL High Level Languge) přenesena do software (do kompilátoru) A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 19

CISC vs. RISC historický pohled 70 a 80 léta: Polovodičové operační paměti (DRAM) malá kapacita, velmi drahé Externí paměti (HDD) pomalé a též drahé Expanze software a velikosti kódu vážný problém pro další vývoj Směr dobrý počítačový kód (program) je kompaktní kód Obtížný návrh překladačů (Compiler) z vyšších jazyků (HLL) Řešení (extrémní): CISC procesory instrukce (některé) odpovídají příkazům HLL Očekávané důsledky: Snadnější konstrukce překladačů Redukce celkové ceny (software + hardware) Redukce ceny vývoje software Redukce systémového software Programy napsané v HLL budou efektivnější Výsledný kód bude kompaktnější Ladění programů bude snažší a efektivnější A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 20

CISC vs. RISC historický pohled CISC procesory: Návrh složitých instrukcí podstatně usnadnil princip mikroprogramovaného řadiče (počítač s řídicí pamětí uvnitř procesoru, složité instrukce rozloženy na posloupnost jedndušších a ty vykonány na základě mikrokódu uloženého v řídicí paměti mikrořadiče) Následek řadič je složitější a pomalejší ve srovnání s řadičem obvodově řešeným (klasickým). Vývoj polovodičové technologie ale umožnil podstatně zrychlit činnost mikroprogramovaných řadičů instrukční soubor se dále zvětšoval a tím rostla i velikost řídicí paměti s složitost mikrokódu. Program řídicí paměti se stával obtížně laditelný, rostl počet neodladěných chyb v mikrokódu. Narůstaly pochyby zda směr Složitost ze software do hardware je správný. Statistické (kvantitativní) studie (profilování ) programů existujících počítačů komplexní instrukce a složité adresovací módy jsou velmi málo využívány. 20 % instrukcí se využívá 80 % času. Vzniká myšlenka procesoru s redukovaným počtem základních instrukcí - RISC. A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 21

CISC - charakteristika Přesun složitých operací ze software do hardware Zmenšení velikosti výsledného kódu Zvětšení počtu taktů při vykonání instrukce (zvětšení Ci (CPI)) Velký a značně členěný instrukční soubor. Jednoduché a rychlé instrukce pro základní operace. Složité mnohataktové instrukce odpovídající příkazům vyšších programovacích jazyků (HLL) Podpora HLL je přesunuta do hardware Adresovací módy pro čtení-zpracování-uložení dat do paměti jednou instrukcí (memory-to-memory addressing modes) Mikroprogramovaný řadič procesoru Menší počet universálních registrů v procesoru A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 22

RISC - charakteristika Přesun složitých operací z hardware do software Zmenšení počtu taktů při vykonání instrukce (zmenšení Ci (CPI)) Zvětšení velikosti výsledného kódu Redukovaný počet pouze nezbytných základních instrukcí (32 128) Jednoduché základní instrukce, vyžadující málo taktů (1 3) Instrukce odpovídají mikroinstrukcím v procesoru CISC Malý počet formátů instrukcí (2 4) Podpora HLL je přesunuta do software (vhodný optimalizující překladač) Jednoduché adresovací módy umožňující pouze přesun operandů do registrů procesoru a uložení výsledku z registrů do paměti (LOAD/STORE access) Ostatní operace možné pouze mezi registry procesoru (register-to-register) Obvodový řadič (ne mikroprogramovaný) Velký počet registrů na procesoru (>16) Pipelining (proudové zpracování instrukcí) A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 23

Současný stav Post-RISC architecture Dnešní moderní procesory využívají výhod obou původních technik CISC i RISC. Nelze je důsledně zařadit ani do jedné kategorie. Současné procesory se mohou navenek tvářit jako CISC (např. z důvodů kompatibility hotových programů) a uvnitř využívat techniky RISC (např. řada x86 Pentium) Pokrok v polovodičové technologii dovolil ke konstrukci CPU využít velké množství tranzistorů (stovky milionů), to umožnilo: Zvětšit počet registrů na CPU Vyrovnávací paměti (Cache) na čipu téměř tak rychlé jako procesor Přidat další ALU do procesoru (Superscalar Execution) Přidat dodatečné non-risc instrukce (ale velmi rychlé) Zvětšit hloubku pipeline (počet zřetězení při překrývání operací) Přidat predikci větvení programu Přidat možnost vykonání instrukcí mimo jejich pořadí v programu (out-of-order execution) A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 24

minirisc pic10 A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 25

minirisc pic10 33 instrukcí, 1-2 takty A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 26

minirisc pic10 33 instrukcí, 1-2 takty A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 27

minirisc pic10 - pipeline depth = 2 Narušení překrytí - větvení programu A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 28

Struktura a architektura počítačů Alfanumerické kódy Řadič procesoru CISC, RISC Pipelining KONEC České vysoké učení technické Fakulta elektrotechnická A7B14SAP Struktura a architektura počítačů 12 - ASCII, řadič, CISC, RISC 29