throbber
® ‘0)
`
`Europaisches Patentamt
`
`European PatentOflfce _
`Office européen des brevets
`
`.
`
`.
`
`'® Publicationnumberaf'
`.
`
`O 071 727
`A1
`
`@
`
`EUROPEAN PATENT APPLICATION
`
`I.
`
`@ Application number;821osms
`
`@ lnt.Cl.’: G 06 F 15/06
`
`® Date offiling:23.06.82
`
`® Priority: 24.07.81 us 286426
`24.07.01 US 288424
`24.07.81 US 286425
`
`.
`@ Date of publication of application: 16.02.83
`Bulletin 83/7
`
`® Designated Contracting States: DE FR es NL
`
`® Restructurable integrated circuit.
`
`@ A restructurable integrated circuit. including four 16-bit
`processors PRO, PR1, PR2, PR3. data and control memories
`68 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
`F processors. All processors PRO-PR3 are connected to data,
`control, and status buses 56, 14, and 52. In addition. exter-
`nal control. data. and status interfaces 72—76 are also
`h provided, connected through the respective corresponding
`busses 56. 14. and 52 to each of the processors PRO-PR3.
`N These external interfaces are connected to all of the inter-
`h connections which permit
`reconfigurability among the
`processors on a chip. and these external interfaces permit
`F coordination of the processors on more than one RIC chip.
`
`EP007
`
`® Applicant: TEXAS INSTRUMENTS INCORPORATED,
`13500 North Central Expressway. Dallas
`Texas 75265 (08)
`
`® Inventor: Budzlnsld, Robert L. 1106 Edgewood Drive.
`Richardson Texas 75081 (US)
`Inventor: Thatte. Satieh M., 1304 Elk Grove, Richardson
`Texas 75081 (US)
`
`® Representative: Lelser, Gottfried, DlpL-lng. et ai,
`Patentanwilte Prinz. Bunke a: Partner Emsberger
`Strasse 19, 0.8000 Mllnchen so (as)
`
`
`
`"
`
`couraouron: “nun
`
`IAIAGII
`
`INTKIRUPT
`MANAGE-
`SCHEDULE!
`
`nu g
`
`EXTEIIAL
`EIIEII‘L
`STATUS
`I sure:
`
`roar
`
`
`(XTEIIIL
`- INTERIUH‘
`
`
`
`EXTERNAL I
`- DATAPOIT
`72
`
`IAI IEIOIY
`
`
`
`
`ACTORUM AG
`
`INTEL - 1006
`
`INTEL - 1006
`
`

`

`n.
`
`d
`
`RESTRUCTURABLE INTEGRATED CIRCUIT
`
`0071727
`
`SPECIFICATION
`
`Background of the Invention
`
`5
`
`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
`
`10
`
`different computing configurations.
`
`A major difficulty in taking advantage of
`
`the
`
`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.
`
`15
`
`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
`
`20
`
`satisfy the peculiar processing requirements of many
`
`different applications by one common IC chip design, which
`
`can therefore be manufactured in large quantities
`
`economically.
`
`In addition to a main processor,
`
`it is often
`
`1)
`
`25
`
`advantageous to use a dedicated processor for controlling
`
`for memory
`I/O functions (such as CRT display),
`management, or for specialized arithmetic processing.
`
`However, as noted above,
`
`the high cost of custom VLSI
`
`design has prevented optimal exploitation of
`
`the
`
`30
`
`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.
`
`It
`
`is often particularly advantageous,
`
`in
`
`35
`
`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
`
`

`

`
`
`
`
`
`
`-*
`
`2
`
`
`
`'
`
`0071727
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`5 easily be'manufactured in quantity.
`7
`
`
`
`
`
`
`
`
`
`7 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
`
`
`
`
`
`
`
`
`lospecial—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
`
`
`
`
`
`
`
`
`
`
`
`15 therefore to provide a general purpose part which can be
`.7 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".
`7
`
`
`20
`
`
`
`30
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`to
`produced in small quantities, it is not economical
`Spend the additional time and money to optimize ther
`
`
`
`
`
`
`
`
`
`
`
`
`25 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`35 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
`
`
`
`INTEL-1006
`
`’5;
`
`(In
`
`(a:
`
`W:
`
`
`
`
`
`INTEL - 1006
`
`

`

`1|
`
`
`
`3
`
`
`
`'
`
`00717—27
`
`
`
`5
`
`10
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`15 normally imposed disadvantages of high cost,
`low speed, or.
`
`
`both.
`
`
`25
`
`
`
`invention
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`20 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.
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`30 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
`
`
`
`
`
`
`
`
`
`35 to VLSI 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
`
`

`

