Method and apparatus for providing bus protocol simulation
A method and apparatus for providing bus protocol simulation in a multi-processor data processing system (10). A plurality of edge interface circuits (14,16) are used to interface a first bus (32, 34, 36), which uses a first bus protocol, with a plurality of data processors (50-65), each of which uses a second bus protocol. A memory (90) within each edge interface circuit (14,16) is loaded with a plurality of values. Each of the plurality of values has a control portion and a data portion. The control portion of memory entry "N" is used to initiate the transfer of the data from memory entry "N+1". In an alternate embodiment, multi-processor data processing system (210) includes a plurality of data processors (250-258) and a plurality of edge interface circuits (214-217).
Latest Motorola, Inc. Patents:
- Communication system and method for securely communicating a message between correspondents through an intermediary terminal
- LINK LAYER ASSISTED ROBUST HEADER COMPRESSION CONTEXT UPDATE MANAGEMENT
- RF TRANSMITTER AND METHOD OF OPERATION
- Substrate with embedded patterned capacitance
- Methods for Associating Objects on a Touch Screen Using Input Gestures
Claims
1. A method for transferring data in a data processing system, the data processing system comprising a plurality of processors and an interface circuit, the plurality of processors being arranged in an array, and the interface circuit having a memory, the method comprising the steps of:
- storing a first value in the memory, the first value having a control portion and having a data portion, the first value corresponding to a first address location;
- storing a second value in the memory, the second value having a control portion and having a data portion, the second value corresponding to a second address location;
- storing a third value in the memory, the third value having a control portion and having a data portion, the third value corresponding to a third address location;
- retrieving the first value from the first address location in the memory and transferring the control portion of the first value from the memory to a control circuit;
- if the control portion of the first value has a first state, initiating a first data transfer between the memory and the array;
- retrieving the second value from the second address location in the memory and transferring the data portion of the second value to the array during the first data transfer;
- if the control portion of the second value has the first state, initiating a second data transfer between the memory and the array; and
- retrieving the third value from the third address location in the memory and transferring the data portion of the third value to the array during the second data transfer.
2. A method as in claim 1, wherein the control portion of the first value is a single control bit.
3. A method as in claim 1, further comprising the steps of:
- transferring a first address corresponding to the first address location from an address generator circuit to the memory;
- transferring the control portion of the first value from the memory to the control circuit; and
- if the control portion of the first value has the first state, asserting a control signal provided to a first one of the plurality of processors.
4. A method as in claim 3, further comprising the steps of:
- transferring a second address corresponding to the second address location from the address generator circuit to the memory;
- transferring the control portion of the second value from the memory to the control circuit; and
- if the control portion of the second value has the first state, continuing to assert the control signal provided to the first one of the plurality of processors.
5. A method as in claim 4, further comprising the steps of:
- transferring a third address corresponding to the third address location from the address generator circuit to the memory;
- transferring the control portion of the third value from the memory to the control circuit; and
- if the control portion of the third value has a second state, negating the control signal provided to the first one of the plurality of processors.
6. A method for transferring data in a multi-processor data processing system having a first processor, a second processor, and an interface circuit, the interface circuit having a memory, the method comprising the steps of:
- storing a first value in the memory, the first value having a control portion and having a data portion;
- storing a second value in the memory, the second value having a control portion and having a data portion;
- storing a third value in the memory, the third value having a control portion and having a data portion;
- accessing the first value in the memory;
- if the control portion of the first value has a predetermined state, providing a first data valid control signal from the interface circuit to the first processor during a first bus cycle;
- accessing the second value in the memory;
- if the control portion of the first value has the predetermined state, providing the data portion of the second value to the first processor during a second bus cycle;
- if the control portion of the second value has the predetermined state, providing the first data valid control signal from the interface circuit to the first processor during the second bus cycle;
- accessing the third value in the memory; and
- if the control portion of the second value has the predetermined state, providing the data portion of the third value to the first processor during a third bus cycle.
7. A method as in claim 6, further comprising the step of:
- if the control portion of the first value has the predetermined state, providing a second data valid control signal from the first processor to the second processor during the second bus cycle.
8. A method as in claim 7, further comprising the step of:
- if the control portion of the first value has the predetermined state, providing the data portion of the second value to the second processor during the third bus cycle.
9. A method as in claim 6, further comprising the steps of:
- if the control portion of the first value has the predetermined state, and a control element in the first processor has selected a first control condition, storing the data portion of the second value in the first processor; and
- if the control portion of the first value has the predetermined state, and the control element in the first processor has selected a second control condition, inhibiting the storing of the data portion of the second value in the first processor.
10. A method as in claim 9, further comprising the steps of:
- if the data portion of the second value is provided to the second processor, and a control element in the second processor has selected the first control condition, storing the data portion of the second value in the second processor; and
- if the data portion of the second value is provided to the second processor, and the control element in the second processor has selected the second control condition, inhibiting the storing of the data portion of the second value in the second processor.
11. A data processing system, comprising:
- a data bus;
- an address bus for providing a first address and for providing a second address;
- a control bus;
- a plurality of processors; and
- a storage circuit, coupled to said data bus, said address bus, and said plurality of processors;
- first memory means, accessed by the first address, for storing a control portion of a first value;
- second memory means, accessed by the first address, for storing a data portion of the first value;
- third memory means, accessed by the second address, for storing a control portion of a second value; and
- fourth memory means, accessed by the second address, for storing a data portion of the second value;
- control means for receiving the control portion of the first value, in response to the control portion of the first value having a predetermined value said control means providing a control signal to a first one of said plurality of processors to initiate transfer of the data portion of the second value to the first one of the plurality of processors, said control means being coupled to said control bus, to said storage circuit, and to the first one of the plurality of processors.
12. A data processing system as in claim 11, wherein the first control signal and the second control signal are asserted approximately concurrently.
3287703 | November 1966 | Slotnick |
3796992 | March 1974 | Nakamura et al. |
4084234 | April 11, 1978 | Calle et al. |
4463445 | July 31, 1984 | Grimes |
4470112 | September 4, 1984 | Dimmick |
4488218 | December 11, 1984 | Grimes |
4523310 | June 11, 1985 | Brown et al. |
4535427 | August 13, 1985 | Jiang |
4562533 | December 31, 1985 | Hodel et al. |
4811201 | March 7, 1989 | Rau et al. |
4916604 | April 10, 1990 | Yamamoto et al. |
4925312 | May 15, 1990 | Onaga et al. |
5062059 | October 29, 1991 | Youngblood et al. |
5067095 | November 19, 1991 | Peterson et al. |
5073867 | December 17, 1991 | Murphy et al. |
5083285 | January 21, 1992 | Shima et al. |
5086405 | February 4, 1992 | Chung et al. |
5140670 | August 18, 1992 | Chua et al. |
5146420 | September 8, 1992 | Vassiliadis et al. |
5148515 | September 15, 1992 | Vassiliadis et al. |
5151874 | September 29, 1992 | Jeong et al. |
5151971 | September 29, 1992 | Jousselin et al. |
5152000 | September 29, 1992 | Hillis |
5155389 | October 13, 1992 | Furtek |
5155699 | October 13, 1992 | Chung et al. |
5165009 | November 17, 1992 | Watanabe et al. |
5165010 | November 17, 1992 | Masuda et al. |
5167008 | November 24, 1992 | Engeler |
5168573 | December 1, 1992 | Fossum et al. |
5175858 | December 29, 1992 | Hammerstrom |
5182794 | January 26, 1993 | Gasperi et al. |
5239654 | August 24, 1993 | Ing-Simmons et al. |
5307461 | April 26, 1994 | Kiriu |
5321639 | June 14, 1994 | Krishnamoorthy et al. |
5355453 | October 11, 1994 | Row et al. |
- "Neural Networks Primer Part I" published in AI Expert in Dec. 1987 and written by Maureen Caudill, pp. 46 through 52. "Neural Networks Primer Part II" published in Al Expert in Feb. 1988 and written by Maureen Caudill, pp. 55 through 61. "Neural Networks Primer Part III" published in Al Expert in Jun. 1988 and written by Maureen Caudill, pp. 53 through 59. "Neural Networks Primer Part IV" published in AI Expert in Aug. 1988 and written by Maureen Caudill, pp. 61 through 67. "Neural Networks Primer Part V" published in Al Expert in Nov. 1988 and written by Maureen Caudill, pp. 57 through 65. "Neural Networks Primer Part VI" published in Al Expert in Feb. 1989 and written by Maureen Caudill, pp. 61 through 67. "Neural Networks Primer Part VII" published in Al Expert in May 1989 and written by Maureen Caudill, pp. 51 through 58. "Neural Networks Primer Part VIII" published in Al Expert in Aug. 1989 and written by Maureen Caudill, pp. 61 through 67. "Fast Spheres, Shadows, Textures, Transparencies, and Image Enhancements in Pixel Planes" by H. Fuchs et al. and published in Computer Graphics, vol. 19, No. 3, Jul. 1985, pp. 111-120. "Pixel-Planes: Building a VLSI-Based Graphic System" by J. Poulton et al. and published in the proceedings of the 1985 Chapel Hill Conference on VLSI, pp. 35-60. "Pixel-Planes 5: A Heterogeneous Multiprocessor Graphics System Using Processor-Enhanced Memories" by Fuchs et al. and published in Computer Graphics, vol. 23, No. 3, Jul. 1989, pp. 79-88. "Parallel Processing In Pixel-Planes, a VLSI logic-enhanced memory for raster graphics" by Fuchs et al. published in the proceedings of ICCD' 85 held in Oct., 1985, pp. 193-197. "Building a 512.times.512 Pixel-Planes System" by J. Poulton et al. and published in Advanced Research in VLSI, Proceedings of the 1987 Stanford Conference, pp. 57-71. "Coarse-grain & fine-grain parallelism in the next generation Pixel-planes graphic sys." by Fuchs et al. and published in Parallel Processing for Computer Vision and Display, pp. 241-253. "Pixel Planes: A VLSI-Oriented Design for 3-D Raster Graphics" by H. Fuchs et al. and publ. in the proc. of the 7th Canadian Man-Computer Comm. Conference, pp. 343-347. "The Torus Routing Chip" published in Journal of Distributed Computing, vol. 1, No. 3, 1986, and written by W. Dally et al. pp. 1-17. "A Microprocessor-based Hypercube Supercomputer" written by J. Hayes et al. and published in IEEE MICRO in Oct. 1986, pp. 6-17. "ILLIAC IV Software and Application Programming" written by David J. Kuck and published in IEEE Transactions on Computers, vol. C-17, No. 8, Aug. 1968, pp. 758-770. "An Introduction to the ILLIAC IV Computer" written by D. McIntyre and published in Datamation, Apr. 1970, pp. 60-67. "The ILLIAC IV Computer" written by G. Barnes et al. and published in IEEE Transactions on Computers, vol. C-17, No. 8, Aug. 1968, pp. 746-757. The ILLIAC IV The First Supercomputer written by R. Michael Hord and published by Computer Science Press, pp. 1-69. MC68000 8-/16-/32-Bit Microprocessor User's Manual, Eighth Edition, pp. 4-1 through 4-4; 4-8 through 4-12. MC68020 32-Bit Microprocessor User's Manual, Fourth Edition, pp. 3-12 through 3-23. Introduction to Computer Architecture written by Harold S. Stone et al. and published by Science Research Associates, Inc. in 1975, pp. 326 through 355. "A VLSI Architecture for High-Performance, Low-Cost, On-chip Learning" by D. Hammerstrom for Adaptive Solutions, Inc., Feb. 28, 1990, pp. II-537 through II-544. "CNAPS-1064 Preliminary Data CNAPS-1064 Digital Neural Processor" published by Adaptive Solutions, Inc. pp. 1-8. DSP56000/DSP56001 Digital Signal Processor User's Manual, Rev. 1, published by Motorola, Inc. pp. 2-9 through 2-14, 5-1 through 5-21, 7-8 through 7-18. "M-Structures: Ext. a Parallel, Non-strict, Functional Lang. with State" by Barth et al., Comp. Struct. Group Memo 327 (MIT), Mar. 18, 1991, pp. 1-21. "A Pipelined, Shared Resource MIMD Computer" by B. Smith et al. and published in the Proceedings of the 1978 International Conference on Parallel Processing, pp. 6-8. M68000 Family Programmer's Reference Manual published by Motorola, Inc. in 1989, pp. 2-71 through 2-78. "The DSP is being reconfigured" by Chappell Brown and published in Electronic Engineering Times, Monday, Mar. 22, 1993, Issue 738, p. 29. DSP56000/56001 Digital Signal Processor User's Manual published by Motorola, Inc. pp. 2-4 and 2-5, 4-6 and 4-7. MC68340 Integrated Processor User's Manual published by Motorola, Inc. 1990, pp. 6-1 through 6-22. Transputer Architecture Technical Overview publiched by INMOS in Sep. 1985. Product Description of the IMS T414 Transputer published by INMOS in Sep. 1985. Product Description of the IMS T212 Transputer published by INMOS in Sep. 1985. Proceedings from the INMOS Transputer Seminar tour conducted in 1986, published in Apr. 1986. "Control Data STAR-100 Processor Design" written by R.G. Hintz et al. and published in the Innovative Architecture Digest of Papers for COMPCOM 72 in 1972, pp. 1 through 4. Mamo, "Computer Engineering". Hardware Design 1988, Chapter 11.
Type: Grant
Filed: Nov 20, 1995
Date of Patent: Jan 13, 1998
Assignee: Motorola, Inc. (Schaumburg, IL)
Inventors: Michael F. Wiles (Round Rock, TX), Michael G. Gallup (Austin, TX), Erik L. Welty (Austin, TX)
Primary Examiner: Alpesh M. Shah
Attorney: Susan C. Hill
Application Number: 8/560,940
International Classification: G06F 1300;