Számítógépek architektúrák. Bemutatkozom. A tárgy célja. Architektúrák



Hasonló dokumentumok
Számítógép architektúrák. Bemutatkozom. A tárgy címe, célja. Számítógépek, számítási modellek

Számítógépek architektúrák. Architektúrák

Számítógépek architektúrák. Architektúrák

Számítógépek architektúrák. Architektúrák

Számítógép architektúra

Számítógépek felépítése, alapfogalmak

A számítástechnika fejlődése

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése

1. Fejezet: Számítógép rendszerek. Tipikus számítógép hirdetés

Bevezetés az informatikába

UNIX / Linux rendszeradminisztráció

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Ez egy program. De ki tudja végrehajtani?

Számítógép architektúrák I. Várady Géza

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

Programozás alapjai Bevezetés

Informatika érettségi vizsga

1. Fejezet: Számítógép rendszerek

Számítógép architektúrák

Alapismeretek. Tanmenet

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Utolsó módosítás:

Programozás alapjai. Wagner György Általános Informatikai Tanszék

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Számítógép felépítése

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Alkalmazások típusai Szoftverismeretek

Operációs rendszerek

Párhuzamos programozási platformok

Utolsó módosítás:

Számítógép architektúrák. Bevezetés

IT - Alapismeretek. Megoldások

Párhuzamos programozási platformok

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

IT - Alapismeretek. Feladatgyűjtemény

SzA19. Az elágazások vizsgálata

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

A számítógép egységei

Architektúra, megszakítási rendszerek

Alapismeretek. Tanmenet

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

OPERÁCIÓS RENDSZEREK. Elmélet

Jacquard szövőgépe, vezérlési modulok használata 1805 lyukkártyás vezérlés

A mikroprocesszor felépítése és működése

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Bevezetés az informatikába

iseries Client Access Express - Mielőtt elkezdi

A szoftverfejlesztés eszközei

Mobil operációs rendszerek. Készítette: Kisantal Tibor

TANMENET 2018/2019. tanév

Számítógépek, számítógép rendszerek

Programozás alapjai. 10. előadás

Programozási nyelvek 6. előadás

1. Milyen eszközöket használt az ősember a számoláshoz? ujjait, fadarabokat, kavicsokat

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Bevezetés a számítástechnikába

Grafikus csővezeték 1 / 44

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

Operációs rendszerek

Nagy Gergely április 4.

Intelligens biztonsági megoldások. Távfelügyelet

Alapismeretek. Tanmenet

A Számítógépek hardver elemei

Mértékegységek a számítástechnikában

Összeadás BCD számokkal

CRA - Cisco Remote Access

Az informatika fejlõdéstörténete

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Operációsrendszerek. 1. elıadás. Standard ismeretek

A számítógép fő részei

Bepillantás a gépházba

Számítógépes alapismeretek

Számítógépes munkakörnyezet II. Szoftver

Máté: Számítógép architektúrák

ÜDVÖZÖLJÜK A HaXSoN BEMUTATÓN!

Információs társadalom

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Programozható logikai vezérlő

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK A STRUKTURÁLT SZÁMÍTÓGÉP-FELÉPÍTÉS. Misák Sándor. 2. előadás DE TTK

Számítógép architektúrák. A mai témák. A teljesítmény fokozás. A processzor teljesítmény növelése

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

SZÁMÍTÓGÉP-ARCHITEKTÚRÁK

Processzor (CPU - Central Processing Unit)

Operációs rendszerek. Bemutatkozás

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

Podoski Péter és Zabb László

OPERÁCIÓS RENDSZEREK. Célkitűzések, tárgyfelépítés. Módszerek. OS fogalom, struktúrák. 2005/2006. tanév II. félév Dr. Vadász Dénes

Adatstruktúrák, algoritmusok, objektumok

Utolsó módosítás:

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Tartalomjegyzék. Előszó... 10

A mai témák. Számítógép architektúrák. CISC és RISC. A teljesítmény fokozás. További előnyök. A RISC gondolat

Digitális technika VIMIAA hét

Átírás:

Számítógépek architektúrák Architektúrák Bemutatkozom Dr. Vadász Dénes, egyetemi docens vadasz@iit.uni-miskolc.hu http://www.iit.uni-miskolc.hu/~vadasz Informatikai Intézet épülete, I. emelet, 111. szoba Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai és villamosmérnöki tanszékcsoport Általános informatikai tanszék http://www.iit.uni-miskolc.hu Architektúrák Vadász, 2007. 2 A tárgy célja Számítógép (computer) Egy programozási nyelv segítségével leírt számítási feladat végrehajtására szolgáló eszköz 1 Architektúra (felépítés, szerkezet) 2 Funkcionális specifikáció az irányultság: specifikáció, Megvalósítási célú irányultság: egységek és kapcsolódásuk. Bármelyik irányultságnál különböző részletezettség A tárgy célja: általános hardverismeret megszerzése, továbbá felhasználói felületek (parancsértelmezős és grafikus) megismerése. Szemléletmód kialakítás. Architektúrák Vadász, 2007. 3 1

