RISC a CISC architektura

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

Pohled do nitra mikroprocesoru Josef Horálek

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

PROCESOR. Typy procesorů

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

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

Procesor z pohledu programátora

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

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

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

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

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

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

Architektura procesoru ARM

Kubatova Y36SAP 8. Strojový kód Jazyk symbolických instrukcí asembler JSA pro ADOP a AVR Kubátová Y36SAP-strojový kód 1

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

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

Seznámení s mikropočítačem. Architektura mikropočítače. Instrukce. Paměť. Čítače. Porovnání s AT89C2051

Mikrokontroléry. Doplňující text pro POS K. D. 2001

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

Princip funkce počítače

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

Architektura Intel Atom

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

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

Architektura počítače

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

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

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

Architektury počítačů a procesorů

Procesory z řady 8051

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

Přednáška - A3B38MMP Procesory s jádrem ARM. A3B38MMP 2015, J. Fischer, kat. měření, ČVUT-FEL Praha 1

V PRAZE Fakulta elektrotechnická Katedra teorie obvodů. Úvod do mikrokontrolérů ATMEL AVR Konkrétn. ATmega. Martin Pokorný 31SCS 2004

Architektura počítačů

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

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Struktura a architektura počítačů

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

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

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

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


Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

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

Pohled do nitra mikroprocesoru

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

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

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

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

Bloková struktura mikrokontrolérů Mikroprocesorová technika a embedded systémy

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

CISC A RISC PROCESORY Jak pracují procesory CISC:

ČEMU ROZUMÍ MIKROPROCESOR?

Mikrokontroléry I. Mikrokontroléry od Atmel (Attiny, Atmega, AVR)

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

Jednočipové mikropočítače (mikrokontroléry)

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

Maturitní témata - PRT 4M

Řízení IO přenosů DMA řadičem

Kubatova Y36SAP 9. Strojový kód ISA architektura souboru instrukcí střadačově, zásobníkově orientovaná, GPR Kubátová Y36SAP-ISA 1

Architektury VLIW M. Skrbek a I. Šimeček

Počítače Didaktik. Jan Lorenz. Semestrální projekt z X31SCS

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

FREESCALE KOMUNIKAČNÍ PROCESORY

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

2 Hardware a operační systémy

Paměťový podsystém počítače

Architektura procesorů PC shrnutí pojmů

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

Mikrokontrolery. Úvod do obvodů Atmega 328 a PIC16F88

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:

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

Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška I / 21

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

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

Náplň přednášky 1. Vestavěný systém Výrobci technických řešení Mikrokontroléry ARM NXP Kinetis KL25Z Rapid prototyping Laboratorní vývojová platforma

8. Laboratoř: Aritmetika a řídicí struktury programu

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

Vestavné systémy BI-VES Přednáška 10

PROCESOR. Rozdělení procesorů

Strojový kód. Instrukce počítače

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

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

Principy komunikace s adaptéry periferních zařízení (PZ)

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading

