CE121 -- Microprocessor System Design
Assignment 6
Out February 12, 1997
Due: February 19, 1997
Reminder: Homework is to be your own work, though you can discuss
problems in general terms with your classmates when necessary provided
writeups are independent, without reference to any materials from the
group discussion, after doing something inane. Be sure to credit any
collaborators, the TA, or me, if you received help on any problem.
- (30 points) Lab 5 interrupt program. Referring to the lab
assignment, write pseudo-code (not assembly language) for the
routines needed for interrupt-driven I/O processing.
- (20 points) Answer the following questions about the routines.
- (3) Why are queues needed?
- (3) What is a simple way to implement a circular queue of size .
- (3) What conditions on the pointers indicate that the queue is full
or empty?
- (3) What advantage is there in removing characters from the queue
after they are transmitted?
- (4) What do you expect to happen when the transmitter's CTS signal
is disabled but keys are still typed from the terminal?
- (4) What would happen if UART interrupts were temporarily
disabled while the routien was running?
Note that in a multiprogramming environment, the busy loops in
the read and write request routines would be eliminated by placing the
process in an inactive state on a queue of jobs waiting for I/O.
Fortunately, you don't need to write an operating system, or at least
not in this course!
- (20 points) Design an op-amp circuit to change an analog signal
that varies between 0V and 5V to one that varies linearly between
-10V and 10V. Assume that only V power supplies are
available and make sure that 0V maps to V.
- (20 points) Design an op-amp circuit to calculate z= 5x -
0.2y, where x and y range between -1 and +1V, and there is a
V power supply. What changes would have to be made if the
input signals ranged ?
Richard Hughey
Wed Feb 12 12:52:37 PST 1997