Digitális technika VIMIAA hét

Hasonló dokumentumok
Digitális technika VIMIAA hét

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Digitális technika VIMIAA hét

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

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA02 9. hét

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

Digitális rendszerek. Digitális logika szintje

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

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Nagy Gergely április 4.

A MiniRISC processzor

Bevezetés az informatikába

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

Digitális rendszerek. Utasításarchitektúra szintje

A MiniRISC processzor

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

SZORGALMI FELADAT. 17. Oktober

Processzor (CPU - Central Processing Unit)

A mikroszámítógép felépítése.

Rendszerarchitektúrák labor Xilinx EDK

A MiniRISC processzor

Az interrupt Benesóczky Zoltán 2004

Tartalomjegyzék. Előszó... xi. 1. Bevezetés Mechanikai, elektromos és logikai jellemzők... 13

Programozási segédlet DS89C450 Fejlesztőpanelhez

Mikrorendszerek tervezése

A MiniRISC processzor (rövidített verzió)

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

Perifériák hozzáadása a rendszerhez

Bevitel-Kivitel. Bevitel-Kivitel és Perifériák. Algoritmusok és Alkalmazásaik Tanszék Budapest december 16.

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

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

A Számítógépek felépítése, mőködési módjai

Architektúra, megszakítási rendszerek

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

Digitális technika (VIMIAA01) Laboratórium 10

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

Járműfedélzeti rendszerek I. 3. előadás Dr. Bécsi Tamás

Digitális technika VIMIAA hét

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

Digitális technika VIMIAA hét

Egyszerű számítógép működése

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

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

Áramkörön belüli rendszerek

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

Összetett feladatok megoldása

Mikrorendszerek tervezése

A PicoBlaze vezérlő alkalmazása a LOGSYS kártyán

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

1. Az utasítás beolvasása a processzorba

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

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

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

Digitális technika (VIMIAA02) Laboratórium 4

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Digitális technika VIMIAA01

A Texas Instruments MSP430 mikrovezérlőcsalád

Digitális rendszerek. Mikroarchitektúra szintje

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

Digitális technika VIMIAA01

A mikroprocesszor egy RISC felépítésű (LOAD/STORE), Neumann architektúrájú 32 bites soft processzor, amelyet FPGA val valósítunk meg.

SIOUX-RELÉ. Sioux relé modul telepítési leírás Szerkesztés MACIE0191

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális technika (VIMIAA01) Laboratórium 11

Mikrorendszerek tervezése

Karakteres LCD kijelző használata MiniRISC processzoron

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

2017/12/16 21:33 1/7 Hardver alapok

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

2016/08/31 02:45 1/6 Hardver alapok

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA02) Laboratórium 4

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Bevezetés az informatikába

Mikrorendszerek tervezése

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

Alaplap: közös kapcsolódási felület a számítógép részegységei számára

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

XII. PÁRHUZAMOS ÉS A SOROS ADATÁTVITEL

Jelfeldolgozás a közlekedésben

Az integrált áramkörök kimenetének kialakítása

FPGA áramkörök alkalmazásainak vizsgálata

Digitális technika (VIMIAA01) Laboratórium 8

A 6502 mikroprocesszor

Digitális technika VIMIAA01

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Mérési jegyzőkönyv. az ötödik méréshez

A számítógép alapfelépítése

A 32 bites x86-os architektúra regiszterei

loop() Referencia:

Átírás:

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA02 10. hét Fehér Béla BME MIT A processzorok utasításkészlete az alábbi utasítás csoportokra osztható: Adatmozgató (MOV, máshol LOAD/STORE) Aritmetikai (ADD, SUB, CMP, MUL, DIV) Logikai (AND, OR, XOR, CPL, TST) Léptető (SLx,/SRx, RR/RL, ASR és multibit) Vezérlő (JMP, CJP, JAL/CALL, RTN) Egyéb (NOP, EI, DI, HALT) Jellemző RISC utasításkészlet: 50 150 utasítás Érdekesség: OISC: One Instruction Set Computer Összetett utasítás művelet, test és adatmozgatás

