General Instrument CP1600

The Intellivision video game console was the only widespread application of the CP1600 family.

The CP1600 is a 16-bit microprocessor created in a partnership between General Instrument and Honeywell, introduced in February 1975.[1][2] It is one of the first single-chip 16-bit processors. The overall design bears a strong resemblance to the PDP-11.

Honeywell used the CP1600 in a number of process control computers and related systems, but its most widespread use was the CP1610 version in the Intellivision video game console. The system saw little other use due to General Instrument's marketing philosophy of seeking out customers only with very large orders and ignoring smaller customers. They also did not pursue a second source arrangement, which in the early days of microprocessor designs was a requirement for most potential customers.[3]

Description

Physical implementation

CP1600 pinout

The CP1600 was implemented in enhancement mode nMOS and required +12, +5, and −3 V power supplies; I/O connections except for the clocks were TTL (5 V) compatible.[a] Each microstate or processor cycle uses four internal time slots generated by two non-overlapping clocks. A 3.3 MHz two-phase clock produces a 600 nanosecond microcycle. A 5 MHz two-phase clock produces a 400 nanosecond microcycle. Due to the voltage requirements of the clock signals, these had to be generated with external circuitry, as was common in this era of microprocessor design.[3]

In order to fit a 16-bit processor into a 40-pin dual in-line package (DIP) chip design, the CP1600 multiplexed its data and address pins. This allowed a set of 16 pins to be used for both address selection and reading and writing data, but to do so required two bus cycles. It also complicated the overall machine layout as buffers were required on the memory bus to latch the address while the processor switched the pins to data mode. The interface to the system was likewise complex, requiring three pins, BDIR, BC1 and BC2, which had to be decoded to understand what state the memory bus was in.[4]

A relatively uncommon feature of the CP1600 was its "external branch" concept. This was implemented as four pins on the chip, EBCA0 through EBCA3, which held the lower four bits of the BEXT instruction opcode. When this instruction is performed, the pins are activated and are used to indicate which of up to sixteen external systems should be sampled. Those devices would then respond to the query by setting EBCI pin, and the state of this pin would then determine whether the branch was taken or not.[4] This could be used, for instance, to test whether an external device had input data that needed to be processed; the processor could express the value "2" on the EBCA to sample device 2, call the BEXT, and that device would then respond by setting EBCI to true if there was data, causing the processor to jump into the code to read the data from that device.

This contrasts with the typical solution for handling external devices; most systems have the devices raise an interrupt which causes the processor to call special code, the interrupt handler, which then reads additional data to determine which device called the interrupt. This additional data may be presented using dedicated pins on the CPU, but is often presented as a value on the data bus. The interrupt handler code then decides which device driver to call to process the data. The CP1600 can implement this in fewer instructions; the interrupt handler is simply a series of BEXT instructions pointing at the associated drivers which it runs through one at a time until the device in question sets the EBCI and automatically cause the code to branch.

In total, implementing a system using the CP1600 often required additional support chips and logic. This included a system to multiplex sixteen signals into a single pin if the external branching was being used, and a three-bit-to-eight-line converter to avoid having to decode the bus status signals in external parts.[3]

Instruction set and registers

CP1600 registers
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bit position)
Main registers
R0 Register 0 / Accum
R1 Register 1 / Indirect
R2 Register 2 / Indirect
R3 Register 3 / Indirect
R4 Register 4 / Autoincrement
R5 Register 5 / Autoincrement
R6 / SP Register 6 / Stack Pointer
R7 / PC Register 7 / Program Counter
Status flags
  S Z OV C Status Flags

Of the 16-bits available in an instruction opcode, the CP1600 used only 10. The remaining 6 bits were marked "Future Use."[5] The 10-bit instructions meant that code stored in a typical byte-oriented ROM would waste six bits per instruction. In the era of expensive memory, this was a significant issue. To address this, General Instrument also produced special 10-bit ROMs that efficiently stored the instructions. As data and addresses would still require 16-bit values, the 1600 included a special SDBD instruction that pieced together a 16-bit argument from two 10-bit ROM reads.

