Split computer architecture to separate user and processor while retaining original user interface
First Claim
Patent Images
1. A remote-distance communications interface between a processor and physically disassociated peripheral controllers, comprising:
- a first data bus onto which the processor communicates;
a second data bus, physically disassociated from the first data bus, onto which the disassociated peripheral controllers communicate; and
a bus interface coupling the first and second data buses to organize communication between said processor and said disassociated peripheral controllers and including at least one clock domain barrier between said first and second data buses.
10 Assignments
0 Petitions
Accused Products
Abstract
A network interface is described in which a single computer bus is split over a long distance into two or more intercommunicating buses. On one bus, processing and applications are provided and on the other remote bus, peripheral and local controllers are provided. The buses communicate through a series of: bridge, FPGA, FPGA and bridge. Between the FPGAs, a communication path provides long distance communication.
-
Citations
29 Claims
-
1. A remote-distance communications interface between a processor and physically disassociated peripheral controllers, comprising:
-
a first data bus onto which the processor communicates;
a second data bus, physically disassociated from the first data bus, onto which the disassociated peripheral controllers communicate; and
a bus interface coupling the first and second data buses to organize communication between said processor and said disassociated peripheral controllers and including at least one clock domain barrier between said first and second data buses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
the host interface further includes a first bridge coupled to the first data bus, and the terminal interface further includes a second bridge coupled to the second data bus.
-
-
4. An interface according to claim 2, wherein:
-
the host interface includes at least one state machine and at least one temporary storage device, and the terminal interface includes at least one other state machine and at least one other temporary storage device.
-
-
5. An interface according to claim 4, wherein:
-
the host interface includes;
a host master state machine and a host incoming temporary storage device together providing a unidirectional path from the communication medium to the first bridge, and a host target state machine and a host outgoing temporary storage device together providing a unidirectional path from the first bridge to the communication medium; and
the terminal interface includes;
a terminal master state machine and a terminal incoming temporary storage device together providing a unidirectional path from the communication medium to the second bridge, and a terminal target state machine and a terminal outgoing temporary storage device together providing a unidirectional path from the second bridge to the communication medium.
-
-
6. An interface according to claim 5, wherein the host incoming temporary storage device receives data packets from the terminal outgoing temporary storage device.
-
7. An interface according to claim 6, wherein the terminal incoming temporary storage device receives data packets from the host outgoing temporary storage device.
-
8. An interface according to claim 7, wherein terminal and host outgoing temporary storage devices retain a certain data packet after sending the certain data packet to, respectively, the host and terminal incoming temporary storage devices and clear said certain data packet only after said respective host and terminal incoming temporary storage devices return acknowledgments corresponding to said certain data packet.
-
9. An interface according to claim 3, wherein the host interface further includes a first FPGA coupled between the first bridge and the communication medium and the terminal interface further includes a second FPGA coupled between the second bridge and the communication medium.
-
10. An interface according to claim 9, wherein the first and second FPGAs further respectively include first and second FIFOs.
-
11. An interface according to claim 9, wherein the first and second FPGAs further respectively include first and second pairs of FPGAs.
-
12. An interface according to claim 3, wherein the host interface further includes a first ASIC coupled between the first bridge and the communication medium and the terminal interface further includes a second ASIC coupled between the second bridge and the communication medium.
-
13. An interface according to claim 12, wherein the first and second ASICs further respectively include first and second FIFOs.
-
14. An interface according to claim 12, wherein the first and second ASICs further respectively include first and second pairs of ASICs.
-
15. An interface according to claim 10, wherein the first and second pairs of FIFOs include buffers to store data already output onto the communication medium until receipt of said data is acknowledged.
-
16. An interface according to claim 10, wherein the first and second pairs of FIFOs include buffers to store data already output onto the communication medium and to repeat the stored data output when an acknowledgment is not received after a predetermined time.
-
17. An interface according to claim 5, wherein the host and terminal interfaces provide cut-through switching from the host and terminal outgoing storage devices.
-
18. An interface according to claim 17, wherein the host and terminal interfaces provide store-and-forward switching from the host and terminal incoming storage devices.
-
19. An interface according to claim 3, wherein the host interface further includes:
-
a host master state machine coupled to output to the first bridge;
a first FIFO outputting master bus data to the host master state machine;
a host incoming packet processor coupled to the communication medium to receive packets from the communication medium, format convert the packets and output the format converted packets to the first FIFO;
a host target state machine coupled to input target bus data from the first bridge;
a second FIFO receiving the target bus data from the host target state machine; and
a host outgoing packet processor coupled to the communication medium to format the target bus data from the second FIFO into packets and deliver the packets onto the communication medium; and
wherein the terminal interface further includes;
a terminal master state machine coupled to output to the second bridge;
a third FIFO outputting master bus data to the terminal master state machine;
a terminal incoming packet processor coupled to the communication medium to receive packets from the communication medium, format convert the packets and output the format converted packets to the third FIFO;
a terminal target state machine coupled to input target bus data from the second bridge;
a fourth FIFO receiving the target bus data from the terminal target state machine; and
a terminal outgoing packet processor coupled to the communication medium to format the target bus data from the fourth FIFO into packets and deliver the packets onto the communication medium.
-
-
20. An interface according to claim 1, wherein the bus interface further includes a second clock domain barrier between said first and second data buses.
-
21. An interface according to claim 1, wherein the bus interface includes:
-
an assembler to receive packets of data from a communication medium and de-packet said data;
an in-FIFO to receive the de-packeted data and buffer said de-packeted data for destination onto the first bus;
an out-FIFO to receive interactive data from the second bus and buffer the interactive data; and
an outpacket engine to receive the interactive data from the out-FIFO, packet the interactive data into said packets of data received by the assembler and to output said packets of data to said assembler.
-
-
22. An interface according to claim 21, further including:
-
a director to control operation of the assembler; and
a keymaster to control operation of the outpacket engine.
-
-
23. An interface according to claim 22, further including an outstanding queue circuit to index the interactive data delivered to the out-FIFO.
-
24. An interface according to claim 23, wherein the keymaster further issues an acknowledgment to the outpacket engine each time the in-FIFO buffers a corresponding one of said de-packeted data.
-
25. An interface according to claim 24, wherein the outpacket engine delivers said acknowledgment to the assembler, and said assembler thereby commands said outstanding queue circuit to remove said depacketed data corresponding to said acknowledgment from said index.
-
26. A computer system, comprising:
-
a processor;
an applications storage device operatively associated with the processor to provide the processor with applications routines;
local peripheral controllers operatively associated with user computer peripherals and interfacing said applications routines with said user computer peripherals;
a split data bus comprising;
a first data bus onto which the processor and applications storage device communicate;
a second data bus onto which the local peripheral controllers communicate; and
a bus interface coupling the first and second data buses and including at least one clock domain barrier between said first and second data buses. - View Dependent Claims (27, 28, 29)
wherein the bus interface further includes a second clock domain barrier. -
28. An interface according to claim 26,
wherein the local peripherals include two from the group consisting of: -
a video controller;
a sound card;
a floppy drive; and
a PCI-compliant peripheral controller.
-
-
29. An interface according to claim 26, further including at least one user device comprising at least one of a keyboard and a pointing device, said user device producing user device signals input directly to said bus interface and passing to said first data bus without passing through said second data bus.
-
Specification