Az oktatási módszereink Vetített képes előadások http://www.iit.uni-miskolc.hu/vadasz/geial301b itt az előadások képei nyomtatható formában (Acrobat Reader) A Számítógépek, számítógép rendszerek c. jegyzet Az előadásokon a lényeges dolgok kiemelése, fontos definíciók, konvencionális szóhasználat stb. Laboratóriumi gyakorlatok Kötelező a látogatásuk Önálló feladatok Architektúrák Vadász, 2007. 4 A teljesítés feltételei Aláírás és vizsga Az aláírás feltételei A gyakorlatokon aktív jelenlét, az ottani feladatok eredményes elvégzése. Legalább 10 gyakorlatot el kell ismertetni! Köztük a szerelés kötelező! Köztük évközi zh. kötelező! Aláírást csak a tanulmányi időszakban szerezhetnek! A vizsga írásbeli és szóbeli vizsga A beugró írásbeli után a szóbelin tételekről Architektúrák Vadász, 2007. 5 Az ütemterv A tárgy honlapján, a tanszéki hirdetőtáblán Témák: Szászámítási modellek, architektúrák A felhasználó szemlélete. Szolgáltatások. Parancsnyelvek. A CPU Memória Sínek Eszközök: képernyő, billentyűzet, mutatók Háttértárak, nyomtatók Esettanulmányok Architektúrák Vadász, 2007. 6 2

Számítógép történet Tanulmányozzák Katona István A számítógép története c. prezentációját! http://www.ektf.hu/mediainf/inf/ktoth/konyvtar/szamitogeptortenet_elemei/frame.htm Ebből fontos: a Neumann elvű gép A Neumann elv röviden: 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 ugyanabban a belső tárban, a memóriában legyenek. A számítógép legyen univerzális Turing-gép 1 (soros utasítás végrehajtás elve érvényesüljön) Architektúrák Vadász, 2007. 7 Fontos mérföldkövek Év Név Készítő Megjegyzés 1834 Analytical Engine Babbage Az első általános célú számítógép 1936 Z1 Zuse Első működő, relés technikával 1943 COLOSSUS Brit kormáy Első elektronikus gép. Szupertitkos 1944 Mark I Aiken Első amerikai általános célú 1946 ENIAC Ecker/Mauchley A modern számítógépek története indul 1948 Neumann A Neumann elv megszületik 1949 EDSAC Wilkes Első tárolt program elvű 1952 IAS Neumann A mai géptervezés alapjai 1961 1401 IBM Üzleti célú, népszerű 1962 7094 IBM Tudományos számításokhoz 1964 360 IBM Általános célú Architektúrák Vadász, 2007. 8 Fontos mérföldkövek Év Név Készítő Megjegyzés 1964 6600 CDC Első tudományos célú szuperszámítógép 1965 PDP-8 DEC Tömegesen elterjedt mikroszámítógép 1970 PDP-11 DEC Tömegesen elterjedt mikroszámítógép 1974 8080 Intel 8 bites lapkán általános célú gép 1974 CRAY-1 Cray Első vektoros szuperszámítógép 1978 VAX DEC 32 bites miniszámítógép, 1 MIPS-es 1981 IBM PC IBM Személyi számítógépek kora indul 1985 MIPS MIPS RISC korszak indul 1987 SPARC Sun SPARC alapú munkaállomások 1990 RS6000 IBM Az első szuperskalár gép Architektúrák Vadász, 2007. 9 3

