Hardware support for fast capability-based addressing

Traditional methods of providing protection in memory systems do so at the cost of increased context switch time and/or increased storage to record access permissions for processes. With the advent of computers that supported cycle-by-cycle multithreading, protection schemes that increase the time t...

Full description

Bibliographic Details
Published in:ACM SIGOPS Operating Systems Review
Main Authors: Carter, Nicholas P., Keckler, Stephen W., Dally, William J.
Format: Article in Journal/Newspaper
Language:English
Published: Association for Computing Machinery (ACM) 1994
Subjects:
Online Access:http://dx.doi.org/10.1145/381792.195579
https://dl.acm.org/doi/pdf/10.1145/381792.195579
id cracm:10.1145/381792.195579
record_format openpolar
spelling cracm:10.1145/381792.195579 2024-05-12T08:11:58+00:00 Hardware support for fast capability-based addressing Carter, Nicholas P. Keckler, Stephen W. Dally, William J. 1994 http://dx.doi.org/10.1145/381792.195579 https://dl.acm.org/doi/pdf/10.1145/381792.195579 en eng Association for Computing Machinery (ACM) ACM SIGOPS Operating Systems Review volume 28, issue 5, page 319-327 ISSN 0163-5980 journal-article 1994 cracm https://doi.org/10.1145/381792.195579 2024-05-01T06:43:56Z Traditional methods of providing protection in memory systems do so at the cost of increased context switch time and/or increased storage to record access permissions for processes. With the advent of computers that supported cycle-by-cycle multithreading, protection schemes that increase the time to perform a context switch are unacceptable, but protecting unrelated processes from each other is still necessary if such machines are to be used in non-trusting environments. This paper examines guarded pointers , a hardware technique which uses tagged 64-bit pointer objects to implement capability-based addressing. Guarded pointers encode a segment descriptor into the upper bits of every pointer, eliminating the indirection and related performance penalties associated with traditional implementations of capabilities. All processes share a single 54-bit virtual address space, and access is limited to the data that can be referenced through the pointers that a process has been issued. Only one level of address translation is required to perform a memory reference. Sharing data between processes is efficient, and protection states are defined to allow fast protected subsystem calls and create unforgeable data keys. Article in Journal/Newspaper The Pointers ACM Publications (Association for Computing Machinery) ACM SIGOPS Operating Systems Review 28 5 319 327
institution Open Polar
collection ACM Publications (Association for Computing Machinery)
op_collection_id cracm
language English
description Traditional methods of providing protection in memory systems do so at the cost of increased context switch time and/or increased storage to record access permissions for processes. With the advent of computers that supported cycle-by-cycle multithreading, protection schemes that increase the time to perform a context switch are unacceptable, but protecting unrelated processes from each other is still necessary if such machines are to be used in non-trusting environments. This paper examines guarded pointers , a hardware technique which uses tagged 64-bit pointer objects to implement capability-based addressing. Guarded pointers encode a segment descriptor into the upper bits of every pointer, eliminating the indirection and related performance penalties associated with traditional implementations of capabilities. All processes share a single 54-bit virtual address space, and access is limited to the data that can be referenced through the pointers that a process has been issued. Only one level of address translation is required to perform a memory reference. Sharing data between processes is efficient, and protection states are defined to allow fast protected subsystem calls and create unforgeable data keys.
format Article in Journal/Newspaper
author Carter, Nicholas P.
Keckler, Stephen W.
Dally, William J.
spellingShingle Carter, Nicholas P.
Keckler, Stephen W.
Dally, William J.
Hardware support for fast capability-based addressing
author_facet Carter, Nicholas P.
Keckler, Stephen W.
Dally, William J.
author_sort Carter, Nicholas P.
title Hardware support for fast capability-based addressing
title_short Hardware support for fast capability-based addressing
title_full Hardware support for fast capability-based addressing
title_fullStr Hardware support for fast capability-based addressing
title_full_unstemmed Hardware support for fast capability-based addressing
title_sort hardware support for fast capability-based addressing
publisher Association for Computing Machinery (ACM)
publishDate 1994
url http://dx.doi.org/10.1145/381792.195579
https://dl.acm.org/doi/pdf/10.1145/381792.195579
genre The Pointers
genre_facet The Pointers
op_source ACM SIGOPS Operating Systems Review
volume 28, issue 5, page 319-327
ISSN 0163-5980
op_doi https://doi.org/10.1145/381792.195579
container_title ACM SIGOPS Operating Systems Review
container_volume 28
container_issue 5
container_start_page 319
op_container_end_page 327
_version_ 1798834219092279296