Nova Patents
EP0052828A2

Microprocessor System.

Abstract

A single-chip microprocessor device of the MOS/LSI type contains an ALU, several interal busses, a number of address/data registers, and an instruction register with associated control decode or microcontrol generator circuitry. The device communicates with external memory and peripherals by a bidirectional multiplexed address/data bus and a number of control lines. The ALU, registers and busses along with the control ROM are constructed in an interrelated layout whereby minimum space is needed on the chip. Like bits in all registers and the ALU are aligned and in a regular pattern. The busses are metal lines overlying each of the strips of ALU/register bits. Controls are polysilicon lines perpendicular to the busses and aligned with columns of the control ROM. The control ROM is an array of rows and columns of potential MOS transistors, compressed by eliminating column lines which contain no transistors. The number of bits per column is a minimum to enhance compressability producing a wide configuration (long row lines) which allows the columns for control signals to align with the part of the ALU/register strip where the signal is to be used. In addition to the main off-chip memory, a smaller on-chip memory (including both ROM and RAM) is provided which allows execution of instruction sequences to emulate complex instructions are indistinguishable from "native" instructions since all memory fetches and the like are generated exactly the same way, and long instruction sequences are interruptable. This on-chip memory does not affect the off-chip main memory map. Microprocessors are thus made more versatile and can be customized with little design effort. Also, off-chip access of another memory separate from the main memory allows emulator functions or special instructions.

EP0052828A2, drawing sheet 1
Sheet 1 of 40

Term

Term ended

Projected expiry passed 10 November 2001, 24.9 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

