The Berkeley RISC model
The RISC 1 computer implemented in the late 1970s used a very large
register set of 138 × 32 bit registers. These were
arranged in eight overlapping windows of 24 registers each. Each window was
split so that six registers could be used for parameter passing during
subroutine calls. A pointer was simply changed to select the group of six
registers. To perform a basic call or return simply needed a change of pointer.
The large number of registers is needed to minimise the number of fetches to
the outside world. With this simple window technique, procedure calls can be
per-formed extremely quickly. This can be very beneficial for real-time
applications where fast responses are necessary.
However, it is not without its disadvantages. If the proce-dure calls
require more than six variables, one register must be used to point to an array
stored in external memory. This data must be loaded prior to any processing and
the register windowing loses much of its performance. If all the overlapping
windows are used, the system resolves the situation by tracking the window
usage so either a window or the complete register set can be saved out to
external memory.
This overhead may negate any advantages that windowing gave in the first
place. In real-time applications, the overhead of saving 138 registers to
memory greatly increases the context switch and hence the response time. A good
example of this approach is the Sun SPARC processor.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.