EP0871129A2

A method for bursting processor data to or from an I/O device

Abstract

An I/O bridge unit is used to allow burst transfers between a processor and an I/O device using normal cachable processor instructions, without modifying the processor or its interfaces. The I/O bridge unit intercepts cachable processor instructions to designated memory pages and processes "trigger" commands, to perform intermediate cache-emulation logic. Ultimately burst communications of appropriate byte-length are transacted between cache-emulation buffers and the processor or I/O device.

EP0871129A2, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Projected expiry passed 26 March 2018, 8.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

20 claims: 1 independent, 19 dependent

  1. 1
    A method of bursting data between an input/output device and a processor comprising the steps of:(a) intercepting a cachable processor command requesting communication with the I/O device;and (b) performing an intermediate cache emulation logic to process said processor command.
  2. 2
    A method as claimed in Claim 1 further comprising:(c) transferring a burst of data between a cache-emulation buffer and the I/O device.
  3. 3
    A method as claimed in Claim 2 further comprising:(d) performing a data transfer between said cache-emulation buffer and said processor.
  4. 4
    A method as claimed in Claim 1 wherein step (a) further comprises intercepting a write trigger command from the processor.
  5. 5
    A method as claimed in Claim 1 wherein step (a) further comprises intercepting a read trigger command from the processor.
  6. 6
    A method as claimed in Claim 1 wherein step (b) further comprising performing emulation logic in an I/O bridge unit within a memory/I/O controller.
  7. 7
    A method as claimed in Claim 6 wherein the I/O bridge unit intercepts processor cachable commands to at least one memory page.
  8. 8
    A method as claimed in Claim 7 further comprising loading at least one register in the memory/I/O controller with an address of said memory page to be mapped out of a main memory space and used as a cache-emulation buffer.
  9. 9
    A method as claimed in Claim 8 further comprising associating the processor cachable commands to a corresponding I/O adapter address in an I/O space or a memory-mapped I/O space.
  10. 10
    A method as claimed in Claim 9 further comprising loading registers in the memory/I/O controller with I/O adapter addresses.
  11. 11
    A method as claimed in Claim 3 further comprising intercepting a trigger command specifying a length of data transfer.
  12. 12
    A method as claimed in Claim 1 wherein step (a) comprises specifying a set of emulation logic to be enabled.
  13. 13
    A computer system as claimed in Claim 12 further comprising:(d) means for performing data transfer between said cache-emulation buffer and said processor.
  14. 14
    A computer system as claimed in Claim 11 further comprising means for performing emulation logic in an I/O bridge unit within a memory/I/O controller.
  15. 15
    A computer system as claimed in Claim 14 wherein the I/O bridge unit intercepts processor cachable commands to at least one memory page.
  16. 16
    A computer system as claimed in Claim 15 further comprising means for loading at least one register in the memory/I/O controller with an address of said memory page to be mapped out of a main memory space and used as a cache-emulation buffer.
  17. 17
    A computer system as claimed in Claim 16 further comprising means for associating the processor cachable commands to a corresponding I/O adapter address in an I/O space or a memory-mapped I/O space.
  18. 18
    A computer system as claimed in Claim 17 further comprising means for loading registers in the memory/I/O controller with I/O adapter addresses.
  19. 19
    A computer system as claimed in Claim 18 further comprising means for associating the processor cachable commands to a corresponding I/O adapter address in an I/O space or a memory-mapped I/O space.
  20. 20
    A computer system as claimed in Claim 19 further comprising means for loading registers in the memory/I/O controller with I/O adapter addresses.
Independent claims20