Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Építsünk Processzort Avagy mi is kell hozzá.

Hasonló előadás


Az előadások a következő témára: "Építsünk Processzort Avagy mi is kell hozzá."— Előadás másolata:

1 Építsünk Processzort Avagy mi is kell hozzá

2 Szóhossz és címtartomány meghatározása
Legyen 8 bites, vagyis 1 bájtos (Ez mindig használatos) Címtartomány legyen két szó hosszú = 16 bit, 64 k (Ha józanul használjuk sok mindenre elég) Címtartomány bővítés: 3 bájt 24 bit = 16 M, 3 bájtos cím kezelése nehézkes, jobb megoldás a cím szegmentálása 4 bájt 32 bit = 4 M Közbülső cím tartomány, pl. 20 bit = 1 M előfordul, de belső kezelése bonyolultabb lehet. Tok lábszámra is gondolni kellene. Grosz Imre f. doc. Építsünk Processzort

3 Regiszterek - Legyen Akkumulátor - Kell egy rejtett közbülső regiszter az Aritmetika bemenetén - + legalább 6 regiszter - Lehessen (összerendelve) párosával is kezelni őket - Műveletek legyenek vonatkoztathatóak mindegyikre, (legalább néhányra), vagyis az Aritmetika kijelölt helyről kijelölt helyre is dolgozzon - Legyenek betölthetőek Grosz Imre f. doc. Építsünk Processzort

4 Aritmetika Legyen jelző (flag) bitekkel ellátva
Elvégzendő műveletek (értelem szerint, külön parancsra, jelző bitek bevonásával is): - összeadás, 16 bites is - kivonás,16 bites is - növelés (increment), 16 bites is - csökkentés (decrement), 16 bites is - betöltés,16 bites is - komplementálások - forgatások (shift, rotate) - Logikai (bit) műveletek (ÉS, VAGY, KIZÁRÓ_VAGY, EKVIVALENCIA) - Perifériára vonatkozó be és kivitel Grosz Imre f. doc. Építsünk Processzort

5 Egyéb műveletek - Szubrutin hívása - Szubrutinból való visszatérés - Címnövelés művelet nélkül (NOP) - Megállítás (HALT) - Blokkos átvitelek - Megszakítás kiszolgáló utasítások Grosz Imre f. doc. Építsünk Processzort

6 Jelző bitek (flag-ek) - Signum MSB bit vizsgálatához - Zero flag (Minden bit 0) - P Paritas (1-k száma páros) - Túlcsordulás - Átvitel (Carry) - Közbülső átvitel, tetrád határán BCD-nél érdekes - Összeadás/kivonás jelzése - Megszakítás engedélyezése/tiltása Grosz Imre f. doc. Építsünk Processzort

7 Szubrutin híváskor mentés
- Árnyék regiszterbe (pl. ’ regiszterek). Ez lehet külön utasítással is. - Verem tárba (STACK) címkezelés csökkenő, vagyis mélyülő irány Grosz Imre f. doc. Építsünk Processzort

8 Címszámlálók - Program cím - Veremtár (Stack) cím - Index regiszter 1, - Index regiszter 2 - Címző regiszter pár kezeléséhez Grosz Imre f. doc. Építsünk Processzort

9 Cím műveletek - Növelés 1-el, - Növelés 2-vel - Csökkentés 2-vel - Betöltés - Hozzáadás - Levonás - 0-ba állítás (PC, a RESET hatására) - Maximális értékre állítás (Stack, a RESET hatására) Cím módosítás végrehajtása címkezelésre épített aritmetikával Grosz Imre f. doc. Építsünk Processzort

10 Utasítás feldolgozása
- Utasítás regiszter (Ebbe kerül a memóriából kiolvasott utasítás) - Utasítás dekóder. Értelmezi az utasítást, és előállítja a belső részek ütemezett vezérlő jeleit. Adatforrás (Regiszter) kijelölése, ha kell a következő memória cím(ek) beolvasását vezérli. - Memória cím műveletek vezérlése - Aritmetika vezérlő jelei - Aritmetika kiegészítések vezérlő jelei, pl. Paritásképzés, BCD korrekció, léptetés vezérlések, stb. - Flag-ek beíró jelei - Külvilág vezérlő jelei Grosz Imre f. doc. Építsünk Processzort

11 Megszakítás kezelése - Megszakítás engedélyezés/tiltás kezelése - Az Engedélyezés végrehajtás egy utasítás lehívó ciklussal való késleltetése - Megszakítás elfogadás vizsgálati helyének kijelölése - Kérelem sorba állítás - Megszakítással kapcsolatos bejövő, vagy belső utasítás, illetve adat kezelése - Megszakítás elfogadási sorozat vezérlése - Veremtár (Stack) kezelése, első a cím mentése - Megszakítási rutin kezdőcím beállítása - - Megszakítás befejezése utasítással kapcsolatos ciklus(ok) szervezése. - Stack kezelés, visszatérési prioritás kezelése. Grosz Imre f. doc. Építsünk Processzort

