previous | contents | next
602 Part 3 ½
Computer Classes
Section 1 ½
Monolithic Microcomputers
Chapter 35
PlC1650: Chip Architecture and Operation
Frank M. Gruppuso
I. Introduction and Design Goals
The PIC1650 is an MOS/LSI circuit array containing RAM, I/O, a central processing unit, and a customer-defined ROM on a single chip. General Instrument (GI) architectured the PIC (Programmable Intelligent Controller) in 1976 to satisfy the need for a low-level, easy-to-use microcontroller. The only other microcomputer available at the time was the calculator-based design TMS 1000, and it was felt that a much more powerful machine could be built around a general-purpose-register, minicomputer-like architecture. Thus was laid the groundwork for the PIC 1650.
The PLC is fabricated in an N-channel MOS-process technology that permits fabrication of both enhancement- and depletion- mode transistors. Depletion-mode transistors allow low-voltage (5-volt) operation and, when used as internal load resistors, offer much better speed-power performance than enhancement-mode transistors used in a similar fashion.
As a controller, the PIC chip was designed to emphasize bit, byte, and register-transfer operations. Its main objectives would be to perform logical processing, basic code converting, and formatting, and to generate fundamental timing and control signals for various subservient I/O devices [PIC 1979a,b]. The emphasis was placed on the ability to provide control and interface functions rather than computing functions. The PLC was seen as a key element to providing so-called intelligence to long-established non-computer, small-system designs which, as it turned out, were mostly electromechanical in nature. Some of the initial proposals were for applications in vending machines, small dot-matrix impact printers, and metered mailing systems.
The following are several key issues which motivated the architecture and logic design.
- Wide instruction word. It was felt that a 12-bit-wide instruction word that was wider than the 8-bit data word afforded both simplicity (and thus compactness) of chip design and ease of user-programmability. All instructions were therefore designed to be one word long; this kept the control logic simple since no multiple fetches had to be made from program memory to execute even the most complex instructions. Also, a 12-bit instruction word allows every register to be directly addressed by the program. It further permits literals in program ROM to be accessed at the same time as the instruction op code. For example, in a machine with an 8-bit-wide instruction word, a load immediate instruction would normally take two 8-bit ROM words fetched and executed in two instruction cycles. In the PIC 1650, the equivalent instruction only occupies one 12-bit ROM word in memory and executes in one cycle.
- General-register architecture. Another aspect of the design that was considered important was the general-purpose nature of the register array: the program counter (PC), every I/O register, and most other specialized registers occupy an address in the register array address space. This permits every instruction that can operate on a general- purpose register to operate, say on an I/O file register or the PC. In the case of the program counter, for example, the instruction MOVW F2 (move the contents of the working register to the PC) is actually a computed GOTO instruction.
- Minimal parts count. It was envisioned that the PIC would be applied in areas that would be cost-sensitive from a systems viewpoint. Thus, efforts were taken to minimize the amount of external outboard circuitry. A single-pin oscillator whose frequency of operation was determinable by a single resistor and capacitor was designed. A second power supply, Vxx was added to drive the output buffers of the processor. It was not expected that TTL gates would be the only loads that the microcomputer I/O lines were ever going to see. Discrete switching transistors, coils, and large LED displays represent only a few of the different kinds of external circuits it was felt the PIC chip had to be capable of interfacing with. If Vxx is varied externally from 5 V to, say, 9 V, the output buffer transistors behave as voltage- controlled resistors. This allows any interface between the PIC chip and the outside world to be more effectively matched. Section VI of this chapter describes an application using this pin.
- Direct Bit Set/Clear/Test instructions. In view of the PIC's overall architectural goal of being a controller, it was highly desirable for the processor to be able to directly set, clear, and test individual bits in any register without forcing the user to program the usual "mask with a literal" coding sequences. Instead, the chip performs these functions internally. Thus, to execute the Bit Set instruction on bit 2 of a particular register, for example, the processor internally sets up the mask ' 00000100' and performs a logical OR between this mask and the register.
- Wide operating-voltage range. Soon after the release of the PIC 1650 to the marketplace, it became apparent that a number of applications were found which required battery operation (e.g., electronic hand-held games and digital scales) or, more generally, a wide operating-voltage range. A wide operating-voltage-range chip could tolerate a less critical and, hence, less costly external power supply. Thus,
previous | contents | next