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...
Published in: | ACM SIGOPS Operating Systems Review |
---|---|
Main Authors: | , , |
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 |