12 Vezérlő (Control) jelek előállítása)
- Utasítás lehívás (Fetch, vagy M1 ciklus) - Memória művelet jelzése {tri-state} - Periféria művelet jelzése (ha külön van ilyen) {tri-state} - Megszakítás művelet jelzése (ha külön van ilyen) - Megállítás: Halt művelet jelzése (ha külön van ilyen) - Olvasás ciklus {tri-state} - Írás ciklus {tri-state} - Felfüggesztés kérelem elfogadó jel kezelése Grosz Imre f. doc. Építsünk Processzort

13 Bemenő jelek - Órajel. Általában technológiai okokból, valamely különleges feltétellel rendelkezik - RESET Aszinkron általános törlő jel. Minimális hossza, és a vezérlő jelekhez megkívánt szinkronizmusa betartandó. - Megszakításkérések: - Engedélyezhető. ez a „Maszkolható”, - Mindig érvényre jutó, nem maszkolható. - Végrehajtás várakoztatás kérése Wait, vagy Ready bemenet - Működés felfüggesztés kérése (BUSREQ) Grosz Imre f. doc. Építsünk Processzort

14 Adatforgalom - Kétirányú sínmeghajtón keresztül - Tri-state állapotba vezérelhető - Az utasítás is itt jut be Grosz Imre f. doc. Építsünk Processzort

15 Cím meghajtás Tri-state kimeneti meghajtó
Grosz Imre f. doc. Építsünk Processzort

16 Utasítás fajták Külön tárgyalandó kérdés - Milyeneket és mennyit akarunk Grosz Imre f. doc. Építsünk Processzort

17 Egy lehetséges utasítás készlet:
Utasítások csoportjai: Aritmetikai utasítások Logikai utasítások Boole műveletek Adatmozgató utasítások Program elágazások Vezérlő utasítások Grosz Imre f. doc. Építsünk Processzort

18 Utasítások lehetséges szerkezetei:
Grosz Imre f. doc. Építsünk Processzort

19 Aritmetikai utasítások (1)
Összeadás Akkuhoz átvitel bittel, és nélküle: - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt Kivonás Akkuból kölcsön bittel, és nélküle: - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt Grosz Imre f. doc. Építsünk Processzort

20 Aritmetikai utasítások (2)
Inkrementálás: - Konstans(ot) - Regisztertartalom, - Direkt címzett bájt - Indirekt címzett bájt - Adat címző regiszteren keresztül címzett tartalom Dekrementálás: - Konstans - Regisztertartalom, - Direkt címzett bájt - Indirekt címzett bájt Helyesbítés BCD számok összeadása után Grosz Imre f. doc. Építsünk Processzort

21 Logikai utasítások (1) ÉS (AND) Akkuhoz (eredmény A-ba kerül) - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt Direkt címzett bájt (direkt helyére kerül) .- Akku .- Konstans VAGY (OR) Akkuhoz (eredmény A-ba) - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt Direkt címzett bájt (direkt helyére kerül) .- Akku .- Konstans Grosz Imre f. doc. Építsünk Processzort

22 Logikai utasítások (2) KIZÁRÓ-VAGY (EXOR) Akkuhoz (A-ba) - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt EKVIVALENCIA (EXNOR) Akkuhoz (A-ba) - Konstans - Regisztertartalom, - direkt címzett bájt - indirekt címzett bájt Direkt címzett bájt (direkt helyére kerül) .- Akku .- Konstans Grosz Imre f. doc. Építsünk Processzort

23 Logikai utasítások (3) Akku nullázása Akku bitenkénti negálása
Akku balra (MSB felé) forgatása Carryn keresztül / nélkül Akku jobbra (LSB felé) forgatása Carryn keresztül / nélkül Grosz Imre f. doc. Építsünk Processzort

24 Adatmozgató utasítások (1)
Akkuba töltés forrás: - Konstans - Regisztertartalom, - Direkt címzett bájt - Indirekt címzett bájt - Periféria Regiszterbe töltés forrás: - Konstans - Akkumulátor - direkt címzett bájt - Periféria Grosz Imre f. doc. Építsünk Processzort

25 Adatmozgató utasítások (2)
Direkt címzett bájtba töltés forrás: - Konstans - Regiszter tartalom - Akkumulátor - direkt címzett bájt - indirekt címzett bájt Direkt címzett bájt (direkt helyére kerül) .- Akku .- Konstans Indirekt címzett bájtba töltés forrás: - Konstans - Akkumulátor - direkt címzett bájt Grosz Imre f. doc. Építsünk Processzort

26 Adatmozgató utasítások (3)
Adat címző regiszterbe töltés forrás: - Konstans - Regiszter(ek) - Memóriából olvasott adat Relatív címzett programbájt beolvasása - Adatcímző regiszter-pár szerint - PC szerint Memóriában lévő adattár olvasása/ írása MOVX bites indirekt cím ((HL regiszter-pár)) Grosz Imre f. doc. Építsünk Processzort

27 Adatmozgató utasítások (4)
Veremtár műveletek: - Mentés - Visszaolvasás - () Akkuval kapcsolatos cserék - Regisztertartalommal - direkt címzett bájttal - indirekt címzett bájttal Akku alsó négy bit felcserélése - indirekt címzett bájt alsó négy bitjével Akku felső, alsó tetrád felcserélése Grosz Imre f. doc. Építsünk Processzort