IMTEE Přednáška č. 8. interrupt vector table CPU při vzniku přerušení skáče na pevně dané místo v paměti (obvykle začátek CODE seg.

VINCULUM VNC1L-A. Semestrální práce z 31SCS Josef Kubiš

Vývoj výpočetní techniky. Rozdělení počítačů. Blokové schéma počítače

7. Monolitické počítače, vlastnosti a použití.

Miroslav Tichý, tic136

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

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

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

Zkouška z předmětu Počítačové systémy

Vstupně - výstupní moduly

Jednočipové mikropočítače

Charakteristika dalších verzí procesorů v PC

Transkript:

RISC a CISC architektura = dva rozdílné přístupy ke konstrukci CPU CISC (Complex Instruction Set Computer) vývojově starší přístup: pomoci konstrukci překladače z VPP co nejpodobnějšími instrukcemi s příkazy VPP : o volání podprogramů o cykly (DJNZ apod.) o komplexní větvení (CJNE apod.) o výpočty s operandy v paměti během jednoho cyklu (ADD A, Adr) Základní znaky: o komplikovaný instrukční soubor (100ky instrukcí) o komplexní instrukce = postupný ústup ze slávy složitý návrh čipu cena zpracování instrukce nutné více kroků řadiče dlouhý instrukční cyklus kratší program (nutné méně instrukcí) méně přístupů od paměti, úspora nákladů na up systém (60.léta 20 stol.) Zástupci: 8051, první x86 (až do 80486) RISC (Reduced Instruction Set Computer) protipól CISC? Jak zvýšit výkon procesoru 1970 u IBM výzkum, výsledky: o velký počet instrukcí = složité optimalizace o programátor ani překladače nejsou schopni využít všechny instrukce z ISA u CISC CPU o až 50% instrukcí nelze využít optimálně o v průměrných programech: charakteristika: většina výkonných instrukcí (aritmetika, cykly obvodově nejsložitější) velmi malé zastoupení nejčastější instrukce přesuny, skoky, porovnání o malý počet jednoduchých instrukcí (10ky až cca 130) o krátka doba provedení instrukce (1 takt f CLK ) o pipelining (viz. dále) 1

o velký počet GPR (všeobecné registry) > 32 RISC = malý počet tranzistorů na čipu CPU, oproti CISC lze: o menší spotřeba CPU o více registrů, vyrovnávací paměť (cache) o integrace více periférií o základní filozofie všechny operace se provádějí v registrech ( load-store architektura data je nutné do registrů nahrát a pak vyzvednout) komunikace s pamětí pouze přesuny do a z registrů dnes nejrozšířenější architektura CPU o 8b uc Atmel AVR, Michrochip PIC o 32b uc ARM (Acorn RISC Machine, až 75% trhu PALM, PDA, MP3, Smart Phones ), Motorola Freescale o stolní PCU x86 od Intel Pentium výše, IBM Power PC o DSP Analog Devices, Texas Instruments umožňuje pokročilejší metody zpracování instrukcí (moderní CPU Intel Pentium apod.) Dynamic Execution o paralelní zpracování instrukcí (Paralel processing) o předpovídání větvení (branch prediction) o zpřeházené zpracování instrukcí (out-of-order execution) o Příklad Intel Pentium III Pipelining = překrývání instrukcí, zřetězené zpracování instrukcí základní princip zrychlení práce CPU typu RISC v případě jednoduchého ISA lze zpracování instrukce paralelizovat zpracování jedné instrukce o každá jednotka řadiče provede část operace o jednotky procují současně (paralelně) cykly IF ID OF IE WB 1 A 2 B A 3 C B A 4 D C B A 5 E D C B A triviální případ: jedna instrukce = čtení, druhá dekódování ideální případ jeden takt f CLK vykonána (dokončena) jedna instrukce konflikty: o datový potřebná data dosud nejsou uložena 2

o skokový adresu skoku zatím nelze určit o řešení: počkat (nejednodušší) nutno zahodit obsah pipeline delayed branch ( předběžné zpožděné) skoky viz DSP později různý počet stupňů pipeline o MCU, DSP obvykle 3 o Pentium 4 20 až 31 Mikrokontroléry Atmel AVR nejmodernější architektura 8bit MCU vznik kolem r. 1995 dnes cca 50 typů MCU různá pouzdra, periferie, výkon o rodina ATtiny malé MCU o rodina ATmega velké MCU podpora ladění přímo na čipu (On-Chip Debugging, přes rozhraní JTAG) Device Flash (Kbytes) EEPROM (Kbytes) SRAM (Bytes) Max I/O Pins F.max (MHz) AT90CAN128 Automotive 128 4 4096 53 16 AT90PWM2 8 0.5 512 19 16 AT90PWM3 8 0.5 512 27 16 ATmega128 128 4 4096 53 16 ATmega1280 128 4 8192 86 16 ATmega1281 128 4 8192 54 16 ATmega16 16 0.5 1024 32 16 ATmega162 16 0.5 1024 35 16 ATmega165 16 0.5 1024 54 16 ATmega165P 16 0.5 1024 54 16 ATmega168 16 0.5 1024 23 20 ATmega168 Automotive 16 0.512 1024 23 16 ATmega169 16 0.5 1024 54 16 ATmega169P 16 0.5 1024 54 16 ATmega2560 256 4 8192 86 16 ATmega2561 256 4 8192 54 16 ATmega32 32 1 2048 32 16 ATmega325 32 1 2048 54 16 ATmega3250 32 1 2048 69 16 ATmega329 32 1 2048 54 16 ATmega3290 32 1 2048 69 16 ATmega406 40 0.512 2048 18 1 ATmega48 4 0.256 512 23 20 ATmega48 Automotive 4 0.256 512 23 16 ATmega64 64 2 4096 54 16 ATmega640 64 4 8192 86 16 ATmega644 64 2 4096 32 20 ATmega645 64 2 4096 54 16 ATmega6450 64 2 4096 69 16 3

ATmega649 64 2 4096 54 16 ATmega6490 64 2 4096 69 16 ATmega8 8 0.5 1024 23 16 ATmega8515 8 0.5 512 35 16 ATmega8535 8 0.5 512 32 16 ATmega88 8 0.5 1024 23 20 ATmega88 Automotive 8 0.512 1024 23 16 ATtiny11 1 -- -- 6 6 ATtiny12 1 0.064 -- 6 8 ATtiny13 1 0.064 64B + 32 reg 6 20 ATtiny15L 1 0.0625 -- 6 1.VI ATtiny2313 2 0.128 128 18 20 ATtiny24 2 0.128 128 12 20 ATtiny25 2 0.128 128 6 20 ATtiny25 Automotive 2 0.128 128 6 16 ATtiny26 2 0.125 128 16 16 ATtiny28L 2 -- 32 11 4 ATtiny44 4 0.256 256 12 20 ATtiny45 4 0.256 256 6 20 ATtiny45 Automotive 2 0.128 128 6 16 ATtiny84 8 0.512 512 12 20 ATtiny85 8 0.512 512 6 20 ATtiny85 Automotive 2 0.128 128 6 16 Jádro (AVR Core) Harvardská architektura, RISC optimalizováno pro běh programů v jazyce C blokové schéma 4

časování CPU 3-stupňová pipeline (Tx = 1/f CLK ) o většina instrukcí 1 takt (12x výkonnější než 8051 na stejném f CLK, výkon zhruba jako 80386) Zpracování operandů v aritmetických instrukcích jednocyklová instrukce 5

o čtení obou zdrojových operandů z pracovních registrů o provedení potřebné operace o výsledek zpět do registrů. instrukce 16 bitů o Zrychlení načtení instrukcí (většina instrukcí načtena během 1 strojového cyklu) - výhoda o Zvětšení požadavků na paměť - nevýhoda Paměťový prostor paměť programu paměť dat o GPR namapován do RAM 0x00 0xFh (32 adres) o IO registry odpovídá SFR u 8051 0x20h 0x5F (64 adres) SREG (PSW) SP datové registry I/O zařízení (porty) řídící registry periférií AVR o zbytek (od adresy 96) = dostupná paměť RAM 0x60? (dle typu, 1 8kB) přístup 2 instrukční cykly Pracovní registry 6

Téměř všechny instrukce pracující s registry jednocyklový přístup (existují vyjímky). Některé instrukce přístup jen k R16 až R31. Posledních 6 registrů lze použít ve dvojici jako ukazatele adresy pro nepřímé adresování paměti dat (potom páry X, Y a Z) o příklad registr X Všechny registry = ACC šetří přesuny do RAM (usnadňuje implementaci C kompilátoru) jsou zdrojem i cílem při ALU operacích Paměť programu typu FLASH, In-System Programmable Memory - přeprogramovatelná v cílovém zařízení (pomocí SPI nebo JTAG rozhraní), velikost dle typu (1 až 256 kb) organizovaná jako N x 16b, N je závislé na typu uc šířka PC závisí na velikosti paměti u daného typu uc (ATmega32 16kB, PC = 14b) velikost interní FLASH dle typu AVR (1 až 256 kb) nelze připojit externí paměť programu Prostor I/O registrů Všechny I/O porty a registry periferií jsou umístěny v oblasti 64 I/O registrů Přístup: o jako do paměti SRAM pomocí instrukcí LD a ST o prvních 32 instrukce IN (čtení) a OUT (zápis), které spolupracují s 32 pracovními registry. 7

rozsah adres 0x0000 až 0x001F bitově adresovatelná (využití instrukcí SBI, CBI, SBIS, SBIC). Příklad konkrétního uspořádání I/O registrů u ATmega32 ALU o pro typy, které mají méně periferií, je tabulka příslušně zredukována o každá AVR jiné registry!!!!! pracuje v přímém spojení s 32 univerzálními registry podporuje aritmetické a logické operace mezi registry, registrem a konstantou nebo pracuje se samotným registrem ALU operace jsou rozděleny na tři druhy o aritmetické o logické o bitové Výsledek operace v ALU ovlivňuje bity ve stavovém registru SREG (jako PSW u 8051) AVR typu ATmega obsahují hardwarovou násobičku (násobení pak trvá pouze 2 takty) Stavový registr 8-bitový registr SREG = PSW u 8051 bity lze testovat a využít např. pro podmíněné větvení programu, skoky (instrukce BREQ, BRNE, BRTS, BRTC atd.) 8

instrukce SEx a CLx pro nastavování jednotlivých bitů do 1 či do 0 (např. SEI, CLI, SET, CLT atd.) BIT7 - I Global Interrupt Enable o Globální povolení všech přeušení (I = 1). Globální zákaz všeh přerušení (I = 0) o Podrobněji později BIT6 T Bit Copy Storage o Uživatelsky nastavitelný bit pomocí instrukcí BST a BLD. BIT5 H Half Carry Flag o přenos mezi 3. a 4. bitem (BCD aritmetika). BIT4 S Sign Bit, S = N V o = XOR, určuje znaménko výsledku. BIT3 V Two s Complement Overflow Flag o Příznak přetečení dvojkového doplňku. BIT2 N Negative Flag o Příznak záporného výsledku aritmetických nebo logických operací. BIT1 Z Zero Flag o Příznak Z indikuje nulový výsledek aritmetických nebo logických operací. BIT0 C Carry Flag o Indikuje přenos při aritmetických a logických operacích. Zásobník, Stack Pointer Zásobník o velikost omezena pouze velikostí SRAM. o roste směrem k nižším adresám o musí být nastaven do volné RAM (nad 0x60) obvykle až na konec SP 16b (SPH, SPL) o musí být vždy inicializován na začátku programu 9