A RISC processzorok utasítás formátuma Általában fix hosszúságú, 16/32 bit Felépítése 2R vagy 3R típusú (utóbbi a 32 bitnél) Kevés utasítás formátum típus (2-5 maximum) Egy formátumon belül minden utasítás azonosan használható A bitmezők kiosztása rögzített Egyszerű dekódolás, sok érték közvetlenül használható Pipe-line végrehajtás könnyen kialakítható Az utasítások végrehajtási ideje azonos (1 órajel) A RISC processzorok címzési módjai A címzési mód az utasításban hivatkozott adatelem, adatérték elérési módját jelenti A címzési módok jelentősen befolyásolják az utasítás ill. programvégrehajtás hatékonyságát Különböző címzési módok léteznek a program memória és az adatmemória elérésére Eltérő igények: Programmemória esetén a cél a következő utasítás címének megadása, ez ugrásoknál, feltételes ugrásoknál, szubrutinhívásoknál (függvény/eljárás) lényeges Adatmemóriánál sokkal általánosabb igényeket találunk

Programmemória címzési módjai A programmemóriát a PC (programszámláló) címzi Az alapművelet a következő utasítás PC = PC + 1 Az ugrási vagy szubrutinhívás esetén a PC értékét módosítani kell Abszolút címzés: A PC minden bitje módosul: A teljes programmemória bármely címe szerepelhet, mint új cím. Kedvező, egyszerűen használható, de sok bitet igényel Relatív címzés: A PC bitjeinek csak egy része módosul, az ugrás, szubrutinhívás elérési tartománya korlátozott. A programszervezés bonyolultabb (assembler/fordító feladata), de a programok lokalitása miatt ez ritkán okoz komoly problémát. A relatív címzési tartomány 2 8-2 16 Programmemória címzési módjai Közvetlen cím: Az új cím értéke az utasításban kódolt, ez gyakran relatív címzésre korlátoz A célcím FORDÍTÁS időben meghatározott, futáskor konstans, nem lehet adatfüggő MiniRISC: 16 bit utasítás, 8 bit program cím: lehet abszolút is Regiszter indirekt: Az ugrási címet egy regiszter tartalmazza (ez általában abszolút címzésre is elegendő) A célcím lehet adatfüggő, több utas elágazások, táblázat értékek indexelt olvasásához a programmemóriából MiniRISC: van regiszter indirekt címzés, teljes tartományra A szegmensregiszteres címzés egy kevert címzési mód

Adatmemória címzési módjai, illetve az utasítások operandusainak elérési, specifikációs módjai: Közvetlen adat (adat az utasításban) Közvetlen cím (memória cím az utasításban) Regiszter adat Regiszter (indirekt) címzésű adat Regiszter + közvetlen ofszet című adat Regiszter címzésű indexelt adat Regiszter címzésű post-inkremens/pre-dekremens adat Egy-egy utasításkészlet nem mindegyiket tartalmazza Léteznek egyéb speciális (bitfordított, modulo, stb.) címzések is, ezeket nem tárgyaljuk Adatmemória címzési módjai, illetve az utasítások operandusainak elérési, specifikációs módjai: Közvetlen adat: Az adat az utasítás része MiniRISC 16 bit utasítás, 8 bit adat megoldható Általában pl. 32 bites processzor esetén nem egyszerű: 32 bites utasításban 32 bites adat nem helyezhető el (ut.kód?) Gyakran használunk kis értékű konstansokat, ezért a közvetlen adatra egy 8-12-16-20 bites bitmező áll rendelkezésre + előjel kiterjesztés Vagy: teljes méretű adat: két utasításban: alsó-felső fele, és ekkor a két utasítás végrehajtása nem megszakítható!

Adatmemória címzési módjai, illetve az utasítások operandusainak elérési, specifikációs módjai: Közvetlen cím: A cím az utasítás része MiniRISC 16 bit utasítás, 8 bit adat megoldható, mert az adatinterfész csak 256 címet tartalmaz Általában ugyanazok a korlátozások érvényesek, mint a közvetlen adatnál, bár beágyazott rendszerekben a memóriaméret korlátos (nem kell 32 címbit) Adatmemória címzési módjai, illetve az utasítások operandusainak elérési, specifikációs módjai: Regiszter adat: A regiszter címe az utasítás része MiniRISC 16 bit utasítás: 2 regiszter cím 2 adat Ez a leggyakoribb címzési mód RISC processzorokban univerzális regiszterhasználat, nincsenek specialitások, kivételek Regiszter (indirekt) címzésű adat: A regiszter tartalma az adat címe a memóriában A MiniRISC utasításkészlet tartalmazza Hatékony címzés adatvektorok/tömbök eléréséhez

