Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29.

Slides:



Advertisements
Hasonló előadás
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Advertisements

Rendszertervezés Hardver ismeretek.
Memóriák típusai, jellemzői
A számítógép felépítése
Memória.
Neumann-elvek A számítógép legyen teljesen elektronikus, külön vezérlő és végrehajtó egységgel. Kettes számrendszert használjon. Az adatok és a programok.
A mikroprocesszor 1. rész.
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A számítógép alapegységei
A számítógép felépítése
Belső memóriák tipusai
A hardver és a személyi számítógép konfigurációja
Alaplapra integrált csatlakozók
A számítógép felépítése
Alapfogalmak Hardver:  A számításokat végző fizikai-technikai rendszer (kézzel fogható, fizikai termékek) Szoftver:  Programok, programrendszerek (szellemi.
Alapfogalmak Adat: fogalmak, tények, jelenségek olyan formalizált ábrázolása, amely emberi vagy gépi értelmezésre, feldolgozásra, közlésre alkalmas. Információ:
Központi feldolgozó egység (CPU)
PIC processzor és környezete
CISC - RISC processzor jellemzők
A memória.
2 tárolós egyszerű logikai gép vázlata („feltételes elágazás”)
Felkészítő tanár: Széki Tibor tanár úr
A memóriák típusai, jellemzői
Egy egyszerű gép vázlata
Hardvereszközök Hardvereszközök I.rész. Hardvereszközök CPU Memóri a Input Háttértárolók Outpu t A számítógép felépítési elve Neumann elvek: 1.Soros utasításvégrehajtás.
A számítógép felépítése
A számítógép alapegységei. A számítógép a belsőleg tárolt program segítségével automatikusan hajtja végre a programokat. A memória utasítások és adatok.
A mikroszámítógép felépítése
Mikrokontroller (MCU, mikroC)
Neumann János és elvei.
A számítógép felépítése
A Neumann-elvŰ számítógép
A számítógép elvi felépítése
A Neumann-elvek 3. ÓRA.
Processzor, alaplap, memória
A Neumann-elvű gépek A Neumann elvek:
Egy második generációs gép (az IBM 7094) felépítése
Egy első generációs gép (az IAS) felépítése
A központi egység Informatika alapjai Készítette: Senkeiné B. Judit.
Mikroprocesszor.
IT ALAPFOGALMAK HARDVER.
HARDVER IT ALAPFOGALMAK. NEUMANN-ELVŰ SZÁMÍTÓGÉPEK FELÉPÍTÉSE Központi feldolgozó egység Háttértárolók Adatbeviteli eszközök (Input) Operatív tár (Memória)
Alaplapra integrált csatlakozók
Ismerkedjünk tovább a számítógéppel
Mikroprocesszorok Működés.
Számítástechnikai alapismeretek 2. (TK o.)
1 Számítógépek felépítése 13. előadás Dr. Istenes Zoltán ELTE-TTK.
IT ALAPFOGALMAK HARDVER.
A számítógép felépítése
ifin811/ea1 C Programozás: Hardver alapok áttekintése
CISC-RISC processzor jellemzők Előadó: Thész Péter Programtervező informatikus hallgató Budapest,
A processzorok (CPU).
A számítógép feladatai és felépítése
A CPU (központi feldolgozó egység vagy processzor)
1 A számítógépek felépítése jellemzői, működése. 2 A számítógép feladata Az adatok Bevitele Tárolása Feldolgozása Kivitele (eredmény megjelenítése)
Neumann elvű számítógép. Neumann János ► Neumann János december 28-án Budapesten született ► 1930-ban emigrált az USA-ba.
Mikroprocesszorok és mikrokontrollerek Programozás és digitális technika ismétlés utolsó frissítés: 2016.VIII.26.
A NEUMANN-ELVŰ SZÁMÍTÓGÉP. A számítógép:  Információk tárolására, feldolgozására szolgáló eszköz.
Sz&p prof.
IKT Olyan eszközök, technológiák összessége, amelyek az információ feldolgozását, tárolását, kódolását és a kommunikációt elősegítik, gyorsabbá és hatékonyabbá.
CPU (Processzor) A CPU (Central Processing Unit – Központi Feldolgozó Egység) a számítógép azon egysége, amely értelmezi az utasításokat és vezérli.
RAM (Random Access Memory)
Információtechnológiai alapismeretek
Neumann elvek, a számítógép részei
Neumann elvek és a Neumann elvű számítógép felépítése
A számítógép felépítése
Az információ.
A számítógép feladatai és felépítése
A számítógép működésének alapjai
Számítógépek felépítése 9. előadás I/O rendszerek
Előadás másolata:

Számítógépek és processzorok Elvek, felépítés, működés utolsó módosítás: 2016.VII.29.

I.1. Mi az a számítógép? Nem triviális kérdés! Sok különböző felépítésű, működésű és célú számítógép létezik. Személyi számítógép, szuperszámítógép, beágyazott rendszer stb. Analóg vs digitális, bináris vs decimális vs trináris, boole – fuzzy - neurális – kvantum – dns...

Ez?

Vagy ez?

Netán ez?

Esetleg ez?

E?

Ez meg mi?

Hát?

I.2. Alapelvek Algoritmus: egy probléma megoldásához használt eljárás, módszer, utasítássorozat -» program Al Hvarizmi (kb ), perzsa tudós nevének torzított alakjából, aki „Hiszáb al-dzsabr va l-mukábala” c. munkájában lefektette az algebra alapjait.

Alapelvek Univerzális, programozható számítógép

Computer (1949)

Alapelvek Számítógép Computer: eredetileg a számításokat végző embereket hívták így Számológép (hagyományos): matematikai számolások elvégzésére képes Számítógép: a számológép + az őt kezelő személy Ebből a személyből is idővel gép lett, így született a modern számítógép

Alapelvek Analóg számítógép

Alapelvek Digitális számítógép

Számítógép Program: számítások, műveletek sorozata, amelyek adott bemenő adatokból (input) a kívánt kimeneti adatokat (output) előállítja (matematikailag: algoritmus, azaz annak megvalósítása adott gépen) Tárolt program: előre bevihetjük a programot és az adatokat egy (több) tárolóba (memória), ahonnan a gép a saját ütemezésében be tudja hívni

Számítógép A tárolt program teszi lehetővé az összetettebb műveleteket, vezérlési lehetőségeket, időzített működést stb. Fontos részei a feltételes utasítások (elágazások), ugrások (függvényhívások) és ciklusok – ezek különböztetik meg az egyszerű, soros (szekvenciális) programú számológépektől

Személyi számítógép (Personal Computer) Otthoni és munkahelyi használatra. Emberre szabott beviteli, kiviteli és feldolgozó eszközökkel (perifériákkal): (billentyűzet, egér, képernyő, nyomtató, mikrofon, hangszóró és ezek meghajtó egységei, háttértárak stb.) közepesen nagy teljesítményigényű feladatokra van kitalálva

Személyi számítógép Az eredeti IBM-PC (IBM 5150) 1981

Mobil számítógépek Valahol a PC és a beágyazott rendszer között. „Okostelefon”, tablet, stb.

Mobil személyi számítógép

Szuperszámítógép Tudományos és mérnöki számításokhoz. Működtetése gyakran más számítógépeken keresztül történik, saját humán interfészek nem szükségesek Nagyon nagy számítási teljesítmény (sok processzoros párhuzamos rendszerek) Akár hónapokig is számolhat egy feladatot

Szuperszámítógép

Beágyazott rendszer (Embedded system) Különböző eszközök (gépek) vezérlésével foglalkozó, azokba beépített számítógép. Jellemzően nem rendelkezik humán input- output (IO) eszközökkel Más eszközökkel való kommunikációra alkalmas IO eszközei vannak (interfészek, portok) Kis, közepes számítási teljesítmény

Beágyazott rendszer

Beágyazott rendszer humán interfésszel

II. Számítógépek és processzorok működése

II.1. Számítógépek alapelvei Turing, 1936 „On computable numbers...” Neumann, 1945 „First Draft of a Report on the EDVAC” Turing 1946 Automatic Computing Engine  fenti publikációk egymásra is hatottak, ezek írják le a ma Neumann-elvekként ismert alapokat  tárolt (flexibilis) program, kettes számrendszer, egész, fixpontos, lebegőpontos ábrázolás, kettes komplemens  alapvető felépítés Turing 1950 „Computing machinery and intelligence”

Neumann elvek (számítógép) Kettes számrendszer, számábrázolási formátumok Tárolt program; tárolt adatok alap blokkvázlat (ALU, CU, IO, memória, perifériák)

Neumann vs. Harvard architektúra Neumann: közös adat és program tárolás (kb. pl. PC) Harvard: külön program és adat tárolás (pl.mikrovezérlők) Vegyes (pl. PC -> cache) szokás szerint nem egyértelmű és sok változatuk van

II.2. Utasításkészlet Utasításkészlet (instruction set): a processzor által „hardveresen” ismert utasítások halmaza Gépi kód (machine code): az utasításkészletben található utasítások sorozatából álló program, binárisan tárolva, gyakran hexadecimálisan megjelenítve. Ez a processzor által közvetlenül futtatható program.

Utasításkészlet Assembly: a legalacsonyabb szintű, processzorfüggő programozási nyelv. Lényegében a gépi utasításokhoz egy-egy könnyebben megjegyezhető szót rendelünk (mnemonic), ill. megkönnyítjük az adatábrázolást, behelyettesítéseket (tehát pl. a számadatokat írhatjuk decimálisban, a szöveges adatot ascii-ban, az ugrásoknál név szerint hivatkozhatunk a sorokra stb.).

Utasításkészlet Az eredetileg nem gépi kódban megírt programokat fordítóprogram (compiler) segítségével (régen kézzel!) alakítják gépi kódra. Magasabb szintű (pl. grafikus) nyelveknél ez akár több lépésben (közbenső nyelv használatával) is történhet. Kérdés: milyen nyelven írják a fordítót?

II.3. Mi van a processzorban? Processzor fő részei: ALU: aritmetikai és logikai egység (arithmetic and logic unit) CU: vezérlő egység (control unit) regiszterek: kisméretű belső memória az ideiglenes adatoknak (számolási részeredményeknek) adatbusz csatlakozás: a bináris adatoknak (jell. párhuzamos) címbusz csatlakozás: a külső memória és perifériák címzéséhez (jell. párhuzamos)

Processzor működése Szükséges egy órajelet (clock) biztosítani Ennek ütemére végzi a processzor a feladatok lépéseit, olvassa be és küldi ki az adatokat Egy-egy művelet elvégzése sok órajel-ütemet is igénybe vehet! Pipeline és párhuzamos feldolgozás miatt az órajel frekvenciája nem egyértelmű mutatója a műveletvégrehajtási sebességnek

Processzor működése Memória címzése (address bus), olvasás parancs (control bus, memory read) Utasítás beolvasása (fetch) (data bus->instruction register) Memóriacím növelése (program counter) minden beolvasott utasítás „szó” (memóriacella) után Utasítás értelmezése (decode) Szükség esetén utasítás következő részének beolvasása Szükség esetén utasításhoz tartozó adat beolvasása Utasítás végrehajtása (execute) Szükség esetén végeredmény kiadása (data bus) vagy ugrás végrehajtása (program counter) ld. Z80 folyamatábrás diasor!

Pipeline („csővezeték”) Program futtatás meggyorsítását célzó üzemmód Lényege, hogy több lépésre bontjuk a program végrehajtását, és azokat futószalagszerűen hajtjuk végre Akkor optimális, ha kevés az ugrás/elágazás a programban

Utasításkészlet fajtái RISC: reduced instruction set computer CISC: complex instruction set computer egyéb (pl. OISC: one instruction) szokás szerint nem egységes a definíció, nem egyértelmű a meghatározás

CISC sok utasítás (nem feltétlen!) összetett utasítások (bonyolultabb feladatok megoldhatóak egy utasításból) összetett adatszerkezetek támogatása utasítások többféleképpen, közvetlenül is hozzáférnek memóriához (sokak szerint ez a fő ismérve CISC-nek)

CISC Előnyei:  magasabb szintű nyelvekről könnyebb fordítani (?)  ha sok összetett utasításra van szükségünk, gyorsabb és rövidebb lehet a programunk  a kevés utasítást tartalmazó, de közvetlen memória hozzáférést biztosító változatnál (pl. egyesek szerint a PIC) könnyebb lehet az asm programozás

CISC hátrányai:  ha sok bonyolult utasítás van, nehezebb lehet az asm programozás ill. hibakeresés (debug)  uP erőforrást/helyet foglal sok olyan funkció, amit ritkán használunk CISC-et gyakran microcode architektúrával valósítják meg

Utasításkészlet: microcode microcode: a processzoron belül kétszintű a program végrehajtása: a gépi kódú utasításokat még alacsonyabb szintű utasítások (microinstructions) sorozatára bontja (CISC->RISC) kívülről nem látszik – még assembly szinten sem! a gépi kód így könnyebben változtatható a hardver módosítása nélkül; ill. hasonló processzortípusok gépi kódja is hasonló lehet, míg a microcode különbözik (kód hordozhatóság) akár más processzor emulációja is lehetséges könnyebb hardver (processzor) fejlesztés

RISC kevesebb utasítás egyszerűbb utasítások memóriából (RAM) jellemzően csak egyszerű írás-olvasás művelet van, azaz RAM-ból beolvassuk értéket uP regiszterébe, onnan férnek hozzá az utasítások (load/store architecture)

RISC előnyei:  az összetett utasításokra ritkábban van szükség, így kevesbé hátrányos, hogy azokat szoftverből valósítjuk meg  a uP adott méretében az egyszerűbb, kevesebb utasítás megvalósítása gyorsabb műveletvégzést eredményez, ill. maradék helyet pl regisztereknek, egyéb funkcióknak

RISC  igyekeznek arra, hogy utasítások hossza és végrehajtási ideje egyforma (és rövid) legyen  elősegíti a pipeline szervezést hátrányai:  jobban optimalizált fordítóra van szükség  a gépi kód hosszabb lehet,  ha sok bonyolult utasítás kell, akkor lassabb lehet

CISC-RISC a különbség, a definíció nem egyértelmű: lehet egy uP-ban kevés, egyszerű utasítás, de összetett memóriakezeléssel lehet egyszerű load/store memóriakezelés, de bonyolult, nagy utasításkészlettel (pl. magasabbszintű matematikai műveletek, mátrixok, hardverkezelés)

II.4. Alaplapok felépítése

CPU CPU: Központi feldolgozó egység (central processing unit) egy számítógépben a fő program futtatásáért, a gép fő vezérlési feladataiért felelős processzor ezenkívül lehetnek egyéb processzorok is a gépben (pl. periféria vezérlés) a központi egység állhat több processzorból...

Egyszerű buszrendszer

Példa előzőre: ZX Spectrum (Z80)

IBM-PC (8088) (1981)

IBM PC-AT (80286) (1984)

80386 Processzor órajele magasabb lett, mint az ISA buszé, szükségessé vált az illesztő hardver

Pentium Északi híd – Déli híd architektúra

Intel Hub Architecture (IHA) Pentium Pro -...

Intel PCH architektúra Core sorozat

BIOS Basic Input-Output System ROM-ban tárolt kisméretű program A gép indulásakor ezt olvassa be a CPU elsőnek Ez indítja el a háttértáron (pl. merevlemez) tárolt operációs rendszert Bizonyos alapszintű függvényhívásokat is biztosít a programok számára (hardverkezelés) PC-AT óta tartozik hozzá egy program, amivel a PC alapbeállításait lehet módosítani, ezeket RAM-ban tárolja (előtte kapcsolósor volt)

II.5. Memória RAM: random access memory, tetszőleges hozzáférésű, írható-olvasható memória, jellemzően illékony ROM: read only memory, csak olvasható (gyárilag írt), nem illékony EEPROM, Flash: olyan ROM, amit megfelelő módszerekkel felhasználó is felülírhat

SRAM Minden bit lényegében egy flip- flop. Egy bit általában 6 tranzisztor. Van 4 tranzisztor + 2 ellenállás változat is (többet fogyaszt, kisebb hely). Amíg van tápfesz, megtartja az értékét (nem kell frissíteni). Gyorsabb, mint a DRAM. Kisebb az adatsűrűség (bit/terület), mint DRAM, egy bit több helyet foglal, de egyszerűbb a vezérlése. Drágább. Ilyen van a cache-ben ill. mikrokontrollerekben.

DRAM Minden bit egy tranzisztor + egy kondenzátor. Nagy adatsűrűség. Rendszeres frissítés kell - külső vezérlő vagy a DRAM-ba beépített (kondi elveszti töltését). 64ms frissítési idő (refresh time) sor: 7,8us frissítési ciklus Felhasználás: nagy méretű RAM (számítógép)

Cache Sebességnövelő megoldás uP-n kívüli memória hozzáférés lassabb, mint a tokba beépítetté DRAM lassabb, mint SRAM (de nagyobb) cache: kisméretű, gyors SRAM processzoron belül

Cache külső RAM-ból a cache-be töltjük azokat az adatokat, amelyeket a közeljövőben gyakran kívánunk használni  futtatott program részei  szükségesebb adatok, változók külső RAM-mal szinkronizálni kell!  összetett vezérlést igénye többszintű lehet

Cache AMD Athlon 64

DMA – Direct Memory Access CPU helyett DMA controller-en megy keresztül az adat A DMA controller gyorsabban, hatékonyabban viszi át az adatokat, ill. képes nagy blokkok átvitelére (nem kell külön bájtonként utasítani CPU-t – bár a tömbátvitelt már ismerik a modern processzorok (vektorutasítások))

DMA Probléma: buszt egyszerre csak vagy CPU vagy DMA kezelheti. Bájtonkénti átvitel: egyes átvitelek között CPU megkaphatja a buszt (be kell olvasnia az utasításokat stb) (cycle stealing) – pl. real time rendszerekben Tömbösített átvitel (burst mode): CPU vár (hold) Ha memória órajel gyorsabb, mint CPU akkor felváltva férhetnek hozzá (interleaved) Átlátszó (transparent): DMA figyeli, mikor szabad a busz Ha van cache, CPU dolgozhat tovább, de ilyenkor különbség lehet a cache és a RAM tartalma között (cache incoherence) -> cache-t ki kell írni DMA művelet előtt

DMA ISA busz: van egy/két DMA vezérlő, 4/8 DMA csatorna PCI busz: nincs központi vezérlő, bármelyik PCI eszköz kérheti a busz vezérlését a PCI vezérlőtől (déli híd)

II.6. Példák processzor felépítésre

4004

8008 (részletesebb)

8080

Z80

Z80 teszt áramkör

8087 FPU (Floating point unit)