Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
AssigneeVLSI Technology, Inc.
InventorsJoseph A. Thomsen, Franklyn H. Story, David R. Evoy, W. Henry Potts, Brian N. Fall, Hrushikesh Nalubola
Life of this patent
Estimating the term…
Abstract
A serial bus Input/Output (I/O) system has multiple I/O devices which are all connected in daisy-chain fashion on a serial bus. These I/O devices service peripherals that may generate different interrupt requests or DMA requests to the system controller. These requests are encoded, serialized and transmitted to the system controller on the serial bus, allowing the system controller to service a large number of interrupt requests and DMA requests via the serial bus with a very small number of external pins.
Claims10
A serial bus I/O system comprising, in combination:
- A) a clock source;
- B) system controller means for servicing DMA requests and interrupt requests in said serial bus I/O system comprising, in combination:
- 1) a serial input;
- 2) a clock input coupled to the clock source;
- 3) an internal DMA controller;
- and
- 4) an internal interrupt controller;
- c) peripheral controller means for serializing at least one said interrupt requests and at least;
- one of said DMA requests, comprising, in combination:
- 1) a serial output coupled to said serial input of said system controller means;
- 2) a serial input;
- 3) a clock input coupled to the clock source;
- 4) an interrupt request input coupled to a first peripheral;
- 5) a DMA request input coupled to said first peripheral;
- 6) encoding means for encoding system management interrupt (SMI) information, interrupt request information, and DMA request information in a six bit packet and for allowing said plurality of serial I/O devices to use at least one of a same. interrupt request level and a DMA request level without directly driving said same interrupt request and said DMA request signals;
- 7) means for synchronizing and transferring said six bit packet from the serial input of said peripheral controller means to the serial output of said peripheral controller means with a one clock cycle delay on said clock source;
- 8) means for transmitting a first serial packet on said serial output of said peripheral controller means to said internal interrupt controller within said system controller means when said first peripheral activates said interrupt request input of said peripheral controller means;
- and
- 9) means for transmitting a second serial packet on said serial output of said peripheral controller means to said internal DMA controller within said system controller means when said first peripheral activates said DMA request input of said peripheral controller means;
- D) a plurality of serial I/O devices each comprising, in combination:
- 1) a serial input;
- 2) a serial output;
- 3) a clock input coupled to the clock source;
- 4) an interrupt request input coupled to a second peripheral;
- 5) a DMA request input coupled to said second peripheral;
- 6) encoding means for encoding system management interrupt (SMI) information, interrupt request information, and DMA request information in a six bit packet and for allowing said plurality of serial I/O devices to use at least one of a same interrupt request level and a DMA request level without directly driving said same interrupt request and said DMA request signals;
- 7) means for synchronizing and transferring said six bit packet from the serial input of said serial I/O device to the serial output of said serial I/O device with a one clock cycle delay on said clock source;
- 8) means for transmitting a third serial packet on said serial output of said serial I/O device to said internal interrupt controller within said system controller means when said second peripheral activates said interrupt request input of said serial I/O device;
- and
- 9) means for transmitting a fourth serial packet on said serial output of said serial I/O device to said internal DMA controller within said system controller means when said second peripheral activates said DMA request input of said serial I/O device;
- E) said plurality of serial I/O devices being coupled to each other in a sequential order by coupling the serial input of a first of said plurality of serial I/o devices to a constant logic state, and by coupling the serial output of each of said plurality of serial I/O devices to the serial input of the next of said plurality of serial I/O devices in said sequential order, and by coupling the serial output of the last of said plurality of serial I/O devices to said serial input of said peripheral controller means.
A method for serializing interrupt requests and DMA requests in a computer system including the steps of:
- providing a clock source;
- providing system controller means for servicing said interrupt requests and said DMA requests comprising, in combination:
- 1) a serial input;
- 2) a clock input coupled to said clock source;
- 3) an internal DMA controller;
- and
- 4) an internal interrupt controller;
- providing peripheral controller means for serializing at least one of said interrupt requests and said DMA requests comprising, in combination:
- 1) a serial output coupled to said serial input of said system controller means;
- 2) a serial input;
- 3) a clock input coupled to said clock source;
- 4) an interrupt request input;
- 5) a DMA request input;
- 6) encoding means for encoding system management interrupt (SMI) information, interrupt request information, and DMA request information in a six bit packet and for allowing said plurality of serial I/O devices to use at least one of a same interrupt request level and a DMA request level without directly driving said same interrupt request and said DMA request signals;
- 7) means for synchronizing and transferring said bit pack from the serial input of said peripheral controller means to the serial output of said peripheral controller means with a one clock cycle delay on said clock source;
- 8) means for transmitting a serial packet on said serial output of said peripheral controller means to said internal interrupt controller within said system Controller means;
- and
- 9 means for transmitting a serial packet on said serial output of said peripheral controller means to said internal DMA controller within said system controller means;
- providing a plurality of serial I/O devices each comprising, in combination:
- 1) a serial input;
- 2) a serial output;
- 3) a clock input;
- 4) an interrupt request input;
- 5) a DMA request input:
- 6) encoding means for encoding system management interrupt (SMI) information, interrupt request information, and DMA request information in a six bit packet and for allowing said plurality of serial I/O devices to use a same interrupt request level and a DMA request level without directly driving said same interrupt request and said DMA request signals;
- 7) means for synchronizing and transferring said six bit packet from the serial input of said serial I/O device to the serial output of said serial I/O device with a one clock cycle delay on said clock source;
- 8) means for transmitting a serial packet on said serial output of said serial I/O device to said internal interrupt controller within said system controller means;
- and
- 9) means for transmitting a serial packet on said serial output of said serial I/O device to said internal DMA controller within said system controller means;
- coupling said plurality of serial I/O devices to each other in a sequential order by coupling the serial input of a first of said plurality of serial I/O devices to a constant logic state, and by coupling the serial output of each of said plurality of serial i/o devices to the serial input of the next of said plurality of serial I/O devices in said sequential order, and by coupling the serial output of the last of said plurality of serial I/O devices to said serial input of said peripheral controller means:
- coupling a plurality of peripherals to said interrupt request inputs and to said DMA request inputs of said plurality of serial I/O devices;
- synchronizing and transferring data from the serial input of said peripheral controller means to the serial output of said peripheral controller means with a one clock cycle delay on said clock source;
- transmitting said serial packet on said serial output of said peripheral controller means to said internal interrupt controller within said system controller means when one of said plurality of peripherals activates said interrupt request input of said peripheral controller means;
- transmitting said serial packet on said serial output of said peripheral controller means to said internal DMA controller within said system controller means when one of said plurality of peripherals activates said DMA request input of said peripheral controller means;
- synchronizing and transferring data from the serial input of each of said plurality of serial I/O devices to the serial output of the same serial I/o device with a one clock cycle delay on said clock source;
- transmitting said serial packet on said serial output of each of said plurality of serial I/O devices to said internal interrupt controller within said system controller :means when one of said plurality of peripherals activates one of said interrupt request inputs of said plurality of serial I/o devices;
- and
- transmitting said serial packet on said serial output of each of said plurality of serial I/O devices to said internal DMA controller within said system controller means when one of said plurality of peripherals activates one of said DMA request inputs of said plurality of serial I/O devices.
Dependencies are inferred from the claim text.