`4
`
`
`
`0071727
`
`
`
`
`
`
`
`
`
`
`
`Surveys 215 (1975); Kartashev & Kartashev, Dynamic
`
`
`
`
`
`
`
`Architectures: Eroblems and Solutions, Computer Magazine,
`
`
`
`
`
`
`
`
`July '78,
`26; Kartashev & Kartashev, A Multicomputer
`
`
`
`
`
`
`
`
`System with Dynamic Architecture, 28 IEEE Transactions on
`
`
`
`
`
`
`Computers 704 (1979); Kartashev & Kartashev, Super Systems
`
`
`
`
`
`
`
`
`
`
`
`for the 80's, Computer Magazine, November 1980, at ll; 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 specifier
`
`
`
`
`
`
`
`
`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 multi—processorr
`
`
`
`
`
`
`
`
`
`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 all 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
`
`3O
`
`
`
`
`. 35
`
`III
`
`
`
`.A...‘
`
`m:
`
`Illy
`
`ll"
`
`INTEL - 1006
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`is
`
`then
`
`
`
`
`
`
`
`
`
`
`
`0071727
`5
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`5 multiprocessor systems is the problem of interprocessor
`
`
`
`
`
`
`
`interference, which occurs when more than one processor
`
`
`
`
`
`
`
`
`
`attempts to access the same area of memory.
`It is
`
`
`
`
`
`
`
`
`
`possible to restrict the area of memory which may be
`
`
`
`
`
`
`
`
`
`‘accessed by any one processor, but, while this avoids the
`
`
`
`
`
`
`10 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 memory,»
`
`
`
`15 protects data integrity.
`
`
`
`
`
`Emulation of microprocessor languages and
`
`
`
`
`
`
`architectures, and of micro— and minicomputer systems,
`
`
`
`
`
`
`
`at present relatively expensive.
`If emulation could be
`
`
`
`
`
`
`
`
`
`made cheaper, e.g. based on a single prOcessing chip,
`
`
`
`
`
`
`
`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
`
`
`
`25 efficient emulation.
`
`20
`
`
`
`
`
`
`
`
`
`
`
`
`
`It 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
`
`
`
`
`
`
`
`
`
`
`
`30 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,
`
`
`
`
`
`the event of hardware fault.
`
`in
`
`
`35
`
`gs
`
`I)
`
`
`
`
`
`
`
`
`
`
`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
`
`INTEL - 1006
`
`

`

`-
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`3O
`
`
`
`
`0071727
`6
`_
`
`
`
`
`
`
`
`
`interconnecting them, and the extreme difficulty 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 difficulty, if lC processors are to be made
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`capable of combination into multi-processor systems,
`
`
`
`
`
`
`
`
`
`the provision of additional hardware on chip for interface
`
`
`
`
`
`
`with external processors.
`I/O 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 I/O
`
`
`
`
`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 highly 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.
`
`
`
`
`
`
`
`
`
`
`
`35 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
`
`is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`INTEL-1006
`
`ll
`
`’Ii;
`
`m:
`
`w
`
`
`
`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 ors m a y b e o perated
`independent l y (e.g. as four 16-bit processors), 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 use 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 cessors 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 ion 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
`
`

`

`8
`
`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
`
`
`
`
`
`
`
`
`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,
`
`
`bus.
`
`etc.
`
`
`
`in
`
`
`
`
`
`
`
`
`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, all interrupts are sent, and acknowledged,
`
`
`
`
`
`
`
`
`
`parallel. Third, any processor which is unable 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 also used to fully implement the
`
`
`
`
`
`
`
`
`
`For example, each processor includes an ALU, a
`design.
`
`
`
`
`
`
`
`
`barrel shifter, a memory mapper, a microsequencer, etc.
`
`
`
`
`
`
`
`
`The advantages of the present invention include 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.,
`
`
`
`
`
`all four processors)
`is replicated.
`
`
`
`
`
`
`
`
`Of 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
`INTEL-1006
`
`Similarly,
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`3O
`
`
`
`
`35
`
`\II
`
`In;
`
`"I
`
`(I!
`
`an
`
`m
`
`m
`
`INTEL - 1006
`
`

`

`9
`
`
`
`
`
`
`
`
`
`
`0071727,
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`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 circuit, 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
`
`four.
`
`case,
`
`independently.
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`D)
`
`INTEL - 1006
`
`

`

`10
`
`
`
`0071727
`
`
`
`
`10
`
`
`
`15
`
`
`
`
`20,
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`
`
`
`
`
`
`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 all 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.7
`
`
`
`
`
`
`
`
`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 all of said
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`processors; and means for reconfiguring each said
`
`
`
`
`
`
`
`
`processor, so that each said processor selectively and
`
`
`
`
`
`
`
`
`programmably is operated in lockstep with or independently
`
`
`
`
`
`
`
`
`
`
`
`of one or more others of said processors on the samer
`
`
`
`
`
`
`
`restructurable integrated circuit or on another similar
`
`
`
`INTEL-1006
`
`«I
`
`
`(M
`
`II!
`
`I"
`
`m
`
`INTEL - 1006
`
`

`

`r
`
`ll
`
`
`
`0071727
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`is
`processor which includes said interrupt manager
`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
`
`
`
`
`10
`
`
`
`
`15'
`
`20
`
`
`
`
`25
`
`30
`
`
`
`
`35
`
`
`
`a)
`
`level.
`
`INTEL-1006
`
`INTEL - 1006
`
`

`

`A-
`
`'
`
`*
`
`n
`
`
`
`0071727-
`
`
`
`
`
`
`
`Brief Description of the Drawings
`
`
`
`
`
`
`
`The present invention will now be described more
`
`
`
`
`
`
`specifically with reference to the accompanying drawings
`
`
`wherein:
`
`
`
`the
`
`
`
`
`
`
`
`
`,
`
`
`
`
`
`
`
`
`
`a general overview of
`Figure l 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
`
`
`
`
`
`
`
`
`
`
`Figure 8 shows the connection of the daisy chained
`bus available line;
`7
`
`
`
`
`
`
`
`
`
`
`
`
`Figure 9 is a schematic diagram of major portions of
`
`
`
`
`
`the ALU within each processor;
`
`
`
`
`
`
`Figures 10 and ll respectively provide circuit
`
`
`
`
`
`
`
`
`diagrams of portions of functional and carry chain blocks
`
`
`
`
`
`
`within the ALU in each processor;
`
`
`
`
`
`
`
`
`Figure 12 is a flow chart illustrating the structure
`
`
`
`
`
`
`
`of the barrel shifter within each processor;
`
`
`
`
`
`
`
`
`Figures 13, 14(a),
`l4(b) and l4(c) show examples of
`
`
`
`
`
`
`
`shift and/or rotate operations performed by the barrel
`
`
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket