Fejlesztés Development | CPU | Számítógép Computer | Assembler | Monitor | Függvények Library
A mikroprocesszort kiegészítve néhány alkatrésszel, mikroszámítógépet alakítunk ki.
A processzort memóriával, GPIO áramkörökkel, az eszközöket összekötő buszt pedig címdekóderrel egészítjük ki.
A processzor memória illesztőjére (MA, MDI, MDO, MWE) kapcsolódó memória alkatrész fogja tárolni a futtatott programot, valamint a feldolgozott adatokat. A memóriát az FPGA-n alakítjuk ki, a lefordított program kódját pedig beillesztjük az alkatrészbe. Ez azt jelenti, hogy a program megváltoztatásakor a memória alkatrészt újra el kell készíteni.
A memória kapacitása 512 szó, a címzéshez így 9 cím bitre van szükség. Minden szó 32 bites.
A külvilággal való kapcsolattartást a memória illesztőre kapcsolt GPIO (General Purpose Input Output) áramkörök valósítják meg.
A kimeneti kivezetéseket egy 4 regiszterből álló “memória” valósítja meg, amelyből mind a 4 regiszter kimenetei ki vannak vezetve. Ezek a PORTA, PORTB, PORTC, PORTD nevet viselik. A regiszterek tartalma írható (memória írás utasítással), valamint vissza is olvasható a tartalmuk.
A 4 regiszter 4 egymást követő címen található, a kezdőcímet a címdekóder határozza meg:
Offszet | Port |
0 | PORTA |
1 | PORTB |
2 | PORTC |
3 | PORTD |
Bemenetként szintén regisztert használunk. A regiszter olvasásakor a bemeneti vezetékek állapota eltárolódik a regiszterben (mintavétel), a processzor ennek a tartalmát fogja megkapni. A bemeneti GPIO áramkörben egy regiszter van, így egy 32 bites bemenő adathoz lehet vele hozzáférni. A számítógépben két ilyen áramkört kapcsolunk a buszra, így két bemeneti portot kapunk (PORTI, PORTJ).
A címdekóder a processzor cím kimenetének ADDR[15:12] kivezetéseit használja, így 64 Ki szó tartományban 4 Ki szavas szeleteket választ szét, egy kimenete egy 4 Ki szavas cím tartományban lesz aktív. Az eszközök a következő címeken lesznek elérhetők:
Cím tartomány | Eszköz |
0x0000 0000 - 0x0000 0fff | Memóra |
0x0000 d000 - 0x0000 dfff | Bemeneti port: PORTJ |
0x0000 e000 - 0x0000 efff | Bemeneti port: PORTI |
0x0000 f000 - 0x0000 ffff | Kimeneti portok: 0xf000: PORTA 0xf001: PORTB 0xf002: PORTC 0xf003: PORTD |
Mivel a felsőbb helyi értékű cím bitek a dekódolásban nem vesznek részt, az eszközök a további 64 Ki szavas tartományokban is megjelennek.
A CPU tesztelésre használható ki- és bemenetei a számítógépben is hozzáférhetőek. A TRS bemetekre adott 4 bites kód által meghatározott adatok megjelennek a TR és a TREG kimeneteken (részletesen lásd a mikroprocesszor leírásában).