The unused 6 bits were intended to be used with co-processors, asserting the PCIT line which stalled the CPU until released. Early documentation shows two planned chips in the series, the 1616 which added the "Extended Instruction Set", and the 1618 "Priority Expander".[6]

The system included 87 basic instructions. Instructions might be one to three 16-bit words long depending on the addressing format being used.[4] The CP1600 did not support memory-memory indirect addressing (offsets), and looping was implemented using a dedicated adder that performed single-cycle changes to addresses in memory. The arithmetic logic unit (ALU) was 16-bit wide and could add two 16-bit internal registers in 2.4 microseconds, and memory to register adds of 16-bit numbers in 3.2 microseconds.[7]

Like the PDP-11, the CP1600 used eight 16-bit "general purpose" processor registers, although they were not truly general-purpose as in modern designs. Only R0 had no pre-defined purpose and has been described as "the primary accumulator".[8] R1 through R3 could be used data pointers, generally used for register-based addressing ("implied addressing"). R4 and R5 auto-incremented after being accessed, which made them useful for looping over collections of data.

R6 was the stack pointer, R7 the program counter. Since both of these registers were visible to the programmer, they could be used to implement multiple stacks, or support more complex branching, among other things. There were no implicit stack instructions; when R6 was used in a "read" operation it decremented the address and then returned the data being pointed at, simulating a POP, and when it was used in a "write" it would write then post-increment (like R4/R5), simulating a PUSH.

I/O

As was common for the era, the CP1600 used memory-mapped I/O, as opposed to separate I/O pins as seen on the Intel systems. The use of a multiplexed bus and multi-state bus status made implementing I/O more difficult than would normally be the case on memory-mapped systems. This meant that implementations had to use latches or buffers to be able to interface with the CPU as it changed the bus from indicating an address to data.[8] This both negatively affected I/O performance and increased the complexity of the I/O devices.

To address this problem, GI supplied a series of 164x dedicated I/O chips that implemented the required bus logic. These included, for instance, the 1641 keyboard controller, the 1643 cassette tape controller, and the 1647 display control.[6] Most famous among these is the 1640 "Programmable Interface Controller", or PIC, which was designed to work in concert with the CP1600 and act as a channel controller for the CPU. As with the other 1640 series chips, the PIC internally decoded the bus logic, but also added a very simple processor that could run its own programs to perform I/O and direct memory access. For instance, one might send an instruction to a PIC on a floppy disk card to read data from a given sector on the disk. The PIC would then read the data into its own internal buffer, watch the bus for unused time when the bus status pins were all zero, and then send data to main memory.[6]

General Instrument provided cross-assemblers and simulators/debuggers compatible with 16-bit or larger minicomputers.[9] GI also provided a standalone CP1600 based microcomputer system in the GIC1600.[10]

Uses

The CP1610, used in game consoles such as the Champion 2711[11] and most notably the Intellivision, is a compatible member of the 1600 microprocessor family. It uses a 2 MHz two-phase clock producing a 1 microsecond processor cycle. The CP1610 in the NTSC Intellivisions uses a 1.7897725 MHz two-phase clock. Although users of the CP1600 in the traditional computer role were relatively rare, over 3 million Intellivisions were produced from 1980 until the video game crash of 1983 led to the closing of the Intellivision production lines in 1984.[12]

Production of the CP1600 ended in 1985 when General Instrument spun off its microelectronics division to create Microchip Technology. By this point a number of 32-bit designs like the MC68000 were available that limited interest in a 16-bit design like the CP1600, and their main existing customer, the Intellivision, was no longer in production. Many other products were also end-of-lifed at the same time, and their primary product was the PIC.

