Altera Nios Az első SOPC típusú rendszer. Mi is az az SoPC rendszer?

Slides:



Advertisements
Hasonló előadás
A PCI busz Kifejlesztése: Intel vezette konzorcium Jelenleg gondozza:
Advertisements

Alaplap.
1 Számítógépek felépítése 9. előadás I/O rendszerek.
Rendszertervezés Hardver ismeretek.
A számítógép felépítése
CUDA.
Memória.
A mikroprocesszor 1. rész.
Számítógépek felépítése sínrendszer, megszakítás
Számítógépek felépítése 3. előadás CPU, utasítás ciklus, címzés
A mikrovezérlők Áttekintő előadás.
PIC mikrovezérlők.
A hardver és a személyi számítógép konfigurációja
OSI Modell.
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Alapfogalmak Hardver:  A számításokat végző fizikai-technikai rendszer (kézzel fogható, fizikai termékek) Szoftver:  Programok, programrendszerek (szellemi.
A memória.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
Mikroszámítógépek I 8085 processzor.
Mikroszámítógépek I 8085 processzor.
Utasítás végrehajtás lépései
PIC processzor és környezete
CISC - RISC processzor jellemzők
Számítógép memória jellemzői
Sínrendszer.
A mikrovezérlők világa
Egy harmadik generációs gép (az IBM 360) felépítése
A számítógép felépítése (funkcionális)
Operációs Rendszerek II.
SZÁMÍTÓGÉP ARCHITEKTÚRÁK - 4
Mikrokontroller (MCU, mikroC)
PIO és DMA Zeke Éva Anita Készült a Számítógép rendszerek és perifériák tantárgyhoz.
A PLC és használatának előnyei
A számítógép felépítése
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
CUDA C/C++ programozás
Óravázlat Készítette: Kucsera Mihály 2011.
Mikroprocesszor.
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
Számítógép hálózatok.
Írja fel a tizes számrendszerbeli
Mikroprocesszorok Működés.
IT ALAPFOGALMAK HARDVER.
Piramis klaszter rendszer
HEFOP 3.3.1–P /1.0A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg. 1 Számítógép architektúrák dr. Kovács.
ifin811/ea1 C Programozás: Hardver alapok áttekintése
Számítógépek felépítése 4. előadás ALU megvalósítása, vezérlő egység
1 Számítógépek felépítése 5. előadás a CPU gyorsítása, pipeline, cache Dr. Istenes Zoltán ELTE-TTK.
PIC mikrokontroller.
A ROM ÉS A BIOS. K ÉSZÍTETTE R ELL P ATRIK A ROM A ROM egy olyan elektrotechnikai eszköz, amely csak olvasható adatok tárolására alkalmas memória. Tartalma.
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.
A Számítógépek hardver elemei Korszerű perifériák és rendszercsatolásuk Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts.
Mikrorendszerek felépítésének általános modellje Fehér Béla.
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.
Neumann elvek és a Neumann elvű számítógép felépítése
A berendezés tervező korszerű eszköztára
A számítógép felépítése
Periféria (vezérlő) áramkörök
A Számítógépek hardver elemei
A Számítógépek felépítése, működési módjai
A Számítógépek felépítése, működési módjai
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:

Altera Nios Az első SOPC típusú rendszer

Mi is az az SoPC rendszer?

Az SoPC meghatározó elemei A paraméterezhető CPU egység A belső kommunikációs kapcsolatok és ezek topológiája A rendelkezésre álló paraméterezhető könyvtári elemek A felhasználói kiegészítések és bővítések Fejlesztői támogatás szintje

Altera (első) Nios CPU Jellemzők –Általános célú CPU egység, kifejezetten FPGA alapú SoPC alkalmazásokra optimalizálva –Fix 16 bit széles utasításkészlet, amivel 16 és 32 bit széles adatstruktúrák (adatbusz, címbusz, belső regiszterek, ALU) építhetők fel –Pipe-line utasításvégrehajtás, szétválasztott program és adatmemória kezelési lehetőség (módosított Harvard architektúra)

Utasításkészlet Alapvető cél: A C ill. C++ nyelven írt alkalmazások támogatása, az utasításkészlet kialakításánál ez a legfontosabb szempont volt. Szokásos aritmetikai és logikai utasítások, kiegészítve bit és byte műveletekkel, adatmozgató és vezérlő utasításokkal Néhány feltételesen végrehajtott utasítás (elágazások kiváltására, pl. túlcsordulás) Flexibilis utasításkészlet bővítési lehetőség

Regiszterkészlet A regiszter készlet meghatározó a CPU egységek hatékonysága, használhatósága szempontjából Az (első) Nios regiszter architektúrája egészen speciális (szélesség 16 vagy 32 bit): –Nagy méretű (konfigurálható 128 – 512) amiből egyszerre egy 32 méretű ablak látszik –néhány speciális vezérlő regiszter, < 8 –Programszámláló PC regiszter –K utasítás konstans prefix regiszter

Regiszter használat A teljes regiszterkészlet mérete: –128, 256, 512 darab 16/32 bites regiszter –Biztosan dual port blokk RAM megvalósítás –Egyszerre egy 32 méretű ablak látszik, részbeni átfedéssel –Az ablakváltás általában szubrutin hívás, megszakítás kezelés stb. miatt szükséges –Ekkor általában paraméterátadás is kell Megoldható regisztereken keresztül

Átlapolt regiszter ablakok Az ablakváltás csak 24-et lép, így az előző ablak felső 8 regisztere a következő alsó 8 regisztere lesz. Egyúttal használati konvenciót is rögzít: Regiszter használataRegiszter elnevezése INPUT regiszterR25-R32 vagy I0-I7 LOCAL regiszterR16-R24 vagy L0-L7 OUTPUT regiszterR8-R15 vagy O0-O7 GLOBAL regiszterR0-R7 vagy G0-G7

Regiszter térkép 128 regiszter esetén -> 7 ablak (Nincs átfordulás) INPUT LOCAL OUTPUT GLOBAL

Aktív regiszterek használata Általános konvenció R31 (I7) – elmentett visszatérési cím R30 (I6) – frame mutató R19-R16 (L3-L0) lokális pointerek R15 (O7) – aktuális visszatérési cím R14 (O6) – Stack pointer R7-R0 (G7-G0) – Globális regiszterek Láthatóan O7 -> I7 és O6 -> I6

Speciális regiszterek PC programszámláló –Típustól függően 16 vagy 32 bites –PC<=PC+2 mindegyikben, utasítás 16 bites –Programmemória címtartomány 64k, ill. 4G K konstans regiszter: 11 bites prefix érték a következő művelethez + 5 bit a kódból

Kivételkezelés, megszakítások 64 méretű vektoros megszakítás rendszer –A megszakítás támogatás tiltható A megszakítások forrása lehet: –Külső hardver esemény –Belső esemény –Programban előírt szoftver megszakítás A processzor a külső eszközöktől a kéréssel egyidejűleg egy 6 bites értéket is vár

Hardver utasítás kiegészítések Két fajta utasításkészlet bővítési lehetőség –Szabványos kiegészítések (tipikusan a szorzási művelet HW megvalósítására) –Felhasználó által kiválasztott (és felépített) funkciók HW támogatása

Szorzások támogatása A szorzás mindig drága művelet, ha HW szemmel nézzük ( kivéve, ha van dedikált szorzó áramkör…) Példa a szorzási opciókra: TípusHWVégr. Idő 16x16 Végr. Idő 32x32 Nincs Iteratív Teljes

Felhasználói utasításkiegészítések Transzparens módon, a CPU ALU egységével párhuzamosan (operandus 2 vagy 1 regiszter) C A P L U E F X U T N

Utasításkészlet kiegészítés Felhasználói utasítások (extra HW!) USER0RA < = RA user_op RB RR típus USERx RA < = RA user_op G0 Rw típus (x=1,2,3,4) Lehet egy vagy több órajel ciklusú, használható a PFX konstans előtét

Címzési módok 5/16 bit közvetlen (utasításkódból) Regiszter indirekt (bájt/szó) Regiszter indirekt ofszettel (bájt/szó) Olvasás mindig szavas, csak esetleg speciális utasítással ebből 1 bájt tárolódik (0-val vagy előjellel kiegészítve) Írás lehet bájtos, de ezt már a memória vezérlő feladata elrendezni

Nios blokk diagram

Nios II Teljes szakítás a korábbi megoldással –A konfigurálható CPU előnye –A konfigurálható CPU hátránya „Hagyományos” (nem különcködő) RISC architektúra (32x32 regtömb 2RD1WR) 32 bites RISC processzor utasítás + adat

Általános jellemzők 32 regiszter 32 IT forrás 32 x 32 bites szorzás, 32 bites osztás Támogatás 64 ill. 128 bites szorzáshoz Lebegőpontos műveletek lehetősége –Normál pontosság –Többlépéses shift művelet (barrelshifter) Bővített periféria készlet

Fejlesztési támogatás GNU C/C++ + Eclipse IDE Teljes kiépítettségű debug környezet Integrált Altera SignalTap logikai analizátor Kompatibilis utasításkészletek az eltérő kiépítettségű NIOS II verziók között Max 250 DMIPS teljesítmény

Tipikus Nios II rendszerfelépítés

SOPC rendszerkialakítás Minden jellemző a tervező kezében Komponensek:ingyen + pénzért + tervezés Konfigurálható perifériák –Aktuális igények szerinti modulválasztás –Aktuális igények szerinti modul paraméterezés –Aktuális igények szerinti egyedi modul tervezés –Aktuális igények szerinti rendszer címkialakítás Automatikus rendszergenerálás

Nios II alapvető jellemzők 3 eltérő tulajdonságú verzió –NiosII/e – „gazdaságos”, éppen a szükséges minimum komponensek –NiosII/s – „szokásos”, átlagos tulajdonságok, jó paraméterekkel –NiosII/f – „gyors”, minden konfigurációs opció, sok hardveres kiegészítés, nagy teljesítmény

Nios II konfi- gurá- ciós opciók

„MIPS” szerű processzorok Általános architektúra, kiegészítve a pipe-line regiszter fokozatokkal Az órajel sebesség megnő

Memória kialakítások Valódi Harvard felépítés Utasításmemória hozzáférési lehetőségek –Utasítás gyorsítómemória (512bájt – 64Kbájt) –Gyors többszörös hozzáférés (xDRAM) –Szorosan csatolt memória modulok (max. 4) Adatmemória hozzáférési lehetőségek –Adat gyorsítómemória (512bájt – 64Kbájt) –Gyors többszörös hozzáférés (xDRAM) –Szorosan csatolt memória modulok (max. 4)

Széles körű debug lehe- tősé- gek

Részletesen 1. Semmi 2. JTAG kapcsolat, letöltés, SW töréspont 3. Előző + HW töréspont Flash memóriára, adatra, címre, írásra, olvasásra, külső logikára, trigger fogadás/küldés kívülről/re 4. Nyomkövető (cím+adat+RW) memória (belső/külső), valósidejű mintavételezéssel Ennek persze növekvő erőforrásigénye van!

Debug opciók költsége

Nios II belső jellemzők

Utasításkészlet Szokásos ALU műveletek –ADD, SUB, MUL, DIV előjeles és előjel nélküli –Összehasonlítások, minden típusra/adatra –AND, OR, XOR, NOR –Shift/Rotate 0-31 pozícióra, normál/aritmetikai Teljes verzió – csökkentett verziók –Nem létező utasítások – kivételkezeléssel Felhasználói utasítások, mint korábban

Lebegőpontos utasítások IEEE előírás szerint ADD, SUB, MUL, DIV Egyszeres pontosság, 32 bit Kivételkezelés Kerekítés Normalizálás NaN

Hardver interfészek

Interfész opciók Memória hozzáférés –Független utasítás és adatmemória portok –Utasítás port: mindig 32 bit memória hozzáférés –Adatoldalon: 32/16/8 bites memória/periféria műveletek a LD/ST utasítások végrehajtásakor Lehetséges közösített memória használat is! Egységes memória, periféria kezelés –Memóriába ágyazott I/O

Gyorsító memória opciók Cache memória –Konfigurálható méret, független program/adat –Menedzsment szoftverrel, speciális utasítások Használat indokai: –Van elég belső memória –Program/adat mérete miatt külső memóriában –A kritikus kód/adat elfér a cache-ben –Adatcache kikerülési opciók: LDIO/STIO, BIT31 –TCM használat elemzése érdemes!!!

Szorosan csatolt memória (TCM) Garantált gyors elérésű tároló –Független porton (1-4), gyors belső memória –Direkt címzés, nincs betöltés, ürítés, stb. Tipikus alkalmazás –Programnál: IT kiszolgáló rutin, gyors végrehajtású kisebb rutinok (DSP) –Adatoknál: átmeneti pufferek,

Nios alkalmazások 1, 2, n darab processzor (természetesen, ha van rá erőforrás Konfigurációk: –1 CPU + általános perifériák –1 CPU + speciális funkcionális egységek –n CPU + kommunikációs csatornák NIOS FUN1 FUN3FUN2 NIOS

Integrált SoPC rendszer Normál mikroprocesszoros rendszer, csak programozható FPGA-n egyetlen áramkörön megvalósítva A Nios egy jó teljesítményű processzor, akár 16, akár 32 bites verzióban Kiépített általános perifériatámogatás, konfigurálható paraméterekkel (UART, TIMER, PIO, MEMIF, stb.) PBM Periféria Busz Modul

Periféria Busz Modul Általános célú periféria interfész generátor Megvalósított funkciók: –Cím dekódolás –Adatbemeneti multiplexer (szétválasztott ki/be) –Várakozás kérés, szinkronizáció –Buszméret (szó/félszó/bájt) –Megszakítás generálás Speciális funkciók, alkalmazás függő

Általános elrendezés Egységes rendszergenerálás NIOS ADR DMX WTG W-B IRQ PERIFÉRIA UART TIMER PIO SPI 10/100

Egy egyszerű példa Minimális külső és belső egységek Külső és belső buszrendszer PBMPBM CPUCPU IRQIRQ TIMER UART SRAM FLASH SERIAL INPUT

A Nios perifériakészlete A rendszer alapvető kommunikációs interfésze az AVALON busz Ez egy párhuzamos áramkörön belüli, konfigurálható kommunikációs interfész Részleteket később megbeszéljük, a többi belső busszal együtt (AMBA, CoreConnect) Az egyes eszközökhöz a szükséges jelek csoportját a SoPC Builder szoftver határozza meg és automatikusan generálja

Az Avalon legfontosabb jellemzői Szétválasztott adat ki és bemeneti busz –Nincs Hi-Z jel a buszáramkörben Megkülönböztet Master és Slave interfészt Szinkron busz, optimális esetben az adatátvitel 1 órajel ciklus Adatméret dinamikusan előírható Adatcsomag átvitel lehetősége, pl. DMA Logikailag egységes busz modul

Példa a busz modul kialakítására

Nios alkalmazások (2) 1, 2, n darab processzor (természetesen, ha van rá erőforrás Konfigurációk: –1 CPU + általános perifériák –1 CPU + speciális funkcionális egységek –n CPU + kommunikációs csatornák NIOS FUN1 FUN3FUN2 NIOS

Speciális adatfeldolgozó egységek 1 CPU + speciális funkcionális egységek –A feladat főképp adatfeldolgozó jellegű A processzort inkább az adminisztráció ill. magasabb szintű vezérlés indokolja –Események naplózása, riportok készítése –Felhasználói interfész, alkalmazás fejlesztési, hibakeresési kapcsolat –Egységek inicializálása, szinkronizálása, általános felügyelet

Speciális adatfeldolgozó egységek CPU minimális kiépítettség (ha nem kap más, valódi adatfeldolgozási szerepet is) A fő jellemző: –Egyszerű párhuzamos, regiszter interfész a különböző egységekhez (konfiguráció, parancs, státusz) –Egyszerű soros interfész a felhasználó felé –A 16 bites verzió bőven elegendő

Nios alkalmazások (3) 1, 2, n darab processzor (természetesen, ha van rá erőforrás Konfigurációk: –1 CPU + általános perifériák –1 CPU + speciális funkcionális egységek –n CPU + kommunikációs csatornák NIOS FUN1 FUN3FUN2 NIOS

Multi-processzoros rendszerek Tetszőleges elrendezésű többprocesszoros rendszer Az egységek között tetszőleges formájú kommunikáció (busz, port, memória) SIMD, MIMD, bármilyen keveréke Az elképzelés jó, a technológia biztosítja a lehetőséget, de a nagy kérdés: Hogyan tudjuk valóban kiaknázni? (Ez a dia 2002-ben készült…)

Kommunikációs absztrakció Kapcsolat a szoftver (programozói modell) és a hardver (fizikai megvalósítás) között A legfontosabb problémák a következők: –A közös (megosztott) adatok elnevezése –Az adatokon végezhető/elvégzendő műveletek –Milyen sorrendben és ki férhet az adatokhoz? –Esetleges többszörös másolat esetén frissítés, koherencia, hol található a legfrissebb adat?

Kommunikáció költsége Késleltetés: –Mennyi időbe telik az (első/egyetlen) átvitel? Sávszélesség: –Mennyi adat továbbítható egységnyi idő alatt? Szinkronizáció: –Hogyan (milyen ütemben) keletkeznek az adatok és milyen ütemben használják fel őket?

Osztott memória Az összes processzor hozzáfér a memória egy részéhez

Osztott memória jellemzői Bármelyik processzor közvetlenül hivatkozhat a közös területre A kommunikáció a memória műveleteken keresztül (load/store) valósul meg Az adat elhelyezése a programozó számára átlátható A teljesítmény arányos lehet a processzorok számával Hogyan skálázható (2..3 – 100? CPU) Széles alkalmazási terület

Előnyök / hátrányok Előnyök –Egyszerű programozás –Globális adat – lokális cache-ben –Viszonylag egyszerű processzor struktúra Hátrányok –Skálázhatóság: sok processzor, több ütközés –Hardver költség a koherencia figyelésre

Üzenet átadásos rendszer Explicit kommunikáció a processzorok között üzenetek küldése útján Ezek az üzenetek (és a programozó) biztosítják az adatok koherenciáját Főbb jellemzők: –Egy teljes processzor ill. rendszer egyetlen építőelem („Transputer” modell, 1985) –Közvetlen hozzáférés csak lokális adatokhoz –Üzenetek: send / receive –A kommunikáció I/O szinten jelenik meg (nem memória)

Programozói modell SEND / RECEIVE funkciók az adatokra, a program szinkronizáció is ezeken keresztül megvalósítható A memória szegmentált, nincs közös rész Az adatkoherenciát program valósítja meg Az üzenet átadáson keresztüli (párhuzamos) programozás nehezebb, mint az egyszerű szekvenciális programozás

Hardver megvalósítás Az építőelem egy komplett rendszer (CPU + teljes IO) (akár egy munkaállomás is lehet) –Nincs speciális hardver, egyforma processzorok –Nagyon fontos a kapcsolatok topológiája, a processzorok egymáshoz kapcsolódási mintája –Lehetőség: intelligens processzor IO interfész vagy –Adatirányító csomópontok (router) az áramkörön belüli kommunikációs hálózatban –Network on Chip (NoC)

Topológiai megoldások Párhuzamos konfiguráció

Topológiai megoldások Gyűrű és kocka topológiák

Előnyök / hátrányok Előnyök: –Könnyebb a rendszerfelépítés, mint az osztott memóriával –Topológiától függően jól skálázható –A programozói modell hardver független –Az adat koherencia a felhasználó felelőssége (nem rendszertechnikai probléma)

A NIOS buszrendszere Az AVALON busz module –Fő alkalmazási szempontok: SoC busz, áramkörön belüli kapcsolatokra Egyszerűség Optimalizált (minimális) erőforrásigény Szinkron működés Kicsit több mint buszspecifikáció –Magába foglal rendszerelemeket is –Arbitráció, külső kapcsolatok

Tulajdonságok 8/16/32 bites átvitelek Back-to-back átvitel, azaz minden ciklus után azonnal következhet a következő Nagykésleltetésű perifériák kezelése Burst és adatfolyam támogatás Multi-master üzemmód, Slave oldali arbitráció

Többszörös hozzáférési kérelem esetén a slave egységben dől el a prioritás –Előnyök: A multi-master környezetben a master által indított hozzáférések nem zavarják egymást (annyira) Az arbitráció nem a buszért, hanem a slave-ért folyik Az arbitrációs interfész nem része a mastereknek, (a slaveknek sem) a buszon történik, de elosztottan

Általános jellemzők Címzési tartomány: akár 4GB (32 bit) Szinkron interfész, nincs hand-shake mechanizmus Független A-D-C vonalak (nincs cím multiplexálás -> egyszerűbb perifériák) Központi címdekódolás, független CS jelek Dinamikus buszméret kezelés (ez egy kicsit komplikált lett!)

Busz topológia kialakítása

A buszmodul alapvető funkciói Minden apró kiegészítő logikát a tervezők a buszmodulba vontak össze, ezek nem kell, hogy a periféria részét képezzék –Adat vonalak multiplexelése, a master-slave kapcsolat felépítése –Címdekódolás –Várakozáskérés –Dinamikus adatméret kezelése –Megszakítás prioritások kezelése –Késleltetett átvitelek és adatfolyamok kezelése

Perifériák Alapeszközök (áttekintettük) –UART, Timer, PIO, SPI, DMA Komplex eszközök: –SDRAM vezérlő, Ethernet MAC, busz híd PCI vagy más buszhoz Dedikált felhasználói logikák, amik a buszhoz kapcsolódnak –Követik a buszinterfész előírásokat

Buszon betöltött szerep A periféria lehet Master vagy Slave Megkülönböztetünk Master ill. Slave portot –Master port: Aktív, kezdeményez, átvitelt vezérli –Slave port: Passzív, elfogad, az átvitelben részt vesz Master periféria –1..n Master port és 1..n Slave port Slave periféria –1(..n) Slave port

Rendszer konfiguráció A Master-Slave kapcsolatok az SoPC rendszer tervező szoftverben konfigurálhatók –Márix felépítésű táblázat, az egységek kapcsolatai kijelölhetők. –Paraméterek (címtartomány, hozzáférés, stb.) –Perifériák tulajdonságai –Portok tulajdonságai (read, write) –Arbitrációs mechanizmus

Paraméterek beállítása

Busz átvitelek (1) A buszciklusok szinkron működésűek, A buszjelek viszont nem feltétlenül regiszteres meghajtásúak (pl. kiválasztójelek, stb.) Az időzítés így alapvetően egyszerűen ellenőrizhető (rendszer órajel felfutó éle körül) Nincs visszajelző (hand-shake) mechanizmus, a várakozáskérést a busz modul kezeli Az egységek a busszal kommunikálnak és nem egymással !!!

Busz átvitelek (2) Master és Slave átvitel különböző, a jelek sem ugyanazok (nézőpont kérdése) Az átvitel azonban mindig egy Master- Slave pár között történik A Master kezdeményez, ennek hatására a Slave oldalon történik valami Kissé komplikált, de a felhasználó általában a Slave oldalt kell ismerje

Irási ciklusok Olvasás/írás hasonló, csak írásnál a vezérlőjel write_n és kifelé megy az adat A byte engedélyező jelek választják ki az írandó byte-okat. –(Olvasás esetén használatuk közömbös, a teljes adategység a buszra kerül) –Lehetőségek: teljes szó, felső/alsó 16 bit, ill. ezek alsó byte-ja (0. vagy 2. byte a 32 bitben) A write_n ill. chipselect jelek élei NEM használhatók vezérlőjelként!!!! –-> Szigorúan órajel vezérelt SZINKRON írás van!!

Egyszerű írás Master oldalon

Egyszerű írás Slave oldalon

Következtetések A busz modul koncepció jó –Egységes felület, egységes kezelés –Master, Slave portok jól definiálhatóak –Erőforrás megosztás, központi vezérlés, függetlenül a szinte pont-pont szerű topológiától –Időzítés adatok ellenőrzése gondot jelenthet –Az adatfolyam vezérlés nem teljesen kiforrott End-of-packet jel szerepe nem teljesen specifikált