Adatmemória címzési módjai, illetve az utasítások operandusainak elérési, specifikációs módjai: Regiszter + közvetlen ofszet adat: Az adat címe egy regisztertartalom (bázis) és az utasításból származó közvetlen érték (ofszet) összege Regiszter címzésű indexelt adat: Az adat címe két regiszter tartalmából adódik: Az egyik a bázis cím a másik az index érték Regiszter címzésű post-inkremens/pre-dekremens címzés: Az adat elérése után/előtt a címregiszter tartalma automatikusan módosul. Hasznos verem (stack) és adatvektor/tömb címzésénél MiniRISC utasításkészlete A MiniRISC processzor diasorozat 1-59 diája (nem ismertetjük részletesen, de kérjük mindenki nézze át!)

Processzor belső kommunikációja A mikroprocesszoros rendszerek összetett digitális rendszerek, több modulból állnak Eddig csak a központi egység felépítését, az un. CPU struktúráját és működését vizsgáltuk: Ez két fő részegységből áll: vezérlő és ALU Ezek mindegyike bonyolult részrendszer, de önmagában szinte működésképtelen A vezérlő a működéséhez szükséges utasításokat a programmemória interfészen keresztül éri el Az ALU értelmes működésének feltétele az adatmemória és a perifériák elérése. Ezt az adatmemória interfész biztosítja MiniRISC mintarendszer Bevezetés (Egyszerűsített Blokkvázlat) LED ek DIP kapcsoló A bővítőcsatlakozó B bővítőcsatlakozó 128 x 8 bites adatmemória (0x00 0x7F) Debug Debug modul MiniRISC CPU Adatmem. Prg. mem. 256 x 16 bites programmemória basic_owr (0x80) slave_usrt (0x88 0x8B) USRT basic_in (0x81) Adatmemória interfész basic_display (0x90 0x9F) basic_io (0xA0 0xA3) basic_timer (0x82 0x83) basic_io (0xA8 0xAB) basic_in (0x84 0x87) JTAG nyomógombok 14 fejlesztői és kijelzők kommunikációs port MiniRISC processzor, 2013.04.17. (v1.2)

Processzor belső kommunikációja A mikroprocesszoros rendszerek adatátviteli interfészeit buszoknak nevezzük Sok mikroprocesszor rendelkezik egyedi külső busszal is (lokális busz), alkalmazási céltól függően A külső buszok némelyike processzor független, ún. rendszer busz, általános célú alkalmazásokra. Ilyen külső rendszerbusz pl. IBM PC ISA (Industry Standard Architecture) PCI busz (Peripheral Component Interface) VMEbus (Versa Module Europa bus) VXI (VMEbus extension for Instrumentation) Processzor belső kommunikációja A mikroprocesszoros rendszerek belső adatátviteli buszai hasonlóak a külső buszokhoz Egy lényeges különbség: Szétválasztott DATA_IN és DATA_OUT adatvonalak vannak. A belső buszok között is van processzor független, általános célú rendszer busz, tetszőleges alkalmazásokra. Ez nagyban megkönnyíti a modern SoC (System on Chip) rendszerek tervezését. Ilyen belső rendszerbusz pl. IBM Core Connect ARM AMBA (Advanced Microcontr. Bus Arch.) ARM AXI (Advanced extensible Interface) Whisbone

Processzor belső kommunikációja A felsoroltak mind PÁRHUZAMOS belső buszok A mai nagysebességű adatátviteli interfészek gyakran áramköri okokból SOROS adatátviteli protokollt használnak. Ezek pont-pont kapcsolatot valósítanak meg, de megszokásból ezeket is buszoknak nevezik. Ilyen (jellemzően külső) pont-pont kapcsolatok pl.: USB (Universal Serial Bus) FireWire (IEEE 1394) PCIe (PCI Express) InfiniBand HyperTransport QuickPath Interconnect Processzor belső kommunikációja A továbbiakban a PÁRHUZAMOS belső buszokkal foglalkozunk A busz jelvezetékek együttese, amelyekre áramköri, elektromos és időzítési előírások vonatkoznak Gyakran mechanikai is pl. ISA/PCI/VME csatlakozó Az áramköri előírások specifikálják a jelszintet, a meghajtó képességet, a megengedett terhelést, a maximális túllövést, stb. Az időzítési előírások definiálják a működési sebességet, a jelváltási időt, az adatátviteli buszciklusok időbeli lefolyását A buszok komplex rendszerek, mi csak egy egyszerű verzióval foglalkozunk