Notes

  1. ^ In contrast to the National Semiconductor PACE, for instance, which output 12V signals and required extensive interfacing to use with TTL components.

References

Citations

  1. ^ "General Instrument's microprocessor aimed at minicomputer market". January 2000.
  2. ^ Belzer, Jack; Holzman, Albert G.; Kent, Allen (1978). Encyclopedia of Computer Science and Technology: Volume 10 - Linear and Matrix Algebra to Microorganisms: Computer-Assisted Identification. CRC Press. p. 402. ISBN 9780824722609.
  3. ^ a b c Osborne 1981, p. 2.1.
  4. ^ a b c Series1600 1975, 2.1.
  5. ^ CP-1600 Microprocessor Users Manual (PDF) (S16DOC-CP 1600 -04 ed.). General Instruments. May 1975. Retrieved 5 July 2022.
  6. ^ a b c Series1600 1975, p. i.
  7. ^ Series1600 1975.
  8. ^ a b Lowell Turner, "General Instruments CP1600", 10 July 2001
  9. ^ CP-1600 Cross Assembler Simulator Users Manual (PDF). General Instrument. November 1974.
  10. ^ GIC1600 Microcomputer Users Manual (PDF). General Instrument. September 1975.
  11. ^ "Champion 2711 |Pre-83". pre83.com. Retrieved 2022-05-23.
  12. ^ "Mattel Intellivision - 1980-1984". ClassicGaming. IGN. Archived from the original on 2008-06-23. Retrieved 2008-05-16.

Bibliography

Read other articles:

Gedung Gereja Koinonia (Bethelkerk) pada tahun 1910. Gereja Koinonia adalah gereja tua di Jakarta yang terletak di Jalan Matraman Raya No. 216, tepat di dekat persimpangan Jalan Jatinegara Barat dan Jalan Jatinegara Timur. Gereja ini merupakan salah satu gereja peninggalan zaman kolonial di Indonesia. Sejarah Pada saat kota Jayakarta direbut oleh Belanda, Pangeran Jayakarta Wijayakrama menyelamatkan diri ke arah tenggara kota. Tempat pengasingan tersebut merupakan daerah hutan yang dipenuhi o...

 

 

Disambiguazione – Se stai cercando altri significati, vedi Steno (disambigua). Steno Steno, pseudonimo di Stefano Vanzina (Arona, 19 gennaio 1917 – Roma, 13 marzo 1988), è stato un regista, sceneggiatore e vignettista italiano.[1] Indice 1 Biografia 1.1 Vita privata 2 Filmografìa 2.1 Regista 2.2 Collaborazioni 3 Radio Rai 4 Opere letterarie 5 Omaggi 6 Note 7 Bibliografia 8 Altri progetti 9 Collegamenti esterni Biografia Figlio di Alberto Vanzina, un giornalista piemontese del Co...

 

 

Hessischer RundfunkBerkas:HR Dachmarke.PNGNegaraJermanSloganHier kommt HessenHere comes HesseMarkasFrankfurt, Hesse, JermanTanggal luncur1 April 1924; 99 tahun lalu (1924-04-01)2 October 1948 (as Hessischer Rundfunk)Nama sebelumnyaSüdwestdeutsche Rundfunkdienst AG (1924–1933), Reichssender Frankfurt (1934–1945), Radio Frankfurt (1945–1948)Situs resmihr.deBahasaJerman Peta sembilan anggota penyiaran rgional jaringan radio/TV ARD di Jerman. Markas besar di Frankfurt Hessischer Rundf...

この名前は、ポルトガル語圏の人名慣習に従っています。第一姓(母方の姓)はレジナウド、第二姓(父方の姓)はピッツォニアです。 アントニオ・ピッツォニア 基本情報フルネーム アントニオ・レジナウド・ピッツォニア・ジュニオール略称表記 PIZ国籍 ブラジル出身地 アマゾナス州マナウス生年月日 (1980-09-11) 1980年9月11日(43歳)F1での経歴活動時期 2003 - 2005所属チ

 

 

