Browse Prior Art Database

Simplified Checking for Real Addressing Errors

IP.com Disclosure Number: IPCOM000037019D
Original Publication Date: 1989-Nov-01
Included in the Prior Art Database: 2005-Jan-29
Document File: 2 page(s) / 44K

Publishing Venue

IBM

Related People

Groves, RD: AUTHOR

Abstract

In a virtual address processor, any real addresses which are generated outside the bounds of installed real memory represent a fatal operating system error. Even so, processors have, in the past, designed this check to be reported as a synchronous error just like page fault or storage protection.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 74% of the total text.

Page 1 of 2

Simplified Checking for Real Addressing Errors

In a virtual address processor, any real addresses which are generated outside the bounds of installed real memory represent a fatal operating system error. Even so, processors have, in the past, designed this check to be reported as a synchronous error just like page fault or storage protection.

Synchronous checking of the real address bounds has several problems. For a processor with multiple functional units which can generate addresses independently, the checking hardware and bounds register(s) must be repeated multiple times and kept in sync. Secondly, for some systems (e.g. the IBM RT- PC) real memory is not in contiguous address space, but "holes" exist in real memory. This makes the definition of bounds checking very difficult. Finally, real address checking must be performed after address translation which occurs late in the cycle. This tends to cause synchronous real address checking to be in the processor cycle time critical path.

To solve this, real address bounds checking can be redefined to be reported asynchronously through a suitable asynchronous interrupt (like machine check). The address checking can then be performed at the bank selection outputs for the memory interface. If no memory banks are selected by an address, then the real address is invalid. This is a simple, centralized check performed by ORing the bank selects. Since these selects represent the actual memory bank selects, real "holes" i...