The Community for Technology Leaders
2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA) (1996)
San Jose, CA
Feb. 3, 1996 to Feb. 7, 1996
ISBN: 0-8186-7237-4
pp: 154
M.A. Blumrich , Dept. of Comput. Sci., Princeton Univ., NJ, USA
E.W. Felten , Dept. of Comput. Sci., Princeton Univ., NJ, USA
Kai Li , Dept. of Comput. Sci., Princeton Univ., NJ, USA
C. Dubnicki , Dept. of Comput. Sci., Princeton Univ., NJ, USA
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.
INDEX TERMS
file organisation; network interfaces; computer interfaces; computer networks; SHRIMP network interface; operating system; DMA; User-level Direct Memory Access; DMA transfers; permission checking; address translation; virtual memory translation
CITATION
M.A. Blumrich, E.W. Felten, Kai Li, C. Dubnicki, "Protected, user-level DMA for the SHRIMP network interface", 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA), vol. 00, no. , pp. 154, 1996, doi:10.1109/HPCA.1996.501182
82 ms
(Ver 3.3 (11022016))