• DocumentCode
    1705263
  • Title

    Protected, user-level DMA for the SHRIMP network interface

  • Author

    Blumrich, Matthias A. ; Dubnicki, Cezary ; Felten, Edward W. ; Li, Kai

  • Author_Institution
    Dept. of Comput. Sci., Princeton Univ., NJ, USA
  • fYear
    1996
  • Firstpage
    154
  • Lastpage
    165
  • Abstract
    Traditional DMA requires the operating system to perform many tasks to initiate a transfer, with overhead on the order of hundreds or thousands of CPU instructions. This paper describes a mechanism, called User-level Direct Memory Access (UDMA), for initiating DMA transfers of input/output data, with full protection, at a cost of only two user-level memory references. The UDMA mechanism uses existing virtual memory translation hardware to perform permission checking and address translation without kernel involvement. The implementation of the UDMA mechanism is simple, requiring a small extension to the traditional DMA controller and minimal operating system kernel support. The mechanism can be used with a wide variety of I/O devices including network interfaces, data storage devices such as disks and tape drives, and memory-mapped devices such as graphics frame-buffers. As an illustration, we describe how we used UDMA in building network interface hardware for the SHRIMP multicomputer
  • Keywords
    computer interfaces; computer networks; file organisation; network interfaces; DMA; DMA transfers; SHRIMP network interface; User-level Direct Memory Access; address translation; operating system; permission checking; virtual memory translation; Control systems; Costs; Drives; Hardware; Kernel; Memory; Network interfaces; Operating systems; Permission; Protection;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 1996. Proceedings., Second International Symposium on
  • Conference_Location
    San Jose, CA
  • Print_ISBN
    0-8186-7237-4
  • Type

    conf

  • DOI
    10.1109/HPCA.1996.501182
  • Filename
    501182