`
`Europaisches Patentamt
`
`European PatentOffice _
`
`Office européen des brevets
`
`.
`
`@) Publication number:
`
`0071 727
`Al
`
`EUROPEAN PATENT APPLICATION
`
`Application number: 82105491.3
`
`Date offiling: 23.06.82
`
`@ incoi: @O6F 15/06
`
`Priority: 24.07.81 US 286426
`24.07.81 US 286424
`24.07.81 US 286425
`
`Dateof publication of application: 16.02.83
`Bulletin 83/7
`
`Designated Contracting States: DE FR GB NL
`
`Restructurable integrated circuit.
`
`
`
`@ Applicant: TEXAS INSTRUMENTS INCORPORATED,
`13500 North Central Expressway,Dallas
`Texas 75265 (US)
`
`Inventor: Budzinski, Robert L., 1106 EdgewoodDrive,
`Richardson Texas 75081 (US)
`Inventor: Thatte, Satish M., 1304 Eik Grove, Richardson
`Texas 75081 (US)
`
`Representative: Leiser, Gottfried, Dipl.-Ing. et al,
`Patentanwaite Prinz, Bunke & Pariner Ernsberger
`Strasse 19, D-8000 Miinchen 60 (DE)
`
`@ )
`
`Arestructurable integrated circuit, including four 16-bit
`processors PRO, PR1, PR2, PR3, data and control memories
`66 and 78, and external interfaces 72, 73, 74, 75, 76 all
`mounted on a chip. The processors include reconfigurable
`connections through a status bus 52, microprogramming
`capability with dynamic logic array interpretation, and a
`multi-level flexible interrupt management system, so that
`the processors PRO-PR3 may be reconfigured program-
`mably to operate independently, in lockstep, or as pipelined
`processors. All processors PRO-PR3 are connected to data,
`control, and status busses 56, 14, and 52. In addition, exter-
`nal control, data, and status interfaces 72-76 are also
`provided, connected through the respective corresponding
`busses 56, 14, and 52 to each of the processors PRO-PR3.
`These external interfaces are connectedto all of the inter-
`connections which permit
`reconfigurability among the
`processors on a chip, and these external interfaces permit
`coordination of the processors on more than one RIC chip.
`
`es
`
`N =E
`
`P007
`
`”
`
`CONTROL STORE MAHAGER
`
`INTERRUPT
`MANAGER
`SCHEOULER
`
`Ora 22
`REGISTERS
`ALU, DECODER
`
`
`
`
`EXTERMAL
`INTERRUPT
`
`
`
`
`
` EXTERRAL
`
`
`
`STATUS
`PORT
`
`
`EXTERNAL
`EXTERWAL
`
`DATAPORT
`DATA PORT
`
`
`
`
`RAW MEMORY
`
`
`
`ACTORUM AG
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`eo
`
`RESTRUCTURABLE INTEGRATED CIRCUIT
`
`0071727
`
`SPECIFICATION
`
`Background of the Invention
`This invention relates to a restructurable integrated
`circuit which includes multiple 16-bit processors all
`accessing a common memory, with the interconnections
`between the processors being alterable in software so that
`
`the restructurable IC may be operated in a variety of
`different computing configurations.
`
`LO
`
`15
`
`20
`
`»
`
`25
`
`the
`A major difficulty in taking advantage of
`possible economies offered by VLSI
`technology is that few
`prospective VLSI parts can be produced in sufficient
`quantity to bring the price down to an attractive level.
`In particular, since many applications impose their own
`particular constraints on processor function, special
`processors for such applications have been custom-
`designed, at a necessarily high cost.
`It is a particular object of the present invention to
`satisfy the peculiar processing requirements of many
`different applications by one common IC chip design, which
`can therefore be manufactured in large quantities
`economically.
`it is often
`En addition to a main processor,
`advantageous to use a dedicated processor for controlling
`I/O functions (Such as CRT display),
`for memory
`Management, or for specialized arithmetic processing.
`However, as noted above,
`the high cost of custom VLSI
`
`design has prevented optimal exploitation of
`
`the
`
`30
`
`35
`
`advantages provided by such dedicated processors.
`It is a further object of the present
`invention to
`provide means for easily configuring a dedicated special-
`purpose processor by means of a unspecialized common IC.
`in
`Et
`is often particularly advantageous,
`implementing such dedicated processors,
`to integrate them
`on a single chip with a general-purpose processor.
`- However, such structures require further specialization of
`the design,
`and are therefore subject
`to cost
`disadvantages as discussed above.
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`9071727
`;
`
`
`It is a further object of the present invention to
`
`
`
`
`
`
`
`
`
`
`permit integration of a general-purpose processor with one
`
`
`
`
`
`
`
`
`Or more special-purpose processors on a single chip, by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`means of a general-purpose reconfigurable IC which can
`easily be manufactured in quantity.
`.
`
`
`
`
`
`
`
`
`
`
`
`
`
`A further disadvantage of custom VLSI design is that,
`together with cost, yield, and reliability of the finished
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`part normally improve as the manufacturing history of the
`
`
`
`
`
`
`
`
`part proceeds along the "learning curve". However, custom
`
`
`
`
`
`
`
`special-purpose designs are normally not manufactured in
`
`
`
`
`
`
`
`
`
`
`
`large enough numbers over a large enough period of time to
`
`
`
`
`
`
`
`permit exploitation of the progressive improvement of
`
`
`
`cost and reliability.
`
`
`
`
`
`
`
`
`invention is
`A further object of the present
`therefore to provide a general purpose part which can be
`
`
`
`
`
`
`
`
`
`
`manufactured in large quantity over a long period of time,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to permit exploitation of cost yield, and reliability
`
`
`
`
`
`
`
`improvements obtained by progress along the "learning
`curve".
`.
`
`
`
`
`
`
`
`
`
`
`they often have
`Expensive as custom VLSI designs are,
`
`
`
`
`
`
`
`
`the further disadvantage that the gate density is
`
`
`
`
`
`
`
`
`
`
`
`relatively low. This is because, for a part which will be
`
`
`
`
`
`
`
`
`
`produced in small quantities, it is not economical
`to
`
`
`
`
`
`
`
`
`
`spend the additional time and money to optimize the
`
`
`packing density.
`
`
`
`
`
`
`
`
`
`Thus, it is a further object of the present invention
`
`
`
`
`
`
`
`
`
`to provide an integrated circuit which can satisfy the
`requirements of a custom integrated circuit while
`
`
`
`
`
`
`
`
`
`
`
`retaining a high gate density.
`
`
`
`
`
`
`
`
`
`Gate arrays provide an extremely flexible LSI or VLSI
`
`
`
`
`
`
`
`
`
`part, and gate arrays do satisfy some special functions
`(such as a high speed multiplier or a cross bar switch)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`efficiently. However, gate arrays are not very well
`
`
`
`
`
`
`
`
`adapted to supporting programmable systems, and the gate
`
`
`
`
`
`
`
`
`
`
`
`
`
`density of a gate array is normally not as high as that of
`
`
`a processor.
`Thus, it is a Further object of the present invention
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to provide -a restructurable integrated circuit which has a
`
`
`
`
`
`
`
`
`
`
`higher gate density than a gate array, and is better
`
`‘A;
`
`rn
`
`en
`
`ta
`
`
`
`
`
`INTEL - 1006
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`25
`
`
`
`
`
`30
`
`
`35
`
`INTEL - 1006
`
`
`
`a
`
`
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`0071727
`3
`
`
`
`
`
`
`adapted to supporting a programmable system.
`
`
`
`
`
`
`
`Where relatively large and complicated systems must
`be mathematically modelled, it is frequently desirable to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`have a large array processor, where, even though the data
`
`
`
`
`
`
`
`
`throughput capacity of each processor is relatively low,
`
`
`
`
`
`
`
`
`
`
`the total data throughput is extremely high, due to the
`
`
`
`
`
`
`
`large degree of parallelism. However, such array
`
`
`
`
`
`
`
`
`processors have to date been relatively expensive, since
`
`
`
`
`
`
`
`they were usually constructed as special-purpose systems.
`
`
`
`
`
`
`
`
`Similarly, it is sometimes desirable to perform a
`long series of computations on an extremely wide
`
`
`
`
`
`
`
`
`multiple-precision word (e.g., where a complex orbital
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`System must be modeled over a very long period of time.)
`In this case also, adaptation of existing systems has
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`normally imposed disadvantages of high cost,
`low speed, or
`
`both.
`
`
`
`
`
`
`
`
`invention
`Thus, it is a further object of the present
`to provide a processor in an integrated circuit, such that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a number of these integrated circuits can be combined to
`
`
`
`
`provide array processing and/or multiple-precision
`
`
`
`
`
`
`processing cheaply, without custom hardware design.
`
`
`
`
`
`
`
`A further crucial disadvantage of custom VLSI designs
`
`
`
`
`
`
`
`
`
`is that the design cycle time is unavoidably long, since
`
`
`
`
`
`
`
`redesign and testing of hardware is required.
`
`
`
`
`
`
`
`
`invention
`Thus, it is a further object of the present
`
`
`
`
`
`
`
`
`to provide an integrated circuit which can be reconfigured
`for custom applications solely by changes to software
`
`
`
`
`
`
`
`
`
`and/or firmware.
`Additional background references on multiple
`
`
`
`
`
`
`
`
`
`processing systems, dynamic architecture, and micro-
`
`
`
`
`
`
`processor architecture generally,
`include the following:
`
`
`
`
`
`
`
`Multiprocessors and Parallel Processing (ed. P. Enslow,
`Jr. 1974); A. Abd-Alla & A. Meltzer, Principles of Digital
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Computer Design (1976); C. Mead & L. Conway, Introduction
`
`
`
`
`
`
`
`
`
`to VESI Systems (1980); R. Krutz, Microprocessors and
`Logic Design (1980); G. Myers, Advances in Computer
`
`
`
`
`
`
`
`
`
`
`
`
`
`Architecture (1978); Baer, Multiprocessing Systems,
`25 IEEE Transactions on Computers 1271 (1976); Thurber &
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Wald, Associative and Parallel Processors,
`7 Computing
`
`
`
`
`
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`0071727
`
`
`
`
`.
`4
`Surveys 215 (1975); Kartashev & Kartashev, Dynamic
`
`
`
`
`
`
`
`
`
`
`
`
`
`Architectures: Problems and Solutions, Computer Magazine,
`
`
`
`
`
`
`
`26; Kartashev & Kartashev, A Multicomputer
`July '78,
`
`
`
`
`
`
`
`
`
`System with Dynamic Architecture, 28 IEEE Transactions on
`Computers’ 704 (1979); Kartashev & Kartashev, Super Systems
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for the 80's, Computer Magazine, November 1980, at 11; and
`
`
`
`
`
`
`
`vick, Adaptable Architectures for Super Systems, Computer
`Magazine, November 1980 at 17; all of which are hereby
`
`
`
`
`
`
`
`
`
`
`
`
`
`incorporated by reference.
`
`
`
`
`
`
`It is often advantageous, particularly where
`
`
`
`
`
`
`
`
`
`unsophisticated users are involved,
`to design a very high
`
`
`
`
`
`
`
`
`
`level application language which is tailored to a specific
`
`
`
`
`
`
`
`
`job. However, such application languages, if embodied in
`
`
`
`
`
`
`
`
`
`software, are normally very slow, and if embodied in
`
`
`
`
`
`hardware, are normally very expensive.
`
`
`
`
`
`
`
`
`
`
`It is thus a further object of the present invention
`
`
`
`
`
`
`
`to provide means for economically providing VLSI
`
`
`
`
`
`
`
`
`processors which are adapted to interpret any desired
`
`
`application language.
`.
`
`
`
`
`
`
`
`The many advantages of multi-processor systems have
`
`
`
`
`
`
`
`seldom been efficiently exploited, partly because it has
`
`
`
`
`
`
`
`
`
`always been difficult to train programmers to adapt their
`
`
`
`
`
`
`
`
`
`programming so as to be optimal on a muiti-processor.
`
`
`
`
`
`
`
`
`
`rather than a uniprocessor system. Thus, it is a further
`
`
`
`
`
`
`
`
`
`
`object of the present invention to provide a system which
`
`
`
`
`
`
`
`
`is easily reconfigurable between a multiprocessing and a
`
`
`
`
`
`
`
`uniprocessing system, so that programmers may gradually
`
`
`
`
`
`
`
`
`accustom themselves to the advantages and requirements of
`
`
`multiprocessor programming.
`
`
`
`
`
`
`
`A further difficulty with the exploitation of
`
`
`
`
`
`
`
`
`multiprocessing systems has been the problem of inflexible
`hardware structures.
`Since much of the behavor of a
`
`
`
`
`
`
`
`
`
`multiprocessor system is determined by its hardware
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`structure, and since alli hardware structures yet suggested
`appear to be optimized for one type of problem but not for
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`another, no multiprocessor hardware structure has yet been
`
`
`
`
`
`
`
`
`achieved which appears to be a truly general-purpose
`system.
`:
`
`Thus it is a further object of the present invention
`
`
`
`
`
`
`
`
`
`INTEL - 1006
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`
`
`aenlllt
`
`wo
`
`am
`
`INTEL - 1006
`
`
`
`.
`
`0071727
`
`
`
`
`
`
`
`
`
`
`
`
`
`to provide a multi-processor hardware structure which is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`reconfigurable, and which thereby provides a truly
`
`
`
`
`general-purpose multiprocessor hardware structure.
`
`
`
`
`
`
`
`
`A further difficulty which has arisen in many
`
`
`
`
`
`
`
`multiprocessor systems is the problem of interprocessor
`
`
`
`
`
`
`
`
`interference, which occurs when more than one processor
`
`
`
`
`
`
`
`
`
`
`attempts to access the same area of memory.
`Et
`is
`
`
`
`
`
`
`
`
`
`
`possible to restrict the area of memory which may be
`accessed by any one processor, but, while this avoids the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`problems of interprocessor interference, it sacrifices
`
`
`
`
`
`
`
`
`much of the advantage of a multiprocessor system.
`
`
`
`
`
`
`
`
`
`Thus, it is a further object of the present invention
`
`
`
`
`
`
`
`to provide a multiprocessor architecture which, while
`
`
`
`
`
`
`
`
`
`permitting every processor to access any area of MeMOLrY,
`
`
`
`protects data integrity.
`
`
`
`
`Emulation of microprocessor languages and
`
`
`
`
`
`
`architectures, and of micro- and minicomputer systems,
`is
`
`
`
`
`
`
`
`at present relatively expensive.
`If emulation could be
`
`
`
`
`
`
`
`
`
`made cheaper, e.g. based on a single processing chip,
`then
`
`
`
`
`
`
`
`the cheaper development and testing possible would permit
`
`
`
`
`
`
`
`wider use of custom designed application systems, and
`
`
`
`
`
`faster adoption of new innovations.
`invention is to
`A further object of the present
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`provide a single-chip processor capable of versatile and
`
`
`efficient emulation.
`
`
`
`
`
`
`
`
`Ft would also be desirable to provide a
`
`
`
`
`
`
`microprocessor architecture which would permit graceful
`
`
`
`
`
`
`
`
`degradation in the event of failure. Thus, both
`
`
`
`
`
`
`
`
`
`reliability and yield could be greatly improved, since the
`
`
`
`
`
`
`
`
`
`
`first major hardware fault would not prevent function of a
`
`
`
`
`
`
`
`
`chip, but would simply degrade its preformance marginally.
`It is a further object of the present invention to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`provide a microprocessing architecture which provides
`
`
`
`
`
`
`
`graceful degradation, rather than catastrophic failure,
`in
`
`
`
`
`
`the event of hardware fault.
`
`
`
`
`
`
`
`the advantages of
`Only minor exploration of
`
`
`
`
`
`
`multiprocessor systems including large numbers of
`
`
`
`
`
`
`
`
`processors. has hetherto been undertaken, because of the
`
`
`
`
`
`
`
`expense of multiple processors,
`the difficulty of
`INTEL - 1006
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`
`
`25
`
`30
`
`
`35
`
`
`
`
`
`INTEL - 1006
`
`
`
`
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`0071727
`,
`
`
`
`
`
`
`
`interconnecting them, and the extreme difficuity of
`
`
`
`
`
`
`
`specifying appropriate protocols for the interface between
`
`
`
`
`
`processors in a large system.
`
`
`
`
`
`
`
`
`Thus, it is a further object of the present
`
`
`
`
`
`
`
`invention to provide processors which can easily be
`
`
`
`
`
`
`combined into a multi-processor system including any
`
`
`
`
`desired number of processors.
`_
`
`
`
`
`
`
`
`
`
`
`A further difficuity, if IC processors are to be made
`
`
`
`
`
`
`
`capable of combination into multi-processor systems,
`is
`
`
`
`
`
`
`
`
`
`the provision of additional hardware on chip for interface
`
`
`
`
`
`
`with external processors.
`I/0 communication, receipt
`and routing of externally generated interrupts, and
`
`
`
`
`
`
`
`
`
`
`
`
`interprocessor communication with external processors
`
`
`
`
`
`
`
`
`are functions which will require excess hardware if
`implemented separately.
`.
`
`
`
`
`
`
`
`
`
`
`Thus, it is a further object of the present invention
`
`
`
`
`
`
`
`
`
`to provide an external interface which can both handle 1/0
`
`
`
`
`communications inmediate interprocessor communication.
`
`
`
`
`
`
`
`
`
`It is a further object of the present invention to
`
`
`
`
`
`
`
`provide an interrupt managing structure,
`in each
`
`
`
`
`
`
`
`
`
`
`processor, such that interrupts can be used both to govern
`
`
`
`
`
`
`interprocessor communication and to transmit externally
`
`
`generated interrupts.
`
`
`
`
`
`
`
`
`
`
`When a change in operating function or structure of a
`
`
`
`
`
`
`
`
`
`processor system is required, logic redesign is not only
`
`
`
`
`
`
`
`expensive and difficult, but also time consuming.
`
`
`
`
`
`
`
`
`Thus it is a further object of the present invention
`
`
`
`
`
`
`
`
`to permit ready alteration of processor operation, at any
`
`
`
`
`
`
`
`
`level, by reprogramming rather than by logic redesign.
`
`
`
`
`
`
`
`
`
`It would be highiy desirable to have a processor
`
`
`
`
`
`
`
`
`hardware system to which an "architecture compiler" could
`be applied.
`Such a compiler would permit programming of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the effective architecture of the system,
`in addition to
`
`
`
`
`
`
`
`the other changes normally possible by programming.
`However,
`to support such a compiler it is necessary to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`have hardware which permits selective and programmable
`
`
`
`
`reconfiguration of Functional interconnections.
`
`
`
`
`
`
`
`
`Thus, it is a further object of the present invention
`
`
`
`
`
`
`
`to provide a processor architecture having the necessary
`
`
`
`
`
`
`
`
`
`
`
`wat
`
`
`
`
`
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`7
`
`0071727
`
`alterable functional structure to support an architecture
`compiler.
`
`Summary of the Invention
`Th e
`p r e s e n t i n v e n t i o n p r o v i d e s fo r fo u r
`
`5
`
`15
`
`microprogrammable 16-bit microprocessors on a single
`chip. Microprogramming capability is provided by a large
`PLA which is included in each process or. Each of the
`processors is connected to each of three main buses,
`10 namely the status bus, the data bus, and the control bus.
`Each p rocessor is connected to the status bus by a
`respective status bus multiplexer, which operates as a
`programmable interconnect. In accordance with the various
`configurations of the status bus connections which are
`th u s p o s s ibl e , t h e p r o c e s s o r s m a y b e o perated
`independent l y (e.g. as four 16-bit pr ocessors), in
`lockstep (e.g. as one 64-bit processor), or pipelined.
`Thus, two major sources of programming flexibility are
`provided:
`the microprogramming flexibility provided by
`20 PLA interpretation, and the processor reconfiguration
`fle x i b i l i t y w h ich is p r o v i d e d by t h e u s e of the
`programmable status bus connections and by controlling the
`instruction streams interpreted by each proc�ssor.
`To exploit this flexibility in processor control,
`25 each chip level instruction is directed to one or more
`specific processors. Thus, when it is desired to operate
`the p r o ce s s o r s in a pipeline mode (where separate
`processors sequentially perform different operations on a
`single data stream), each processor is respectively
`30 instructed to perform the operation appropriate to its
`pos i t io n i n t he p i pe l i ne seq uence. In l o ckstep
`processing, one processor is designated as the master
`processor (to control sequencing etc.), and the other
`lockstepped processors are all controlled simultaneously.
`35 These modes of reconfiguration may also be combined, so
`that, e.g., a chip might be reconfigured to contain four
`independent 16-bit processors, two pipelined 32-bit
`processors,. one 4 8-bi t processor (three locks tepped 16-bi t
`processors) and one independent 16-bit processor, etc.
`
`•
`
`•
`
`INTEL - 1006
`
`
`
`0071727
`
`
`
`
`
`
`
`
`
`
`
`
`
`Since the control bus may be segmented to carry plural
`
`
`
`
`
`
`unrelated sequences of instructions,
`a multilevel
`
`
`
`
`
`
`
`
`interrupt hierarchy is used, arbitrated by a single
`
`
`
`
`
`
`
`
`
`control store manager,
`to arbitrate access to the control
`
`
`
`
`
`
`
`The external
`interface controls (including an
`bus.
`
`
`
`
`
`
`
`
`external interrupt manager,
`two external status ports and
`
`
`
`
`
`
`
`
`
`two external data ports) also permit processors on more
`
`
`
`
`
`
`
`
`
`
`
`than one RIC chip to be linked together in the various
`
`
`
`
`
`
`
`
`modes discussed above. In addition,
`the external interface
`
`
`
`
`
`
`
`
`controls also control access to external memory, I/O's,
`
`
`etc.
`
`
`
`
`
`
`
`
`
`
`A substantial amount of on-chip RAM is provided,.
`
`
`
`
`
`
`
`
`
`
`which may be accessed by any of the processors. However,
`
`
`
`
`
`
`
`
`
`each processor also has direct access to a primary
`
`
`
`
`
`
`
`
`allocation of the on-chip RAM. All processors may
`
`
`
`
`
`
`
`directly access their respective primary allocations of
`
`
`
`
`
`
`
`
`
`
`
`RAM in parallel, but,
`to access other portions of RAM, a
`processor must use the data bus, and therefore such
`
`
`
`
`
`
`
`
`
`accesses must be arbitrated.
`Two design expedients
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`prevent hangups and deadlocks:
`first, 256 priority levels
`
`
`
`
`
`
`
`
`are used coincidence of priority is thereby reduced.
`
`
`
`
`
`
`
`
`Second, ail interrupts are sent, and acknowledged,
`in
`
`
`
`
`
`
`
`
`
`parallel. Third, any processor which is unabie to acquire.
`
`
`
`
`
`
`
`
`all resources needed to proceed with execution releases
`
`
`
`
`
`
`
`
`
`all previously acquired resources while it is waiting for
`
`
`
`
`
`
`the necessary resources to become available.
`
`
`
`
`
`
`
`In addition to these crucial elements, numerous
`
`
`
`
`
`
`
`
`
`conventional elements are aiso used to fully implement the
`
`
`
`
`
`
`
`
`
`design.
`For example, each processor includes an ALU, a
`
`
`
`
`
`
`
`
`barrel shifter, a memory mapper, a microsequencer, etc.
`
`
`
`
`
`
`
`
`The advantages of the present invention inciude all
`
`
`
`
`
`
`
`
`
`objects of the invention discussed above, and others which
`
`
`
`
`
`
`
`
`
`
`
`will be obvious to those skilled in the art. For example,
`
`
`
`
`
`
`
`
`
`
`
`
`the hardware layout time of the RIC chip is reduced by a
`
`
`
`
`
`
`
`
`
`
`factor of almost four, since much of the structure (e.g.,
`
`
`
`
`
`ail four processors)
`is replicated.
`Gf course,
`the processors need not be 16-bit
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`processors, but may alternatively be 32-bit, 8-bit, etc.
`
`
`
`
`
`
`
`
`
`
`
`the number of processors on a chip may not be
`Similarly,
`INTEL - 1006
`
`(,
`
`it]
`
`th
`
`ene
`
`ty
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`INTEL - 1006
`
`
`
`
`
`
`0071727
`
`four.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`exactly four, but may be three, or any number larger than
`
`
`
`
`
`
`
`
`In fact,
`the maximum number of processors is
`
`
`
`
`
`
`constrained simply by manufacturing technology, as smaller
`
`
`
`
`
`
`
`geometries become practicable, it might be very desirable
`
`
`
`
`
`
`
`
`
`
`to include large numbers of processors on a chip.
`In such
`
`
`
`
`
`
`case,
`the interconnections, busses, and protocols would
`
`
`
`
`
`
`
`
`
`remain the same. Of course, if the processors were other
`
`
`
`
`
`
`
`
`
`than 16-bit,
`the width of the respective busses would have
`
`
`
`
`to be changed correspondingly.
`
`
`
`
`
`
`
`
`there is provided
`According to the present invention,
`
`
`
`
`
`
`a restructurable integrated circuit, comprising a
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`
`
`
`
`
`
`
`
`
`plurality of busses, each connected to all of said
`
`
`
`
`
`
`
`
`processors; and means, connected to each of said.
`
`
`
`
`
`
`processors, for reconfiguring said processors selectively
`
`
`
`
`
`
`
`
`
`so that said processors are operable in lockstep or
`
`independently.
`
`
`
`
`
`
`
`
`there is provided
`According to the present invention,
`
`
`
`
`
`
`a restructurable integrated circuit, comprising a
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`
`
`
`
`
`
`
`
`
`plurality of busses, each connected to all of said
`
`
`
`
`
`
`
`
`processors; said busses comprising a status bus including
`
`
`
`
`
`
`
`
`
`
`a plurality of lines said lines of said status bus
`
`
`
`
`
`
`including synchronization and arithmetic linkage lines;
`
`
`
`
`
`
`
`
`each said processor comprising a respective status bus
`
`
`
`
`
`
`
`
`multiplexer connected to said respective processor and to
`
`
`
`
`
`
`
`
`said status bus, said respective status bus multiplexer
`
`
`
`
`
`
`selectively and programmably connecting or interrupting
`
`
`
`
`
`
`
`
`selected lines of said status bus and selectively
`
`
`
`
`
`
`
`
`connecting said respective processor to said status bus,
`
`
`
`
`
`
`thereby selectively and programmably connecting said
`
`
`
`
`
`
`
`
`respective processor through said status bus to adjacent
`
`
`
`
`ones of said processors.
`
`
`
`
`
`
`
`
`there is provided
`According to the present invention,
`
`
`
`
`
`
`a restructurable integrated cireuit, comprising a
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`
`
`
`
`
`
`
`
`plurality of busses, each connected to all said
`
`
`
`
`
`
`
`
`processors; each said processor comprising a dynamic logic
`
`
`
`
`
`
`
`
`array (DLA) connected
`to receive commands
`provided to
`INTEL - 1006
`
`
`
`10
`
`
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`a“
`
`INTEL - 1006
`
`
`
`,
`
`-
`
`0071727
`
`
`10
`
`
`
`
`
`
`
`
`
`
`said respective processor said DLA comprising: an AND
`
`
`
`
`
`
`
`
`Matrix; an OR matrix;
`intermediate lines connecting said
`AND matrix to said OR matrix; a plurality of input lines,
`
`
`
`
`
`
`
`
`
`
`
`connected to a first one of the AND and OR matrices; and a
`
`
`
`
`
`
`
`
`
`
`
`
`
`plurality of output lines connected to the other one of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`said AND and OR matrices; at least one of said AND and OR
`matrices of said DLA being arranged in rows and columns to
`
`
`
`
`
`
`
`
`
`
`
`define partitions within said respective matrix; each said
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`partition being selectively arranged to contain a selected
`
`
`
`
`
`
`
`
`
`number of active elements disposed to implement a desired
`
`
`
`
`
`
`
`
`
`logical function; and a plurality of control lines, each
`said control line being connected to selectively enable or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`disable said active devices in one or more of said
`
`
`
`
`
`
`
`
`
`partitions, so that said DLA implements a selected logical
`
`
`
`
`
`
`
`
`
`
`function in accordance with a state of said control lines;
`whereby said DLA interprets commands provided to said
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`respective processor selectively in accordance with the
`
`
`
`
`
`state of said control lines.
`
`
`
`
`
`
`
`
`there is provided
`According to the present invention,
`
`
`
`
`
`
`a restructurable integrated circuit, comprising a
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`
`
`
`
`
`
`
`
`
`plurality of busses, each connected to alli of said
`processors; a RAM memory, said RAM memory comprising a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`plurality of RAM memory modules; said busses comprising a
`
`
`
`
`
`
`
`
`
`
`data bus including a plurality of lines; and a plurality
`of bus control units, each said bus control unit being
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`connected to one of said processors,
`to one of said RAM
`
`
`
`
`
`
`
`
`
`
`memory modules, and to said data bus, said bus control
`unit selectively connecting said processor to said data
`
`
`
`
`
`
`
`
`bus or directly to said corresponding RAM memory module.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`According to the present invention,
`there is provided
`a restructurable integrated circuit, comprising a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`plurality of busses, each connected to ali of said
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`processors; and means for reconfiguring each said
`processor, so that each said processor selectively and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`programmabiy is operated in lockstep with or independently
`of one or more others of said processors on the same
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`restructurable integrated circuit or on another similar
`
`
`
`10
`
`
`
`15
`
`
`
`
`20.
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`a
`
`mw
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`0071727
`
`
`
`
`
`11
`
`
`
`
`
`restructurable integrated circuit.
`
`
`
`
`
`
`
`there is provided
`According to the present invention,
`a restructurable integrated circuit, comprising a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`monolithic substrate having: a plurality of processors; a
`plurality of busses, each connected to all of said
`
`
`
`
`
`
`
`
`
`processors; said busses comprising, a control bus, said
`
`
`
`
`
`
`
`
`control bus comprising lines for transmitting commands,
`
`
`
`
`
`
`
`and also lines for transmitting interrupt signals, each
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`said interrupt signal including bits indicating a priority
`and an interruptee processor among said processors,
`
`
`
`
`
`
`
`wherein one of said interrupt signals initiates each
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`sequence of said commands; wherein each said processor
`
`
`
`
`
`
`
`
`contains an interrupt manager, connected to said control
`to receive said interrupt signals, and wherein said.
`bus,
`
`
`
`
`
`
`
`
`
`interrupt manager tests each successive one of said
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`interrupt signals to determine whether said respective
`
`
`
`
`
`
`
`processor which includes said interrupt manager
`is
`designated by said successive interrupt signal as an
`
`
`
`
`
`
`
`
`interruptee, wherein said interrupt Manager stores the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`priority of the one of said interrupt signals which
`initiated whichever respective sequence of commands is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`currently being executed by said processor, and wherein
`
`
`
`
`
`
`
`
`said interrupt manager compares the priority of each
`
`
`
`
`
`
`
`
`successive one of said interrupt signals which is
`
`
`
`
`
`
`
`
`addressed to said respective processor with the priority
`
`
`
`
`
`
`
`of said respective interrupt signal which initiated
`
`
`
`
`
`
`
`whichever respective sequence of commands is currently
`
`
`
`
`
`
`
`
`being executed by said processor and provides a
`
`
`
`
`
`
`
`
`corresponding context switch output; and wherein each said
`
`
`
`
`
`
`
`respective processor also contains a scheduler, connected
`
`
`
`
`
`
`
`
`
`to said context switch line of said interrupt manager,
`
`
`
`
`
`
`
`
`said scheduler displacing a sequence of said commands
`
`
`
`
`
`
`
`currently being executed by said corresponding processor
`
`
`
`
`
`
`
`
`
`whenever said context switch line indicates that a newly
`
`
`
`
`
`
`
`received interrupt signal includes a higher priority
`
`:
`level.
`.
`,
`
`
`
`10
`
`
`
`15
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`o
`
`INTEL - 1006
`
`INTEL - 1006
`
`
`
`oo
`
`12
`
`0071727
`
`
`wherein:
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`
`
`
`
`Brief Description of the Drawings
`
`
`
`
`
`
`
`The present invention will now be described more
`
`
`
`
`
`
`specifically with reference to the accompanying drawings
`
`
`
`
`
`
`
`
`a general overview of
`Figure 1 shows
`
`
`
`
`
`
`
`restructurable IC according to the present invention;
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 2 shows a floor plan of a portion of the RIC,
`
`
`
`
`
`
`
`
`
`
`including one processor in its entirety and one of each
`
`
`
`
`
`kind of the external interfaces;
`.
`
`
`
`
`
`
`
`
`
`
`Figure 3 shows portions of the AND and OR portions of
`
`
`
`
`
`
`
`
`a DLA, embodied in a NOR gate implementation;
`
`
`
`
`
`
`
`
`
`Figure 4
`shows portions of the AND and OR matrixes
`
`
`
`
`
`
`
`
`
`of a DLA embodied in a named gate implementation;
`
`
`
`
`
`
`
`
`
`Figure 5 shows the structure of the control bus;
`
`
`
`
`
`
`
`Figure 6 shows the relation between the central
`
`
`
`
`
`
`
`
`control store controller and the four module controllers;
`
`
`
`
`
`
`
`Figure 7 is a flowchart illustrating the operation of
`
`
`
`
`
`
`
`
`the central control store controller and of the respective
`
`
`
`
`
`
`
`module controller, where the control store is being
`
`accessed:
`
`
`
`
`
`
`
`
`Figure 8 shows the connection of the daisy chained
`bus available line;
`.
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 9 is a schematic diagram of major portions of
`
`
`
`
`
`the ALU within each processor;
`
`
`
`
`
`
`Figures 10 and 11 respectively provide circuit
`
`
`
`
`
`
`
`
`diagrams of portions of functional and carry chain biocks
`
`
`
`
`
`
`within the ALU in each processor;
`
`
`
`
`
`
`
`
`Figure 12 is a fiow chart illustrating the structure
`of the barrel shifter within each processor;
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Figures 13, 14(a), 14(b) and 14(c)
`show examples of
`
`
`
`
`
`
`
`shift and/or rotate operations performed by the barrel
`
`
`
`
`shifter within each processor;
`
`
`
`
`
`
`
`
`Figure 16 shows the struc