Instrument general CP1600

CP1600 este un microprocesor pe 16 biți , creat la mijlocul anilor 1970 împreună de General Instrument și Honeywell . Microprocesorul CP1600 a fost proiectat pe baza arhitecturii de minicomputer PDP-11 , folosită și pe baza microprocesorului MCP-1600 de la Western Digital și influențând multe alte modele. Honeywell a folosit CP1600 într-un număr de computere de control al proceselor și sisteme interconectate, dar versiunea CP1610 folosită în consola de jocuri Intellivision a fost cea mai utilizată .

Descriere

Sistemul de comandă CP1600 repetă aproape complet sistemul de comandă PDP-11, dar nu este compatibil cu acesta la nivelul codurilor de operare și are diferențe în tipurile de adrese. Doar cei 10 biți inferiori sunt utilizați pentru codurile operaționale, cei 6 de sus sunt marcați ca „Rezervați pentru extindere ulterioară”. Pe de altă parte, la proiectarea sistemelor, acest lucru a făcut posibilă reducerea cantității de ROM. Probabil că cei 6 biți rezervați au fost utilizați de către coprocesoare. Lungimea comenzilor este de la unu la trei cuvinte mașină, în funcție de tipul de adresare. Spre deosebire de alte procesoare cu aceeași arhitectură, CP1600 nu acceptă transferuri de date de la memorie la memorie folosind adresarea indirectă (offset-uri), în plus, instrucțiunile de salt condiționat utilizează offset-uri de 16 biți în loc de cele de 8 biți, ceea ce permite, în în caz de sărituri în lungime, evitați utilizarea comenzilor suplimentare de sărituri necondiționate.

La fel ca PDP-11, CP1600 folosește opt registre de uz general pe 16 biți , deși acești registre nu sunt complet echivalenti în setul de instrucțiuni. Registrul R0 nu poate fi utilizat pentru acces indirect la memorie. Registrele R1 - R3 pot fi utilizate pentru acces indirect la memorie, dar nu acceptă incrementarea automată. Registrele R4 și R5 sunt întotdeauna auto-incrementate după un acces indirect la memorie [1] .

Registrul R6 este folosit ca indicator de stivă, registrul R7 este contorul de program. Deoarece ambele registre sunt disponibile programatic pentru programator, este posibil să se implementeze mai multe stive sau o logică de salt complexă. Nu există instrucțiuni explicite pentru accesarea stivei, registrul R6 este auto-decrementat înainte de a-l folosi pentru a citi indirect date din memorie, ceea ce simulează o instrucțiune POPși se auto-incrementează după ce îl folosește pentru a scrie indirect date în memorie, ceea ce simulează o instrucțiune. PUSH.

La fel ca PDP-11, una dintre caracteristicile distinctive ale CP1600 este suportul pentru maparea registrului I/O de memorie , adică capacitatea de a controla dispozitivele prin scrierea la adrese de memorie specifice. În CP1600, spre deosebire de Unibus utilizat în PDP-11, magistralele de adrese și de date au fost multiplexate pentru a reduce numărul de pini și a potrivi procesorul într-un pachet DIP cu 40 de pini . Această diferență a însemnat că în aplicațiile practice ale procesorului era necesar să se folosească latch-uri sau buffer-uri pentru a fixa adresa și datele [1] . Acest lucru a limitat viteza I/O, așa că General Instrument a dezvoltat o serie de „Controle de interfață programabile” concepute pentru a fi utilizate cu CP1600 ca controlere de canal .

Procesorul CP1600 a fost realizat folosind tehnologia N-MOS , au fost folosite surse de +12, +5, -3 V pentru alimentare, nivelurile de semnal logic sunt compatibile cu TTL . Lansat inițial la 3,3 MHz (600 ns timp de ciclu al mașinii) [2] , apoi frecvența a fost crescută la 5 MHz (400 ns timp de ciclu al mașinii). Comenzile necesare pentru a executa de la 6 la 14 cicluri de mașină, care la o frecvență de 5 MHz variază de la 2,4 la 5,6 μs [3] . General Instruments a produs și sistemul de dezvoltare „GIMINI” pentru CP1600 [2] .

Aplicații

Microprocesorul CP1610 folosit în consola de jocuri Intellivision este de fapt o versiune încetinită a CP1600 cu câteva simplificări. În set-top box-ul Intellivision, microprocesorul CP1610 a funcționat la 894 kHz pentru televizoarele NTSC sau 1 MHz pentru versiunile PAL / SECAM . Deși utilizatorii de computere bazate pe CP1600 erau foarte rari, peste 3 milioane de console Intellivision au fost produse din 1980 până la criza industriei jocurilor pe computer din 1983 , care a dus la închiderea industriilor producătoare de console în 1984. [patru]

Producția CP1600 a încetat în 1985, când General Instruments a divizat divizia sa de microelectronice pentru a forma Microchip Technology . Până în acest moment, o serie de dezvoltări pe 32 de biți erau deja disponibile, cum ar fi Motorola 680x0 , care a redus interesul pentru sistemele pe 16 biți, cum ar fi CP1600, iar consumatorul principal, Intellivision, a încetat producția. În același timp, suportul pentru multe alte produse a fost renunțat, iar microcontrolerele PIC au devenit produsul principal al noii companii .

Vezi și

Link -uri

  1. 1 2 Lowell Turner, „General Instruments CP1600” Arhivat la 23 martie 2017 la Wayback Machine , 10 iulie 2001
  2. 1 2 „Series 1600 Microprocessor” Arhivat 26 mai 2011. , General Instruments 1977 Data Catalog, p.10
  3. „Manual de utilizare al microprocesorului CP-1600” Arhivat 4 martie 2016.
  4. Mattel Intellivision - 1980-1984 (link indisponibil) . Jocuri clasice . IGN . Arhivat din original pe 28 ianuarie 2013. 

Link- uri externe