- Architektury procesorů
- Architektura instrukční sady RISC a CISC
- Komplexní výpočetní sada instrukcí (CISC)
- Reduced Instruction Set Computing (RISC)
Vestavěný systém je srdcem a jádrem většiny elektronických produktů dostupných na trhu. Jedná se o implementaci inženýrství, ve kterém se hardware setkává se softwarem. Jsme obklopeni světem vestavěných systémů s minipočítači v biometrických zámcích dveří, letadlech, automobilech, kardiostimulátorech atd. Tyto omezené zdroje, malé, inteligentní a výkonné systémy nám pomáhají při každodenních úkolech.
Už jste někdy přemýšleli o tom, jak funguje naše tělo, nervové systémy, mozek a schopnost plnit více úkolů. Pokud zkombinujete všechny tyto funkce, získáte hrubý obraz biologického vestavěného systému. Náš mozek skrývá složité podrobnosti svého fungování, které se v něm odehrávají, ale přesto nám umožňuje jej ovládat na maximální potenciál. Stejná složitost platí pro procesor nebo řadič používaný ve vestavěných systémech. Skrývají složité detaily a poskytují nám rozhraní na vysoké úrovni, na kterém můžeme pracovat. Pro úroveň abstrakce lze uvést, jak kód pro přidání dvou čísel v programovacím jazyce na vysoké úrovni způsobí, že registry v čipech zpracovávají bity a dávají výstup zpět uživateli.
Architektury procesorů
Centrální procesorová jednotka, s odkazem na mikroprocesor i mikrokontrolér, provádí specifické úkoly pomocí řídicí jednotky (CU) a aritmetické logické jednotky (ALU). Jak jsou instrukce doručovány z RAM, CPU pracuje pomocí svých dvou pomocných jednotek tím, že vytváří proměnné a přiřazuje jim hodnoty a paměť. Je opravdu důležité vědět, jak CPU provádí všechny tyto akce pomocí své architektury. Pokud se chcete dozvědět více o tom, jak mikrokontrolér funguje, můžete si přečíst tento základní článek o mikrokontroléru.
Ke každému CPU je přidružena paměť pro ukládání programu a dat. Program a data pracují s CPU za účelem získání výstupu. Program poskytuje instrukce, zatímco data poskytují informace, na kterých je třeba pracovat. Pro přístup k programu a datům CPU používá sběrnice, tyto sběrnice jsou dráty, přesněji řečeno jsou to dráty, jak jste možná viděli na deskách plošných spojů. Během těchto let se mikrokontroléry a mikroprocesory vyvinuly přizpůsobením různých architektur, na základě požadavků aplikace nebo designu je výběr mikrokontroléru ovlivněn typem architektury, která se v něm používá. Pojďme se podívat na populární architektury.
Architektura Von-Neumann / Princeton
Způsob, jakým CPU získává přístup k programu a datům, vypovídá o architektuře CPU. Dříve byla pro získání přístupu k programu a datům použita jediná sběrnice. Tento typ architektury je známý jako Von Neumann Architecture nebo jednodušeji Princeton Architecture. Jedna sběrnice pro získání kódu a dat znamená, že se dostanou do cesty a zpomalí rychlost zpracování CPU, protože každý musel čekat, až ten druhý dokončí načítání. Toto omezení je známé také jako Von-Neumannovo úzké místo.
Harvardská architektura
Pro urychlení procesu byla navržena Harvardská architektura. V této architektuře jsou k dispozici samostatné datové sběrnice pro data a program. Znamená to tedy, že tato architektura navrhovala použití čtyř sběrnic
- Sada datové sběrnice přenášející data do a z CPU.
- Sada adresní sběrnice pro přístup k datům.
- Sada datové sběrnice pro přenos kódu do CPU.
- Adresová sběrnice pro přístup ke kódu.
Použití oddělené adresové sběrnice a datové sběrnice znamenalo pro CPU krátký čas na provedení, ale to přichází za cenu složitosti při navrhování architektury. Architektura Von Neumann může znít trochu líně, ale má výhodu svého jednoduchého designu.
Harvardská architektura se implementuje mnohem snadněji, když CPU a paměťové jednotky sdílejí stejný prostor nebo jsou RAM a ROM zabudovány (na čipu) s procesorovou jednotkou, například v mikrokontroléru, kde jsou vzdálenosti v mikronech a milimetrech. Je však obtížné implementovat stejnou architekturu tam, kde je paměť obsahující kód mimo procesorovou jednotku, jako je tomu v x86 IBM PC. Sada samostatných trasování drátu pro data i adresu na základní desce by desku učinila složitou a nákladnou. Pochopme to na příkladu procesoru.
Procesor s 64bitovou datovou sběrnicí a 32bitovou adresovou sběrnicí by pro implementaci Von-Neumannovy architektury potřeboval přibližně 100 sběrnic (96 pro datovou a adresovou sběrnici a několik dalších pro řídicí signály). Stejná struktura, pokud by byla implementována s architekturou Harvard, by stála stopy dvojitého drátu přibližně 200 s velkým počtem kolíků vycházejících z procesoru. Je to ze stejného důvodu, že nevidíme implementovanou čistou architekturu Harvard pro PC a pracovní stanice. Místo toho se používá upravená harvardská architektura, ve které se pro oddělení programu a dat používá hierarchie paměti s mezipamětí CPU. Hierarchie paměti odděluje úložiště na základě hierarchie doby odezvy procesů.
Architektura instrukční sady
Vzhledem k tomu, že program (kód) je načten do paměti systému (RAM), je načítán CPU (s odkazem na mikroprocesor i mikrokontrolér), aby jednal s daty, je to velmi podobné tomu, jak dáváme pokyny, když cvičíme psa na určité akce a příkazy. Jak jsou tyto pokyny prováděny, určité tranzistory přecházejí z jedné logické úrovně do druhé, aby se tak stalo. V zásadě tedy pomocí instrukcí komunikuje lidský programátor s procesorem. Každý procesor má svou vlastní sadu instrukcí, soubor instrukcí založených na jeho architektuře a schopnostech.
CPU rozumí těmto instrukcím v kombinaci 0 a 1, které jsou také známé jako operační kód. Pro lidského programátora je opravdu těžké zapamatovat si kombinaci 0 a 1 pro každou instrukci spojenou s CPU. Abychom usnadnili práci lidského programátora, máme k dispozici rozhraní těchto pokynů na vysoké úrovni a kompilátor je převede ve formě 0 a 1 pro jejich zpracování. Také v instrukční sadě každého CPU má omezený počet instrukcí, kterým může rozumět.
Výkon CPU
Možná jste už slyšeli pojem hodinová frekvence CPU související s výkonem CPU. CPU mají obecně taktovací frekvenci v MHz (Mega-Hertz) nebo GHz (Giga-Hertz), jako je 25 GHz. Číslo přidružené k hodinové frekvenci udává, kolikrát hodiny uvnitř CPU tikají v cyklech za sekundu. Praktičnost hodinové frekvence lze chápat ze skutečnosti, že instrukce jsou prováděny na základě hodinových cyklů CPU, které jsou úměrné počtu programů, které CPU může běžet najednou.
Výkon procesoru závisí na počtu instrukcí, které jsou zapsány do programu, více instrukcí, více času potřebného CPU k jejich provedení. Závisí to také na počtu hodinových cyklů, ve kterých se provádí každá instrukce, některé instrukce vyžadují provedení více hodinových cyklů než jiné, takže zaostávají za výkonem CPU. Pokyny v programu a cykly potřebné k provedení každé instrukce jsou navzájem nepřímo úměrné. Změna jedné ovlivní druhou. Toto je bod, kde je průmysl CPU rozdělen.
Architektura instrukční sady RISC a CISC
Jak bylo řečeno výše, provedení programu a výkon CPU závisí na počtu instrukcí v programu, kde jsou instrukce navrženy pro tento konkrétní CPU jako součást sady instrukcí a druhým faktorem je počet hodinových cyklů v kterou je každá instrukce provedena. Na základě těchto dvou faktorů jsou v současné době k dispozici dvě sady instrukcí. Nejstarší z nich je Computing Instruction Set Computing (CISC), zatímco druhá je Reduced Instruction Set Computing (RISC). Pojďme si podrobně promluvit o každé z těchto architektur, abychom pochopili rozdíl mezi architekturou RIC a CISC.
Komplexní výpočetní sada instrukcí (CISC)
CISC je zkratka pro Complex Instruction Set Computing. Hlavním motivem CISC je snížit počet instrukcí, které program provádí, to se provádí kombinací mnoha jednoduchých instrukcí, jako je režim adresy, načítání atd., A vytvořit jedinou komplexní instrukci. Instrukce CISC zahrnuje řadu jednoduché instrukce, jakož i některé speciální instrukce, které trvá déle než jeden hodinový cyklus spustit. Pokyny CISC mohou přímo pracovat na paměti bez zásahu registrů, což znamená, že eliminuje potřebu některých základních instrukcí, jako je načítání hodnot a požadavek paměti (RAM). Pokyny CISC kladou větší důraz na hardware než na software, což znamená, že namísto zátěže kompilátorůCISC používá tranzistory jako hardware k dekódování a implementaci pokynů. Jelikož je však instrukce složitá a skládá se z několika kroků, jsou prováděny ve větším počtu hodinových cyklů.
Jednoduchá analogie vztáhnout je, když jste řekl, aby otevřel tu knihu a číst na 3 RD 2 Kapitola je nd stránku. V této sérii aktivit provedete několik kroků, jako je nalezení knihy z tašky, než zamíchání stránky do kapitoly 3 a pak přejdete na druhou stránku kapitoly a poté začnete číst. Série kroku, jestliže jsou spojeny v jediném výuku čtení strana 44 (což je 2 nd strana počet 3 rd kapitoly), dostaneme instrukce CISC.
Reduced Instruction Set Computing (RISC)
První integrovaný čip navrhl Jack Kilby v roce 1958, což byl oscilátor, a v 70. letech vyšel první komerční mikroprocesor od společnosti Intel. Ačkoli na začátku procesorů nebyl CISC. Ale s vysokými výpočetními nároky byla architektura CISC stále složitější a těžko zvládnutelná. Úplný redesign architektury CISC známý jako RISC vycházel z IBM John Coke. Aby bylo možné rozlišit mezi těmito dvěma architekturami, byly zavedeny pojmy RISC a CISC.
RISC je zkratka pro redukované výpočetní sady instrukcí. Hlavním motivem RISC bylo zavedení jednotnosti ve velikosti a provedení pokynů. To bylo provedeno zavedením jednoduché sady instrukcí, kterou lze provést jako jednu instrukci na cyklus, a to provedením rozbití složité instrukce, jako je načítání a ukládání, do jiné instrukce, kde každá instrukce trvá přibližně jeden hodinový cyklus. Architektura RISC obsahuje jednoduché instrukce stejné velikosti, které lze provést v jediném hodinovém cyklu. Stroje založené na RISC potřebují více RAM než CISC, aby uchovávaly hodnoty při načítání každé instrukce do registrů. Provedení jedné instrukce za cyklus dává strojům založeným na RISC výhodu pipeline(pipelining je proces, ve kterém je načtena další instrukce před provedením první instrukce, což zvyšuje efektivitu provádění). RISC architektura zdůrazňuje