Fontos mérföldkövek Év Név Készítő Megjegyzés 1991 R4000 MIPS Már 64 bites a processzor 1992 1994 2001 Alpha IA-64 Itanium DEC Intel Intel Kiváló RISC processzor Bejelenti terveit, 98-99-re tervezik bevezetni Valódi 64 bites 2003 2003 PowerPC AMD64 Apple AMD Mc OS operációs rendszer 32 bitessel kompatibilis (azt emulálja) Opteron, Athlon Architektúrák Vadász, 2007. 10 Az utóbbi évtizedek a számítástechnikában Az évek 60-as 70-es 80-as 90-es A paradigma Kötegelt feldolgozás Időosztás Asztali gépek Hálózatok Hol? Terminálszobában Számítóközpontban Íróasztalon Mobil Az adatok Numerikus adatok Szövegek + számok + rajzok Multimédia Fő cél Számítások Hozzáférés Kommunikáció Megjelenítés Architektúrák Vadász, 2007. 11 Az utóbbi évtizedek a számítástechnikában 2 Az évek 60-as 70-es 80-as 90-es A paradigma Batch Time sharing Desktop Network Az interfész Lyukkártya Billentyűzet + CRT Lásd és kattints Kérdezd és mondd Kapcsolódás Nincs Terminál vonalak LAN Internet Tulajdonos Intézeti sz.központ Osztályok Osztályok dolgozói Mindenki Architektúrák Vadász, 2007. 12 4

Szemléletek... Számítógép (computer) Egy programozási nyelv segítségével leírt számítási feladat végrehajtására szolgáló eszköz 1 Architektúra (felépítés, szerkezet) 2 Funkcionális specifikáció az irányultság: specifikáció, Megvalósítási célú irányultság: egységek és kapcsolódásuk. Bármelyik irányultságnál különböző részletezettség A tárgy célja: általános hardverismeret megszerzése, továbbá felhasználói felületek (parancsértelmezős és grafikus) megismerése. Különböző szerepköri szemléletek is vannak... Architektúrák Vadász, 2007. 13 Általános felhasználói látásmód Többnyire felső szint Grafikus v. parancsnyelvi felhasználói felület (ikonok, ablakok, eszközök, fájlok, könyvtárak stb., parancs, megnyitás, indítás, kattintás vonszolás stb.) Szolgáltatások Irodai Kommunikációs Információszerző Védelmi, menedzselő Adott célú alkalmazások Architektúrák Vadász, 2007. 14 Programozói látásmód Közeledünk a konkrétumokhoz... Amit a felhasználó lát, azt a programozó is Fejlesztői felület (editorok, make, fordító és taszképítő, debugger stb.) Ezt a szemléletet más tárgyakban oktatjuk Rendszergazdai látásmód Közelebb a valódi géphez Az operációs rendszert, szolgáltatásokat, ezek menedzselését ismernie kell Architektúrák Vadász, 2007. 15 5

Hardverismeret Kell-e? Könnyebb az egyszerű felhasználónak is, ha vannak bizonyos ismeretei Programozónak több... Rendszergazdának sok... Hardveresekenek egész sok, villamosmérnökségi szint Figyeljünk fel arra, hogy a egy számítógépet a hardver és szoftver architektúrája együtt határozza meg. Kijelentjük: ez a Neumann elvből származtatható gondolat! (Magyarázzák a származtatást!) Architektúrák Vadász, 2007. 16 Az eredeti Neumann gép Tár (Memória) Vezérlő egység Végrehajtó egység (ALU+Accum.) I/O egység Architektúrák Vadász, 2007. 17 A Neumann architektúra (mai fogalmakkal) CPU CU ALU Regs Central Memory I/O Peripheries Bus Control Unit: Vezérlő egység ALU: Aritmetikai és logikai egység Regs: Regiszterek Central Memory: Központi memória, tár I/O Peripheries: Ki/bemeneti egységek, perifériák Bus: Sín, adattovábbító áramkörök Central Processing Unit: Központi feldolgozó egység, processzor Architektúrák Vadász, 2007. 18 6

Egy másik funkcionális modell Architektúrák Vadász, 2007. 19 A központi tár és perifériák A memória Adatokat (bit, bájt, szó, blokk, mezőkből álló rekord, fájl stb.) és gépi instrukciókat tartalmazó, címezhető cellák (rekeszek) készlete. Valamilyen fizikai hatásra kialakuló állapot, állapotkülönbség (mágnesezettség, töltöttség, feszültségszint, fény törés stb.) A perifériák (ki/bemeneti egységek) Periféria vezérlő áramkörökkel (controller, adapter) kapcsolódó eszközök (devices). A CPU A gépi instrukciókat feldolgozó (processzáló) egység, a processzor. Több funkcionális elemből áll (CU, ALU, Regs stb.) Architektúrák Vadász, 2007. 20 A Neumann gép működése A memória rekeszeiben ott vannak a gépi instrukciók (a kód, a program) és az adatok. A CPU memóriából felhozza (fetch) a soron következő gépi instrukciót A CU elemzi az instrukciót. Értelmezi. Ha szükséges, a memóriából felhozza az instrukció operandusát Az ALU végrehajtja az instrukciót A végrehajtás eredménye a regiszterekbe, esetleg a memória megfelelő rekeszébe kerül Folytatódik a soron következő instrukcióval Architektúrák Vadász, 2007. 21 7