26 claims: 10 independent, 16 dependent

  1. 1
    A microprocessor system comprising:a memory containing a plurality of locations defined by a given set of addresses and containing program instructions and data, input/output means for receiving and transmitting information, a central processing unit connected to said memory and said input/output means by conductor means to couple addresses, program instructions, data and information between the memory, input/output means and central processing means, said central processing unit comprising: an arithmetic logic unit for performing arithmetic - and logic operations on data, a plurality of registers for containing address and data, an instruction register for receiving program instructions for execution by the central processing unit, such program instructions being of a predetermined instruction set, control means responsive to the program instruction in said instruction register to produce a plurality of controls for defining the operation of the central processing unit, and an auxilliary storage unit containing a plurality of locations defined by a second set of addresses which may contain program instruction, wherein the second set may overlap said given set of addresses, with means initiated by the control means for transferring sequences of program instructions from such storage unit to said instruction register in response to predetermined program instructions, such sequences being of said instruction set.
  2. 6
    A microprocessor comprising:a main memory containing a plurality of locations defined by an address space, a central processing unit in a semiconducotr unit separate from said main memory, said central processing unit including an arithmetic logic unit, a plurality of registers, an instruction register for receiving program instructions for execution by the central processing unit, such program instructions being of a predetermined instruction set as stored in said main memory, and control means responsive to the program instruction of said instruction set in said instruction register to produce a plurality of controls for defining the operation of the central processing unit, an auxilliary storage unit containing a plurality of locations defined by a first set of addresses not within said address space, wherein the first set may overlap said address space, and means initiated by the control means for transferring sequences of program instructions from such storage unit to said instruction register in response to predetermined program instructions, such sequences being of said instruction set.
  3. 8
    A microprocessor comprising:a main memory containing a.plurality of locations defined by an address space, a central processing unit in a semiconductor unit separate from said main memory, said central processing unit including an arithmetic logic unit, a plurality of registers, an instruction register for receiving program instructions for execution by the central processing unit, such program instructions being of a predetermined instruction set as stored in said main memory, and control means responsive to the program instruction of said instruction set in said instruction register to produce a plurality of controls for defining the operation of the central processing unit, a first auxilliar y storage unit containing a plurality of locations defined by a first set of addresses not within said address space, wherein the first set may overlap said address space, a separate second auxilliary storage unit containing a plurality of locations defined by a second set of addresses not within said address space, wherein the - second set may overlap said address space, and means initiated by the control means for transferring sequences of program instructions from such first or second storage units to said instruction register in response to predetermined program instructions, such sequences being of said instruction set.
  4. 10
    A microprocessor system comprising:a first memory containing a plurality of locations with a first set of addresses defining a first memory map, the first memory containing program instructions and data. input/output means for receiving and transmitting information, a central processing unit connected to said first memory and said input/output means by conductor means to couple address, program instruction, data and information between the memory, input/output means and central processing means, said central processing unit comprising: an arithmetic logic unit for performing arithmetic and logic operations on data, a plurality of registers for containing address and data, an instruction register for receiving program instructions for execution by the central processing unit, such program instructions being of a predetermined.instruction set. control means responsive to the program instruction in said instruction register to produce a plurality of controls for defining the operation of the central processing unit, an auxiliary storage unit containing a plurality of locations with a second set of addresses defining a second memory map, wherein the second.set may overlap said given set of addresses but is not part of said first memory map, with addressing means initiated by the control means for transferring sequences of program instructions from such storage unit to said instruction register in response to predetermined program instructions, such sequences being of said instruction set, and a second memory containing a plurality of locations with a third set of addresses not within said second memory map, said addressing means transferring sequences of program instructions.from said second memory to said instruction register for addresses within the third set.
  5. 14
    A microprocessor comprising:an arithmetic logic unit containing N parallel bits with each bit having two inputs and an output, the bits of the arithmetic logic unit being formed in a face of a semiconductor body in a regular linear pattern. a plurality of separate registers, each containing N parallel bits, each bit having an input and an output, the bits of the registers being.formed in said face in a regular pattern matched with the bits of the arithmetic logic unit, a plurality.of separate parallel busses, each having N bits, each formed at said face and running in a substantially straight pattern generally perpendicular to the linear-pattern of the bits of the arithmetic logic unit aid registers, each of the busses intersecting each bit of the arithmetic logic unit and a plurality of said registers, a plurality of control lines at said face running generally perpendicular to said busses and parallel to the linear pattern of the arithmetic logic unit and registers, the control lines being connected to logic means in the arithmetic logic unit and registers to define connections to and from the busses for the inputs and outputs of the registers and inputs and outputs of the arithmetic logic unit.
  6. 16
    A microprocessor comprising:an airthmetic logic unit containing N parallel bits with each bit having two inputs and an output, the bits of the arithmetic logic unit being formed in a face of a semiconductor body in a regular linear pattern, a plurality of separate registers, each containing N parallel bits, each bit having an input and an output, the bits of the registers being formed in said face in a regular pattern matched with the bits of the arithmetic - logic unit, a plurality of separate parallel busses, each having N bits, each formed at said face and running in a substantailly straight pattern generally perpendicular to the linear pattern of the bits of the arithmetic logic unit and registers, each of the busses intersecting each bit of the arithmetic logic unit and a plurality of said registers, = a plurality of control lines at said face running generally perpendicular to said busses and parallel to the linear pattern of the arithmetic logic unit and registers, the control lines being connected to logic means in the arithmetic logic unit and registers to define connections to and from the busses for the inputs and outputs of the registers and inputs and output of the arithmetic logic unit, and a logic array for generating a plurality of control signals on said control lines device comprising: a plurality of row lines and means for selecting one of said row lines for activation in response to an address, a plurality of column lines intercepting said row lines to provide an array, the column lines divided into a plurality of separate groups with one. group for each of said control lines- and means for selecting no more than one column lines in each group for activation in response to an address,. the number of column lines per group differing among the groups.
  7. 20
    A decoder comprising:an array of potential cells with M rows and N columns, first selector means for activating one of said M rows as defined by an address of B bits, second selector means for selecting one of said N columns as defined by an address of C bits, where M equals 2 , and wherein logically unneeded columns of potential cells are omitted from the array, whereby N is much less than 2 C ,
  8. 22
    A logic array for generating a plurality of control signals for a microprocessor device comprising:a plurality of row lines and means for selecting one of said row lines for activation in response to an address, a plurality of column lines intercepting said row lines to provide an array, the column lines divided into a plurality of separate groups with one group for each of said control signals and means for selecting no more than one column line in each group for activation in response to an address, the number of column lines per group differing among the groups.
  9. 24
    A method of making a logic array of rows and columns of potential cells for generating a plurality of control signals for a microprocessor device comprising the seps of:defining a plurality of equal groups of said columns one group for.each control signal, the columns intercepting said rows at said potential cells, providing row select means for activiting one row in response to a first address, providing column select means for activating no more than one column in each group in response to a second address, eliminating columns which contain no cells for a given sequence of control signals to be generated for the microprocessor device.
  10. 26
    A microprocessor system comprising:a memory containing a large number of locations defined by address and containing program instructions and data, input/output means for receiving and transmitting information, a central processing unit formed in a single integrated circuit connected to said memory and said input/output means by conductor means to couple addresses, program instruction, data and information between the memory, input/output means and central processing means, logic array means in said central processing unit for receiving representations of said program instructions for decoding and generating control signals to define operation of the system, the logic array means including, a plurality of rows and columns of potential cells, the columns arranged in a plurality of groups corresponding to the control signals with means to select rows and columns in response to a program instruction, the number of columns per group differing among the groups and all columns having at least one cell.