Final Study Questions
Part of
the homework for 22C:122/55:132, Spring 2003
|
By the early 1970's, many microprogrammed machines were using fast RAM to store their microcode instead of using ROM. There were two main reasons for this: Most available ROM technologies were slower than the available RAM technology, so reading the microcode into RAM allowed faster machines. Furthermore, the first generation of LSI ROM chips were "mask programmed", so any change in the contents required manufacturing new chips -- this made microcode debugging extremely painful.
If, at startup, the machine loads its microstore from an external device, why not allow the microstore to be changed at runtime? Several vendors pursued this idea; among the best known were Burroughs, in the B 1700 and B 1800 computers, where compiler writers frequently wrote new microcode to support each new compiler.
With the universal acceptance of high-performance pipelined architectures, this approach to processor design has almost died out. (The exceptions are some floating point coprocessors where the operating system must load the microcode before any floating point instructions are used.)
However, the possibility of user customized instruction sets still intrigues programming language designers and application developers. Modern field programmable gate arrays (or FPGAs) are very fast; some use static ram cells to hold their programming, so the programming can be changed extremely quickly.
A typical FPGA consists of a number of programmable logic elements (generalized truth table elements where the programming specifies both the input and-array and the output or-array), along with a stock of registers, multiplexors, and sometimes other register-transfer level components such as adders. All of these elements, along with the inputs and outputs to the FPGA, are connected by a programmable interconnect network; each connecton in this network may be turned on or off by a single bit of the programming data for the array.
Consider the following questions:
The above questions are not exam questions! These are study questions intended to help motivate a number of questions on the exam. No more than half of the exam will deal with the area of these study questions. Broader issues representative of the course as a whole are guaranteed to be covered on the exam.