Az állapotterek Vegyük észre e következő absztrakciókat A soron következő instrukció koncepció egy instrukció folyam (instruction stream) képzetet ad Ezen folyamon egy mutató mutathatja a soron következő elemet. Ez a mutató a programszámláló regiszter (PC: Program Counter, IP: Instruction Pointer) Az instrukció folyam instrukcióinak készlete vezérlési állapotteret határoz meg. Ebből egy állapotot az ad meg, hogy az i-edik lépésben mely instrukciót hajtja végre a processzor Létezik számunkra egy adat folyam is: a memória rekeszeknek és regisztereknek az a sora, mely az egymás utáni instrukciókban operandusként szerepelnek. Az adat folyam elemei adat állapotteret határoznak meg. Egy-egy instrukció végrehajtása állapot változást hoz. Architektúrák Vadász, 2007. 22 Kis előleg a félév végéről... Kérdések Csakis egy IS és DS képzelhető el? Dehogy! SIMD: ugyanazt az instrukció folyamot változó (különböző, többszörös) adatfolyamon el tudjuk-e képzelni? Hol lehetne ezt? Mi képezi a vezérlési állapotteret? Mi a vezérlési állapot (az állapottér egy eleme)? Adat állapottér? Ennek egy eleme? Állapot változás? Mi okozza? Architektúrák Vadász, 2007. 23 Az instrukció folyam végrehajtása A program (az instrukció folyam, a kód) futása állapot átmenetek láncolatát hozza. A vezérlés állapot átmenet láncolat kulcsjellemzője a programszámláló regiszter egymás utáni értékei: a vezérlés menete (flow of control). 1 (thread, szál fogalom) A Neumann elvű gépekre jellemző ez az egy vezérlés menet (Single Instruction Stream) egy adat folyamon (on Single Data Stream): SISD 2 Architektúrák Vadász, 2007. 24 8

Állapotfüggés Hogy egy instrukció milyen állapotba billent, az függ az előző állapottól... Állapot-érzékeny a Neumann gép El tudunk-e képzelni állapot-független gépet? Architektúrák Vadász, 2007. 25 A Neumann gép és az imperatív programozás Az imperatív nyelvekkel a vezérlés menetét manipuláljuk Tedd ezt ezzel, utána ezt stb. FORTRAN, C, Pascal, Basic Ezért az imperatív programozási paradigma jól megfelel a Neumann gépnek Architektúrák Vadász, 2007. 26 Hiba és eseménykezelés a Neumann gépen Az eseményekhez kezelő (handler) instrukciófolyam tartozik Az esemény bekövetkeztekor a vezérlés menete ugorjon a kezelőre (a CPU állapot, a kontextus lementése után) A kezelés után (ha lehetséges) a vezérlés menete térjen vissza a normál instrukció folyamra, folytatódjon a processz futása (az állapot, a kontextus vissza-emelése után persze). Összegezve: a hiba és eseménykezelés a vezérlés menetének manipulálásával történik. Architektúrák Vadász, 2007. 27 9

Egy más elvű gép: adatfolyam gép A Dataflow Machine (kontrasztként) ideája: szeparált processzorok minden operációra (operáció lehet: aritmetikai, logikai, függvényhívás stb.) Az operációk (processzorok) várnak, míg operandusuk értéke előáll, utána adják eredményüket. A processzorok (operációk) függetlenek. A legkorábbi lehetséges pillanatban adják az eredményüket. Az operációk végrehajtásának sorrendje az adatfolyamból adódik. Architektúrák Vadász, 2007. 28 Példa: adott a és b, kiszámítandó átlaguk és négyzeteik átlaga Egy virtuális Neumann gép (szekvenciális végrehajtás) sum := a + b av := sum/2 asq := a * a bsq := b * b sumsq:= asq+ bsq A flow of control IP a b sum av asq bsq sumsq avsq 1 x 2 x 3 x 4 x 5 x avsq := sumsq/2 6 x Az állapotvektor a 3. absztrakt instrukció végrehajtása után Architektúrák Vadász, 2007. 29 Gyakran használt fogalmak Virtualitás, virtuális (látszólagos) Valami, ami valóságosan nem létezik, de mégis úgy használhatjuk, mintha létezne Pl. virtuális meghajtó, emulált terminál, virtuális gép stb. Transzparencia, transzparens (átlátszó) Valami, ami ott van, de nem látjuk, nem vesszük észre, nem kell törődni vele, mert átlátszó. (Pl. az előbbi virtuális diszk-meghajtót a hálózaton át egy fájlszerver biztosítja, akkor a hálózat transzparens, nem kell vele törődni.) Világos, tiszta, nem titkolt Architektúrák Vadász, 2007. 30 10