A mikroprocesszoros busz A busz részei: Címbusz ADDR[n:0] Adatbusz DATA[m:0], belső busznál külön D_IN[m:0], D_OUT[m:0] Vezérlő busz (sok egyedi jel összessége): Rendszerjelek: CLK, RST, Arbitrációs jelek: BUSREQ, BUSACK, Irányvezérlő jelek: READ, WRITE, Átvitelvezérlő jelek: FRAME, TS, TACK, AS, DS, Megszakítás vezérlő jelek: IRQi, IACK, A mikroprocesszoros busz A busz használatának szabályai: A buszra kapcsolódó egységek között megkülönböztetünk MASTER és SLAVE egységeket MASTER: Vezérelheti a buszt, meghatározza a cím/adat és egyéb paramétereket, kezdeményezi az átvitelt és vezérli a működést SLAVE: Figyeli a buszt, felismeri/dekódolja a címet és a parancsokat, azonosítás esetén válaszol a kérésre az adat fogadásával vagy kiadásával

A mikroprocesszoros busz Buszhasználat külső buszon: Közös vonalak, 3 állapotú, HiZ, nagy impedanciás meghajtókkal Egy időben csak egyetlen adatforrás lehet aktív A vezérlő/engedélyező jelek 1-az-N-ből kódolásúak A mikroprocesszoros busz Buszhasználat belső buszon: Az adatvonalak meghajtása AND-OR hálózaton (elosztott multiplexer) keresztül A megoldás kizárja a több forrás kimeneteinek áramköri összekapcsolását

A mikroprocesszoros busz Buszhasználat belső buszhálózaton: Szétválasztott DATA_IN (SLAVE MASTER) és DATA_OUT (MASTER SLAVE) A MUX alapú meghajtás kizárja a több forrás kimenetének áramköri összekapcsolását A buszhasználat szabályai Egy buszon lehet több MASTER és SLAVE is Több SLAVE nem gond Több MASTER : Arbitráció a buszhasználat jogáért Az arbitrációban (döntési folyamatban) csak a MASTER funkciójú egységek vesznek részt Az arbitráció a buszhasználat jogáért történik Az arbitráció dönti el, hogy versenyhelyzetben ki jogosult a busz használatára. Többfajta algoritmus létezik az arbitrációra: Fix prioritás, körbenforgó, utolsó egység nagyobb prioritású, stb.

A buszhasználat szabályai A buszhasználati feltételek eldöntése lehet: Központi: Az arbiter értékeli ki a kéréseket és jelöli ki a következő MASTER egységet, aki indíthat egy adatátvitelt A dekóder értelmezi a címet/vezérlést és jelöli ki a SLAVE egységet, aki válaszol a kérésre A buszhasználat szabályai A buszhasználati feltételek eldöntése lehet: Elosztott: Minden MASTER tartalmaz logikát az arbitrációhoz és így dől el, ki lehet a következő MASTER egység, aki indíthat egy adatátvitelt Minden SLAVE egység tartalmaz dekóder áramkört, ami értelmezi a címet/vezérlést és engedélyezi az egységet, hogy a kérésre válaszoljon Helyes tervezés esetén csak egy MASTER és egy SLAVE egység lehet egy időben aktív

A busz adatátviteli ütemezése Az adatátvitel ütemezése: aszinkron Nincs ütemező órajel Az adatátvitelt a kézfogásos (hand-shake) szinkronizáció vezérli (REQ ACK jelek) 4 állapot REQ_ACK 00 10 11 01 00 Ha az előző átvitelnek vége (ACK =0), akkor Átviteli paraméterek beállítása REQ 1, start Vár ACK-ra, minden jel stabilan tartva Ha ACK megjön, REQ=0 Vár ACK elengedésére A busz adatátviteli ütemezése Az adatátvitel ütemezése szinkron módon Az adatátvitelt a busz órajel ciklusai ütemezik Sokfajta busz ütemezési protokoll létezik, gyakori a címzési és az adat fázis szétválasztása Első ütem: a cím és a vezérlési paraméterek beállítása Második ütem: adatátvitel Jellemzően egy átvitel több órajel ciklus ideig tart (START ÁTVITEL LEZÁRÁS) A MiniRISC busz egyetlen órajel alatt hajtja végre az átvitelt

Digitális technika 10. EA vége