IP Library Granted Patent US 7,233,998
Granted Patent B2
US 7,233,998 · App. 09/816,004 · Granted Jun 19, 2007

Computer architecture and software cells for broadband networks

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,233,998
App. No.
09/816,004
Granted
Jun 19, 2007
Kind
B2
Abstract

A computer architecture and programming model for high speed processing over broadband networks are provided. The architecture employs a consistent modular structure, a common computing module and uniform software cells. The common computing module includes a control processor, a plurality of processing units, a plurality of local memories from which the processing units process programs, a direct memory access controller and a shared main memory. A synchronized system and method for the coordinated reading and writing of data to and from the shared main memory by the processing units also are provided. A hardware sandbox structure is provided for security against the corruption of data among the programs being processed by the processing units. The uniform software cells contain both data and applications and are structured for processing by any of the processors of the network. Each software cell is uniquely identified on the network. A system and method for creating a dedicated pipeline for processing streaming data also are provided.

Claims (25)

1. A computer network comprising:

a plurality of processors connected to said network, each of said processors comprising a plurality of first processing units having the same instruction set architecture and a second processing unit for controlling said first processing units, said first processing units being operable to process software cells transmitted over said network, each of said software cells comprising a program compatible with said instruction set architecture, data associated with said program, information for routing said software cell over said network, and an identification number uniquely identifying said software cell among all of said software cells being transmitted over said network, wherein each said processor further includes a main memory, said main memory including a plurality of banks, each said bank including a plurality of blocks, each said block being the lowest addressable unit of said main memory and having an associated memory space in said main memory for storing information regarding the status of data stored in said block, an identification for a first processing unit and an address of a local memory associated with said first processing unit.

2. A method for processing programs and data associated with said programs on a computer processor, said computer processor comprising a main memory, a memory controller, a plurality of first processing units, each said first processing unit including a local memory exclusively associated with said first processing unit, and a second processing unit, said method comprising:

storing in said main memory said programs and said data associated with said programs;

directing with said second processing unit any one of said first processing units to process one of said programs;

directing with said second processing unit said memory controller to transfer said one program and data associated with said one program from said main memory to the local memory exclusively associated with said one first processing unit;

instructing with said second processing unit said one first processing unit to initiate processing of said one program from said one first processing unit's local memory; and

in response to said instructing, processing with said one first processing unit said one program and said data associated with said one program from said local memory exclusively associated with said one first processing unit.

3. The method of claim 2 , wherein said main memory is a dynamic random access memory.

4. The method of claim 2 , wherein said main memory includes a plurality of memory locations, each said memory location including a memory segment exclusively associated with said memory location.

5. The method of claim 4 , further comprising storing in each said memory segment status information indicating the status of data stored in said memory segment's associated memory location, the identity of a first processing unit and a memory address.

6. The method of claim 5 , wherein said status information indicates the validity of said data stored in said memory segment's associated memory location, said identity indicates the identity of a particular one of said first processing units and said memory address indicates a storage location within the local memory exclusively associated with said particular one first processing unit.

7. The method of claim 2 , wherein each of said first processing units is a single instruction multiple data processor.

8. The method of claim 2 , wherein each of said first processing units includes a set of registers, a plurality of floating points units, and one or more buses connecting said set of registers to said plurality of floating point units.

9. The method of claim 8 , wherein each of said first processing units further includes a plurality of integer units and one or more buses connecting said plurality of integer units to said set of registers.

10. The method of claim 2 , wherein said computer processor comprises an optical interface and an optical waveguide connected to said optical interface, and further comprising converting electrical signals generated by said processor to optical signals for transmission from said computer processor over said waveguide and converting optical signals transmitted to said processor over said waveguide to electrical signals.

11. The method of claim 2 , wherein each said local memory is a static random access memory.

12. The method of claim 2 , wherein said computer processor further comprises a rendering engine, a frame buffer and a display controller, and further comprising generating pixel data with said rendering engine, temporarily storing said pixel data in said frame buffer and converting with said display controller said pixel data to a video signal.

13. The method of claim 2 , wherein the data associated with said one program includes a stack frame.

14. The method of claim 2 , further comprising, during said processing of said one program and said data associated with said one program, transferring with said memory controller, in response to an instruction to said memory controller from said one first processing unit, further data from said main memory to the local memory exclusively associated with said one first processing unit and thereafter processing said further data with said one first processing unit from said local memory exclusively associated with said one first processing unit.

15. The method of claim 2 , wherein said main memory comprises a plurality of memory bank controllers and a cross-bar switch for providing a connection between each of said first processing units and said main memory.

16. The method of claim 2 , further comprising prohibiting with said memory controller each said first processing unit from reading data from, or writing data to, any of said local memories with which said first processing unit is not exclusively associated.

17. The method of claim 2 , further comprising, following said processing of said one program and said data associated with said one program, transferring with said memory controller to said main memory, in response to an instruction to said memory controller from said one first processing unit, processed data resulting from said processing of said one program and said data associated with said one program.

18. The method of claim 2 , wherein said memory controller is a direct memory access controller.

19. The method of claim 2 , wherein said computer processor is connected to a network and said one program is included within a software cell, said software cell containing a global identification uniquely identifying said software cell among all software cells transmitted over said network.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2018
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION
Reel/Frame 044763/0267 →
CHANGE OF NAME Recorded Oct 13, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 040350/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2011
From: SONY NETWORK ENTERTAINMENT PLATFORM INC.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 027449/0640 →
CHANGE OF NAME Recorded Dec 26, 2011
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY NETWORK ENTERTAINMENT PLATFORM INC.
Reel/Frame 027449/0001 →