Példa: adott a és b, kiszámítandó átlaguk és négyzeteik átlaga Neumann gép (szekvenciális végrehajtás) IP 600 604 608 60C 610 614 618 61C 800 804 808 80C 810 814 800 804 808 80C 810 814 a b sum x av x asq x bsq x sumsq x avsq x ADD a,b,sum DIV sum, 2, av MUL a, a, asq MUL b, b, bsq ADD asq, bsq, sumsq DIV sumsq, 2, Architektúrák avsq Vadász, 2007. 31 Példa: adott a és b, kiszámítandó átlaguk és négyzeteik átlaga Adatfolyam gép sum := a + b av := sum/2 asq := a * a bsq := b * b sumsq := asq + bsq avsq := sumsq/2 Hibakezelés: explicit hibaértékekkel a * + asq sum 2 / av 2 * bsq + sumsq / b avsq A nyilak: neves, vagy névnélküli értékek. A körök: az operációkhoz rendelt processzorok. Architektúrák Vadász, 2007. 32 Példa: adott a és b, kiszámítandó átlaguk és négyzeteik átlaga Adatfolyam gép Van 6 processzor a 6 operációhoz, nincsenek változók (név, érték, típus, cím), névvel ellátott értékek vannak (a,b,asq,bsq,sum stb). A neves értékek nem definiálhatók át! Redefinició esetén nem tudnák a processzorok, melyik értékre várjanak! A neves értékeknek típusa és explicit hibaértéke van! Ui. egy processzor mindenképp kell eredményezzen értéket, legföljebb hibás eredményt! Kaphat hibás inputot is. Architektúrák Vadász, 2007. 33 11

Számítógép - nyelvek - számítási modell A számítási modellek összetevői a számítás alapelemei a problémaleírás modellje a leírás jellege és módszere; a végrehajtás modellje a végrehajtási szemantika a végrehajtás kontrollja Architektúrák Vadász, 2007. 34 A Neumann modell Az alapelemek: azonosítható entitásokhoz rendelt (típusos) adatok. (Változók, többszörös értékadás) Problémaleírás procedurális/imperatív (lépésenként megadva ) A végrehajtás modellje a szemantika: állapotátmenet szemantika a kontroll: közvetlen vezérlés ( a vezérlés menete ) Architektúrák Vadász, 2007. 35 Az adatfolyam modell Az alapelemek: azonosítható entitásokhoz rendelt (típusos) adatok. (Egyszeri értékadás) Problémaleírás deklaratív (az operációk felsorolása pl. függvények használatával ) A végrehajtás modellje a szemantika: applikatív a kontroll: adatfolyam vezérelt Architektúrák Vadász, 2007. 36 12

Neumann elvű gép A gép fő részei, követelmények: ALU, vezérlő egység, memória, perifériák, 2-es számrendszer, elektronikus. Előtte? Tárolt program elv: A tárban az adatok és a program is. Előtte? Következményei: jók és rosszak. Automatikus működés (közvetlen vezérlés): program szerint, állapotok, állapotátmenetek, a vezérlés menete, PC/IP szerepe. Babbage Analitical Engine: megfelel? Architektúrák Vadász, 2007. 37 Számítógép: hardver és szoftver architektúra A legáltalánosabb SW architektúra Direkt futtatás, monitor, operációs rendszer Az OS fogalma Kiterjesztett gép Erőforrás menedzser Alkalmazás Felhasználói felület Operációs rendszer Hardver A rétegezettség (layered architecture) Egy réteg elrejti az alatta fekvő rétegek részleteit. Elegendő csak az alattad lévő réteg felületét (interface) ismerni Architektúrák Vadász, 2007. 38 Operációs rendszer osztályozás Cél szerint: általános, cél HW nagyság szerint: PC, kis, nagy, szuper Processzorok, processzek, felhasználók száma szerint Időosztás szerint: szekvenciális, time sharing: kooperativ, beavatkozó Memóriamenedzselés szerint: valós, virtuális Fájlrendszer implementáció szerint Architektúrák Vadász, 2007. 39 13

Összefoglalás Bevezetés Egy kis história A Neumann elvű gép és az adatfolyam gép. Számítási modellek Architektúrák Vadász, 2007. 40 Számítógépek architektúrák Architektúrák VÉGE 14