A Mitsubishi 740, más néven MELPS 740, 8 bites CMOS mikrovezérlők és mikroprocesszorok sorozata, melyek továbbfejlesztett, MOS Technology 6502-vel kompatibilis maggal rendelkeznek, ami a kiterjesztett WDC 65C02 mikroprocesszoron alapul. Az integrált áramköröket a Mitsubishi Electric gyártotta az 1980-as és az 1990-es években.
A 740-es családot elsősorban egycsipes megvalósításokhoz szánták, és opcionálisan lapkára integrált RAM-ot és ROM-ot vagy EPROM-ot tartalmazhatott. További kiegészítései közé tartoztak a különböző opcionális időzítők, bemeneti/kimeneti vonalak és számos egyéb funkció. Becslések szerint mintegy 600 változat volt elérhető.
2002-ben a Mitsubishi és a Hitachi áramkörgyártó részlegeit a Renesas Technology cégbe vonta össze, majd 2010-ben ezt a NEC Electronics-szal egyesítve jött létre a Renesas Electronics. A 740-es család neve is megváltozott, jelenleg Renesas 740.
Történet Az első 740-es sorozatú alkatrész, az M50740 jelű, 1984-ben jelent meg az 1984 Mitsubishi Single-Chip Microcontroller Databook (egychipes mikrovezérlő katalógus) kiadványban. Ezt a Mitsubishi Electric gyártotta. Az M50740 megjelenésének pontos dátuma nem ismert, annak meghatározásához további kutatás szükséges.
1998-ban a MELPS 740-es családnak már több mint 600 különböző változata létezett, az EDN magazin cikke szerint.
2002-ben a Mitsubishi Electric és a Hitachi megállapodtak, hogy áramkörgyártó üzletágukat egy új dolláros félvezetőgyártó vállalatba vonják össze, melynek a Renesas Technology nevet adták. A cégek közölték, hogy mindkét részről áthelyezik az érintett félvezetőgyártási műveleteiket a Renesas-hoz, beleértve a mikroszámítógépek, logikai, analóg, diszkrét és memória-eszközök (flashmemória, SRAM, stb.) gyártását a DRAM-gyártás kivételével. A Renesas Technology 2003. április 1-én alakult meg, a Hitachi (55%) és Mitsubishi Electric (45%) vegyesvállalataként.
2009-ben a Renesas Technology és NEC Electronics alapmegállapodást kötöttek az egyesülésről, majd 2010. április 1-én a kettő egyesült a Renesas Electronics nevű vállalatban.
Bár az eredeti Mitsubishi áramköröket már nem gyártják, a 740-es utasításkészlet még mindig él a Renesas újabb mikrovezérlő sorozataiban, például a 38000/740-es és a 7200-as sorozatban.
Utasításkészlet A Mitsubishi 740-es család processzormagja a 6502 utasításkészlet bővebb halmazát hajtja végre, a 65C02 mikroprocesszorban hozzáadott számos bővítéssel együtt. Van egy új központi utasításcsoport, ami a 740-es család minden tagjában közös, emellett egyéb, speciális alkatrészekben létező utasítások.
A 740-es családban a 65C02-höz képest történt legnagyobb változás egy új processzorállapot jelzőbit, a T jelű hozzáadása volt, az állapotregiszter korábban nem használt 6-os bitje helyén. Mikor a T értéke 1, az X regiszter a nullás lapra mutató címként kezd működni, a nullás lapú címzést használó utasítások második operandusában. Ez lehetővé teszi a program számára, hogy a nullás lapon címzett memóriarekesz egyfajta második akkumulátorként működjön, előzetesen az X regisztert erre a címre beállítva a címnek nem kell szerepelnie az utasításformátumban. Például a 6502 gépi kódjában az ADC addr a nullás lapon az addr címen található memóriahely tartalmát hozzáadja az akkumulátorban lévő értékhez. A T bitet használva ez egyetlen bájtra, az ADC utasításra redukálható, melyben nincs cím paraméter. Ez javítja a kódsűrűséget és elkerüli a cím beolvasásához szükséges memóriaciklust. A T jelzőbit értéke az új SET és CLT utasításokkal állítható.
A 740-es család legtöbb tagjában a nullás lap -tól -ig terjedő címei a „speciális funkcióregiszterek” avagy SFR-ek számára vannak elkülönítve. Ezek különféle kiegészítők, mint a beépített bemeneti/kimeneti port vagy időzítők vezérlésére szolgálnak. A család egyes tagjai az SFR-en belül egy „Stack Page Selection Bit” (SPSB) veremlap-kiválasztó bitet is tartalmaznak. Az SPSB üres (avagy 0) értéke esetén a verem a nullás lapra kerül, miközben alapesetben a verem az egyes lapon található. (A 6502-ben a verem hardveresen a $01 jelű memórialaphoz van rögzítve, azaz a $0100–$01FF (256–511) címtartományban lehet.) A 740-es család legtöbb tagjában a nullás lap a lapkára integrált memóriában van megvalósítva (külső RAM helyett), így az SPSB használata lehetővé teszi a programok számára, hogy teljes egészében egyetlen lapkán belüli működő rendszerrel rendelkezzenek, megfelelő ROM-okkal. A 740-es család számos tagja tartalmaz integrált ROM-ot vagy akár EPROM-ot, megengedve kisebb programok teljesen egychipes megvalósítását ilyenek például az eszközillesztők. Mivel a verem a lap tetejétől, azaz a címtől lefelé növekszik, ilyenkor a lap felső részét nem ajánlott más célra használni, hogy a veremterület szabadon maradjon.
Közös utasítások Itt következik az új és az új üzemmódokkal rendelkező meglévő utasítások listája, a 740-es család minden eszközében. Ezek közül néhány utasítás a W65C02-ből származik, mások csak a 740-es családban találhatóak.
W65C02 kiegészítések BBC – Branch Bits Clear (elágazás törölt bitnél) – elágazás, ha az akkumulátorban vagy a memóriában a címzett bit tartalma üres (0). A Rockwell terminológiában ez a BBR (Branch on Bit Reset) utasítás. BBS – Branch Bits Set (elágazás beállított bitnél)) – elágazás, ha a megadott bit tartalma az akkumulátorban vagy a memóriában beállított (1) BRA – Branch Always (feltétel nélküli elágazás) – ugrás a programszámlálóhoz hozzáadott eltolás (+127,-128) által meghatározott címre CLB – Clear Bits (bit törlés) – az akkumulátor- vagy memóriabit beállítása 0-ra DEC – Decrement (csökkent) – csökkenti az akkumulátor tartalmát (a 6502-nél a címzési mód csak X, Y vagy memóriacím lehet) INC – Increment (növel) – az akkumulátor vagy a memória tartalmának növelése 1-gyel SEB – Set Bits (bit beállítás) – az akkumulátor- vagy a memóriabit beállítása 1-re
A 740 család bővítései CLT – Clear T Flag (T bit törlés) – a módosított-X címzés jelzőbitet 0-ra állítja COM – Complement (negálás) – egyes komplemens képzés (negálás) a memória tartalmára és visszaírás a memóriába RRF – Rotate Right 4 (forgatás jobbra 4) – a memória tartalmának ciklikus eltolása 4 bittel jobbra SET – Set T flag (T bit beállítás) – a módosított-X címzés jelzőbitet 1-re állítja TST – Test (teszt) – ellenőrzi, hogy a címzett memóriahely tartalma nulla vagy sem LDM – Load Memory (memóriába betölt) – közvetlen érték betöltése a memóriába.
Hiányzó utasítások A W65C02 az eredeti 65C02-hez képest számos új utasítással bővült. Ezek közé tartoztak a memória egyes bitjeinek beállítására vagy törlésére szolgáló utasítások (alternatív terminológiában a törlés „clear” helyett „reset”), valamint az adott bitek beállított vagy törölt állapotától függő elágazási utasítások. Ezeket megtartották a 740-es családban.
A W65C02 ugyanakkor tartalmaz tesztelő-és-beállító/törlő (set/reset) utasításokat is, amelyek tesztelik a címzett bit állapotát, ennek megfelelően beállítják a Z jelzőbitet, majd ezután az adott bitet 0-ra vagy 1-re állítják. Ezek hasznosak bizonyos jelzőbitek megjelenésére való várakozáshoz és kezelésük előtti törléséhez. Ezek az utasítások nem kerültek bele a 740-esbe.
Az eredeti 65C02 STZ egyutasításos STore Zero utasítását nem tartották meg, de ezt funkcionalitást részben felváltotta az LDM.
A W65C02 számos új utasítással bővült az alacsony fogyasztású működés támogatására. Ezek a 740-es sorozat nem minden tagjában elérhetők.
Az alábbi utasítások nem elérhetőek a M50740A, M50740ASP, M50741, M50752, M50757, M50758 egységekben. WIT ($C2) – megállítja a belső órát, amíg egy megszakítás nem érkezik. A W65C02-ben neve WAI. Széles körben használják általában megszakításvezérelt eszközmeghajtókban.
A következő utasítások nem elérhetők a M50752, M50757, M50758 egységekben. STP ($42) – teljesen leállítja a belső órát, RESET jelzés érkezéséig
Szorzó és osztó utasítások Az M37450 jelű alkatrészekben megjelent a hardveres 8 bites szorzás és a 16/8 bites osztás. MUL ($62) – 8 bites x 8 bites szorzás – megszorozza az akkumulátort az X címzési móddal a nullás lapon kijelölt memória tartalmával, az eredmény a magas helyiértékű bájtját a verembe, az alacsony helyiértékű bájtot az akkumulátorba írja DIV ($E2) – 16 / 8 bites osztás – elosztja az akkumulátorral a 16 bites adatot, ahol a magas helyiértékű bájt a M(zz+x+1), az alacsony helyiértékű bájt az ezt követű memóriabájt, a hányadost az akkumulátorban tárolja, a maradékot pedig a veremben, egyes komplementer formában
Oszcillátor-utasítások Az alábbi utasítások az M50740A, M50740ASP, M50741, M50752, M50757, M50758 jelű alkatrészekben állnak rendelkezésre. SLW ($C2) – megszünteti a kapcsolatot a oszcillátor kimenet és az Xoutf tű között FST ($E2) – az oszcillátor kimenetét az Xoutf kimenethez csatlakoztatja
Alkatrészcsoportok
Külső EPROM / ROM memóriával rendelkező alkatrészek Ezek az alkatrészek nem rendelkeznek belső EEPROM vagy ROM tárolókkal, így egy külső EEPROM-ot vagy ROM-ot igényelnek a firmware tárolásához. M37450S M50734 M50740ASP
Külső ráültethető EPROM-mal rendelkező alkatrészek Ezek az alkatrészek a tok tetején olyan érintkezőkkel rendelkeznek, ami lehetővé teszi egy EPROM csatlakoztatását. Az ilyen alkatrészek drágák és elsősorban fejlesztési célokra használták őket. M37450PSS, M37450PFS M50740-PGYS, M50742-PGYS, M50743-PGYS, M50745-PGYS, M50752-PGYS, M50753-PGYS M50931-PGYS, M50941-PGYS, M50950-PGYS, M50955-PGYS, M50964-PGYS
Belső EPROM-mal rendelkező alkatrészek Ezek az alkatrészek belső EPROM memóriával rendelkeznek. OTP (egyszer programozható) EPROM vagy törlőablakos EPROM kivitelben készültek. M37410E, M37450E M50746E, M50747E M50944E, M50957E, M50963E
Belső maszk-ROM-mal rendelkező alkatrészek Kereskedelmi hőmérséklettartományú alkatrészek: M37410M, M37415M, M37450M M50708, M50740, M50740A, M50741, M50742, M50743, M50744, M50745, M50746, M50747, M50747H, M50752, M50753, M50754, M50757, M50758 M50930, M50931, M50932, M50940, M50941, M50943, M50944, M50950, M50951, M50954, M50955, M50957, M50959, M50963, M50964
Kiterjesztett hőmérséklettartományú alkatrészek: M50744T, M50747T, M50753T M50930T
Alkatrészek M50734 A M50734 ROM/RAM nélküli eszköz olyan perifériákat tartalmaz, mint UART, soros be-/kimenet, A/D, watchdog-időzítő, VCU (itt „Voltage Control Unit”, feszültségszabályozó), és 32 párhuzamos be-/kimeneti port. 8 és 16 bites időzítők választhatók a valós idejű feladatok kezelésére. Utasításkészlete a 6502 mikroprocesszor utasításkészletének bővített változata.
Ebben a konkrét integrált áramkörben a következők találhatók: továbbfejlesztett 6502 processzor 24 digitális be-/kimenet 4 bemenet 8 bites analóg-digitális átalakítókhoz univerzális aszinkron adóvevő (UART) nagy sebességű processzor-összekapcsolás kikapcsolt állapotú SLEEP üzemmód kiterjesztett memória címzése
Az M50734SP/FP és az M50734SP/FP-10 egyedi CMOS LSI mikroprocesszorok UART-tal, órajelvezérelt soros bemenet/kimenettel, analóg-digitális átalakító, VCU egységekkel, watchdog időzítővel és 32 bites párhuzamos be-/kimenettel, az M5040 processzormag köré felépítve. Az M50734 van több belső időzítővel rendelkezik a valós idejű vezérlés céljaira, ez az eszköz ideális az irodai automatizálás céljaira szolgáló berendezések, például printerek, írógépek, rajzgépek, másológépek, FAX és kézi szövegszerkesztők vezérlésére. Az eszközök CMOS folyamattal készültek, így alacsony energiafogyasztásúak ezáltal az M50734SP alkalmas akkumulátoros működésű alkalmazásokhoz is.
Az M50734SP és M50734FP vagy az M50734SP-10 és M50734FP-10 csak a tokozásban különbözik. Az M50734SP/FP és az M50734SP/FP-10 csak a maximális órajelfrekvenciában tér el.
Egyéb szállítók Az 1990-es években az M50959 egy klónját Oroszországban is gyártották, KF1869VE1 () jelöléssel.
Jegyzetek
Fordítás
Források – Mitsubishi katalógus, 1989 További információk Renesas 740 Family