У Вікіпедії є статті про інших людей із прізвищем Соколов. Олександр СоколовІм'я при народженні Соколов Олександр ОлександровичНародився 11 листопада 1988(1988-11-11) (35 років)Київ, Українська РСРГромадянство  СРСР УкраїнаДіяльність акторAlma mater Київський національний унів

 

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (أكتوبر 2017) أستاذ دكتور   الاسم الرسمي أستاذ دكتور تسمية الإناث أستاذ دكتور فرع من عضو هي

Angelina JolieAngelina Jolie di Salt Premiere 2010 di Berlin di Potsdamer Platz.LahirAngelina Jolie Voight4 Juni 1975 (umur 48)Los Angeles, California, ASWarga negara Amerika Serikat Kamboja Pekerjaan Aktris Pembuat film aktivis Tahun aktif1982–sekarangSuami/istriJonny Lee Miller ​ ​(m. 1996; bercerai 2000)​Billy Bob Thornton ​ ​(m. 2000; bercerai 2003)​Brad Pitt ​ ​(...

 

 

French military officer Not to be confused with Charles-Édouard Lefebvre. Charles Lefebvre-DesnouettesBorn(1773-09-14)14 September 1773Paris, FranceDied22 April 1822(1822-04-22) (aged 48)off the coast of IrelandOccupationSoldier Charles, comte Lefebvre-Desnouettes or Lefèbvre-Desnoëttes (14 September 1773, in Paris – 22 April 1822) became a French officer during the French Revolutionary Wars and a general during the Napoleonic Wars. He later emigrated to the United States.[1]...

 

 

Mizar w Kruszynianach Mizar (zireć[potrzebny przypis]) – cmentarz muzułmański[1]. W Polsce W Polsce istnieje 7 mizarów: po dwa w Bohonikach i Warszawie oraz w Kruszynianach, Lebiedziewie i Studziance. Wydzielone kwatery muzułmańskie istnieją na Cmentarzach Komunalnych w Gdańsku, Trzciance, Wrocławiu, Poznaniu, Rybocicach k. Słubic oraz w Suwałkach. Nagrobki Mizary przeważnie usytuowane są na niewielkim wzniesieniu, zbudowane ściśle według zasad islamu dla tego t...

  ميّز عن عبد الله بن فيصل بن تركي بن عبد الله آل سعود. عبد الله بن فيصل بن تركي الأول آل سعود معلومات شخصية الميلاد سنة 1945  محافظة طريف  تاريخ الوفاة 18 فبراير 2019 (73–74 سنة)[1]  مواطنة السعودية  عضو في هيئة البيعة السعودية  الأب فيصل بن تركي الأول بن عبد ال...

 

 

Mustafa Ali Nombre Adeel AlamNacimiento Bolingbrook, Illinois, Estados Unidos28 de marzo de 1986 (37 años)Nombres artísticos AliAltoMustafa AliPrince Mustafa Ali Peso 83 kg (183 lb)Estatura 1,78 m (5′ 10″)Nacionalidad Estados UnidosResidencia Chicago, IllinoisEntrenador Kenny BriosoSal y Vito ThomaselliEstadísticasDebut 2003[editar datos en Wikidata] Adeel Alam (Bolingbrook, Illinois, 28 de marzo de 1986) es un luchador profesional estadounidense. Es conocido p...

 

 

City in Florida, United StatesQuincy, FloridaCityQuincy City HallMotto: ...In the heart of Florida's future[1]Location in Gadsden County and the state of FloridaQuincy, FloridaLocation in the United StatesCoordinates: 30°35′N 84°35′W / 30.583°N 84.583°W / 30.583; -84.583CountryUnited StatesStateFloridaCountyGadsdenGovernment • TypeManager–Commission • MayorRonte R. Harris • Mayor Pro TemKeith A. Dowdell ...

反戦歌(はんせんか、英: anti-war song)は、戦争に対する抗議、反戦運動のメッセージを歌詞に込めた楽曲の総称であり、プロテストソング[1]の一種である。具体的に戦争に関わる語句を用いず、暗喩として表現されるものも多い。クリーデンス・クリアウォーター・リバイバルの「雨を見たかい」やグレン・キャンベルの「ガルベストン」のように作詞者等に...

 

 

Medal of Honor All recipients American Civil War By surname A–F G–L M–P Q–S T–Z By battle Gettysburg Campaign Battle of the Wilderness Third Battle of Winchester Battle of Cedar Creek Second Battle of Fort Fisher Others 1st West Virginia Cavalry Regiment Other wars and conflicts Indian Wars Spanish–American War Philippine–American War Boxer Rebellion Veracruz World War I World War II Battle of Iwo Jima Pearl Harbor Korean War Vietnam War Post-Vietnam Non-combat By ethnic group A...

 

 

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Wasteland 1960 film – news · newspapers · books · scholar · JSTOR (July 2015) (Learn how and when to remove this template message) 1960 French filmWastelandDirected byMarcel CarnéWritten byMarcel CarnéHenri-François ReyHal Ellson (novel)Produced byLouis DolivetStarringDa...

Neighbourhood in Edmonton, Alberta, Canada This article is about the west Edmonton neighbourhood. For the national park, see Jasper National Park. For the former Town of Jasper Place, see Jasper Place. Neighbourhood in Edmonton, Alberta, CanadaJasper ParkNeighbourhoodJasper ParkLocation of Jasper Park in EdmontonCoordinates: 53°31′23″N 113°34′55″W / 53.523°N 113.582°W / 53.523; -113.582Country CanadaProvince AlbertaCityEdmontonQuadrant[1]N...

 

 

For other people named Seth Williams, see Seth Williams (disambiguation). Seth WilliamsBrevet Maj. Gen. Seth WilliamsBorn(1822-03-22)March 22, 1822Augusta, MaineDiedMarch 23, 1866(1866-03-23) (aged 44)Boston, MassachusettsPlace of burialForest Grove Cemetery, Augusta, MaineAllegianceUnited States of AmericaUnionService/branchUnited States ArmyUnion ArmyYears of service1842–1866Rank Brigadier General Brevet Major GeneralBattles/warsMexican-American WarAmerican Civil War Seth Willia...

 

 

「GATT」はこの項目へ転送されています。Bluetoothプロファイルについては「Bluetoothプロファイルの一覧#GATT」をご覧ください。 関税及び貿易に関する一般協定 スイスのジュネーヴにある旧GATT本部。現在はWTO本部。通称・略称 GATT(ガット)、1947年のGATT(改正前)、1994年のGATT(改正後)[1]署名 1947年10月30日署名場所 ジュネーヴ[1]発効 1947年のGATTは、正式に...

تقويم باللغة الجاوية من أتشيه قبل 1930م صفحة من التقويم الهندوسي 1871–1872. التقويم (الجمع: تقاويم) هو نظام عد زمني لحساب تواريخ الأيام وكذلك تنظيمها لأغراض اجتماعية أو دينية أو تجارية أو إدارية. يتم ذلك بناء على معايير مختلفة في التقاويم المختلفة ويتم في كل من تلك التقاويم إعطاء...

 

 

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada.Puedes avisar al redactor principal pegando lo siguiente en su página de discusión: {{sust:Aviso referencias|Ny-Ålesund}} ~~~~Uso de esta plantilla: {{Referencias|t={{sust:CURRENTTIMESTAMP}}}} Nueva ÅlesundNy-Ålesund Entidad subnacional Coordenadas 78°55′00″N 11°56′00″E / 78.916666666667, 11.933333333333Entidad Villa • País Noruega NoruegaAltitud   • ...

 

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!