Az Intel 4040 a 4004-es mikroprocesszor utódja, az MCS-40 lapkakészlet tagja. 1974-ben mutatták be. Az elődjéhez hasonlóan 4 bites és 10μm-es szilíciumkapus PMOS technológiával készült. A fejlesztést követően 14 új utasítást, nagyobb (8 szintes) vermet, 8 új regisztert és megszakítási rendszert kapott, a programtár méretét 4 KiB-ről 8 KiB-ra növelték benne. Több mint 3000 tranzisztorból áll és körülbelül utasítás végrehajtására képes másodpercenként, utasítás végrehajtására egyszavas (nyolcbites) utasítások esetén. Utasításkészlete főleg a BCD aritmetikát támogatja.

Főleg játékokban alkalmazták, valamint beágyazott alkalmazásokban: műszerekbe, POS-terminálokba, fejlesztő- és felügyelőberendezésekbe került beépítésre. Az 1970-es évek elején forgalmazott Intellec 4/Mod 40 (Intellec 4/40) fejlesztőrendszer processzora is Intel 4040-es volt.

Gyártását egészen 1981-ig folytatták, főleg a Fülöp-szigeteken készült.

Tervezők A projektet Federico Faggin javaslatára indították, az architektúrát az ő elvei alapján tervezték és ő volt a projekt vezetője is. A részletes terveket Tom Innes dolgozta ki.

Újítások megszakítások kezelése (interrupt) kibővített utasításkészlet (60 utasításra) lépésenkénti végrehajtás üzemmód (single step) 8 KiB-ra bővített programmemória 24 regiszter 7 szint mélységű szubrutin kezelés

Kialakítás, technikai részletek

A processzor lényegesebb jellemzői: adatbusz: 4 bites címbusz: 4 bites órajel: 740 KHz üzemi feszültség: +15V adatmemória mérete: 640 byte

A processzor egy négybites párhuzamos kialakítású CPU.

A processzor egy négybites kétirányú busszal rendelkezik, ezek a D0-D3 kivezetések. Az adatok és a címek is ezen a buszon közlekednek. A címek 8 bitesek, az adatok 4 bitesek. A 4040 processzorra épülő rendszerekben megkülönböztetik a ROM és RAM memóriákat; a címzést még a 2 "CM ROM" és 4 "CM RAM" memóriabank-kiválasztó vonal segíti.

A processzor az adatmemóriát a programmemóriától eltérően kezeli. Az adatmemória mérete 640 byte, az adathozzáférés az I/O portokhoz hasonlóan történik; egy utasítás beírja a processzorba a memóriarekesz címét, és a rákövetkező író vagy olvasó utasítás az akkumulátorba, vagy abból a memóriába írja az adatot.

A processzor ALU-ja 4 bites, ennek bemenete egy akkumulátor és egy ideiglenes regiszter. A műveleteknél kezeli a decimális kiigazítást, és az átvitelbit (carry) ki van vezetve a processzor "CY" lábára.

A processzor 16 db 4 bites bemeneti portot, és ugyancsak 16 db 4 bites kimeneti portot tartalmaz.

A CPU utasításszava 8 bites, az utasítások egy- vagy kétszavasak (8 vagy 16 bitesek) lehetnek. A kétszavas utasításoknál a második szó általában egy cím. A processzor 4 KiB utasításszót (4×1024 bájtot) tud megcímezni egy memóriabankon belül, és 8 KiB utasításszót – két 4 KiB-os bankot – bankváltással.

A processzor programszámlálója (program counter) 12 bites. A programszámláló mellett a processzor tartalmaz egy belső 7 elemű veremtárat; ez a kiépítés max. 7 mélységű egymásba ágyazott szubrutinhívást enged meg.

A processzor 24 db. 4 bites regisztert tartalmaz, amelyek 12 8 bites regiszterként is használhatók; a regiszterek indexként használhatók.

A processzor képes egy kívülről jövő programmegszakítási kérelmet kezelni (INT, INT ACK lábak), amely után a programok szabályosan folytatódnak.

Utasításszinten és elektromos jellemzőiben is kompatibilis elődjével, a 4004-es processzorral. A processzor disszipációja 1 watt, kétfázisú külső órajelet igényel. Támogató áramkörök 4201 – órajelgenerátor, 500-tól 740 kHz-ig, 4—5,185 MHz-es kristályokkal 4308 – 1 KiB ROM 4207 – általános célú bájtos kimeneti port 4209 – általános célú bájtos bemeneti port 4211 – általános célú bájtos ki/bemeneti port (I/O port) 4289 – szabványos memória-interfész (a 4008/4009 felváltására) 4702 – 256 bájt UVEPROM 4316 – 2 KiB ROM 4101 – 256 × 4 bites RAM

Jegyzetek

Források

További információk Kapcsolódó szócikkek Intel 4004

4040