28 Boole műveletek (1) Vizsgálat: - Carryt (Flag biteket) - kijelölt bitet Törlés: - Carryt (Flag biteket) - kijelölt bitet 1-re állítás: - Carryt - kijelölt bitet Grosz Imre f. doc. Építsünk Processzort

29 Boole műveletek (2) Negálás: - Carryjé - kijelölt bité
Carry és a kijelölt bit/ kijelölt bit negáltja - ÉS kapcsolata - VAGY kapcsolata Kijelölt bit betöltése - Carrybe Carry betöltése - kijelölt bitbe Grosz Imre f. doc. Építsünk Processzort

30 Programelágazások (1) Abszolút ugrás - 16 bites cím szerint
Hívás abszolút címzéssel bites cím szerint Feltételes ugrás - Jelzők (Flagek) szerint - Relatív +- adott távon (többnyire 255 címen) belül - Indirekt (A) plus (HL, vagy index regiszter) - ha Akku 0/ nem 0 - A és direkt címzett bájt tartalma eltér/megegyezik - A és konstans eltér/megegyezik - ha regisztertartalom és a konstans eltér/megegyezik - ha az indirekt címzett bájt és a konstans eltér/megegyezik Grosz Imre f. doc. Építsünk Processzort

31 Programelágazások (2) Regisztertartalom dekrementálása, ugrás, ha nem 0 Regisztertartalom inkrementálása, ugrás, ha nem 0 Ugrás, ha a kijelölt bit 0/1 - Carry (Flag bitek) - kijelölt bit Ugrás, ha a kijelölt bit 1, majd a bit törlése Grosz Imre f. doc. Építsünk Processzort

32 Visszatérés szubrutinból
- RET Bármely szubrutint lezárja - RETI Megszakítás szubrutint lezárja, feldolgozott megszakítás kérelmet törli (Egyes megoldásokban a periféria is feldolgozza) - RETN Nem maszkolható megszakítás kérelmet befejezi, a maszkolható engedélyező bitjét visszaállítja Grosz Imre f. doc. Építsünk Processzort

33 Vezérlő utasítások NOP: - Címet eggyel növeli
HALT - Megállítja a működést (Alvó üzemmód) STOP - kikapcsolja a processzort (Csak a RESET-re éled újra) EI - Engedélyezi a megszakítást DI - Tiltja a megszakítás elfogadását Grosz Imre f. doc. Építsünk Processzort

34 Felhasználandó áramkörök
- Tri-state kimenetű regiszterek (belső sínekhez) - Sín leválasztó erősítők - Aritmetikai-logikai elem ALU(k) - Léptető, vagyis Shifter - Paritás-generáló áramkör - Multiplexerek - Dekóderek, vagy PROMOK - Ütemvezérlő. Regiszter, vagy számláló alapú (esetleg mindegyik) - Flip-flopok - Kapuk Grosz Imre f. doc. Építsünk Processzort

35 Processzorhoz felhasználandó áramkörök (1)
Tri-state kimenetű regiszterek (belső sínekhez) Grosz Imre f. doc. Építsünk Processzort

36 Processzorhoz felhasználandó áramkörök (2)
Sín leválasztó erősítők Grosz Imre f. doc. Építsünk Processzort

37 Processzorhoz felhasználandó áramkörök (3)
Aritmetikai-logikai elem ALU(k) Grosz Imre f. doc. Építsünk Processzort

38 Processzorhoz felhasználandó áramkörök (4)
Léptető, vagyis Shifter Grosz Imre f. doc. Építsünk Processzort

39 Processzorhoz felhasználandó áramkörök (5)
Paritás-generáló áramkör Grosz Imre f. doc. Építsünk Processzort

40 Processzorhoz felhasználandó áramkörök (6)
Multiplexerek Grosz Imre f. doc. Építsünk Processzort

41 Processzorhoz felhasználandó áramkörök (7)
Dekóderek, és/vagy PROMOK Grosz Imre f. doc. Építsünk Processzort

42 Processzorhoz felhasználandó áramkörök (8)
- Ütemvezérlő, Regiszter, vagy számláló alapú (esetleg mindegyik) pl. a felépítés szükséglete szerinti ROM-s vezérléssel - Flip-flopok - Kapuk Grosz Imre f. doc. Építsünk Processzort

43 Működési ciklusok (ütemek) kialakításai
Egy ütem: óraütem (azonos él) óraütem, él helyzete is fontos lehet - 1 (2) óraütem, él helyzete fontos példák (Z-80 elemi ciklusai) fóliáról Grosz Imre f. doc. Építsünk Processzort

44 Összetett utasítás időbeli lefolyása (1)
CALL (szubrutin hívó utasítás és lefolyása) Grosz Imre f. doc. Építsünk Processzort

45 Összetett utasítás időbeli lefolyása (2)
Grosz Imre f. doc. Építsünk Processzort


Letölteni ppt "Építsünk Processzort Avagy mi is kell hozzá."

Hasonló előadás


Google Hirdetések