Test 3 Solutions

advertisement
ECE3724 Summer 2003
Take Home Test #3
Name__Solutions___
From Chapter 7, Self-test and Analysis and Design (page 405 Uffenbeck), work the
following problems:
1. Calculate the access time provided by a 486 processors with a 60MHz bus
frequency.
Taccess = (1/60)(10-6)(1.5) = 25nsec
2. Why is the access time of a processor important? What does it mean?
The processor access time is the “window of opportunity”; memory chips
must be able to output valid data within this amount of time, in order to
avoid having wait states. The processor access time is how much time the
processor allows for memory chips to respond.
3. Repeat question 1, assuming two wait states are added.
Taccess = (1/60)(10-6)(1.5) = 25nsec + 2(1/60)(10-6) = 58.33 nsec
******* was missing a 2 in 3-2-2-2 ********
4. An asynchronous SRAM performs 3-2-2-2 burst cycles. How many total wait
states are required per burst cycle assuming 2-1-1-1 processor burst cycles.
The SRAM requires 9 clock cycles to complete the burst transfer – Since
the processor can normally handle it with 5 clock cycles, 4 wait states are
required.
5. Why is a burst cycle faster than a conventional memory bus cycle?
Burst cycles allow bursts of data to be transferred to the processor cache
without requiring extra clock cycles to transfer the addresses.
*******BE3’ should have been written rather than BE1’*******
6. A 486 processor is accessing a memory word at address 00000036h. Determine
the logic levels required on the processor’s A31-A2 address pins and the 4-byte
enables BE3’ – BE0’ (note that the byte enables are active-low).
Each of the hex digits of the address is 4 bits. Looking at each of the address pins
below shows the values. Note that the 486 does not have pins A1 and A0. Pins BE3
through BE0 are used instead. A word is to be accessed so locations 36 and 37 must
be accessed.
31
30
29
28
27 26 25 24
23 22 21 20
19 18 17 16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
0
0
0
0
0
0
0
0
0
0
1
1
0
1
BE3
BE2
BE1
BE0
0
0
1
1
0
0
7. Draw a diagram similar to Figure 7-26 using 128k x8 SRAMS instead of the
64kx8 shown. Show the decoder required to map your circuit to the address range
40000-7FFFFh.
See attachment
8. Refer to the 8088 memory map shown in Figure 7-63. Draw the schematic of the
required memory interface similar to Figure 7-38. If you had Digital Devices
here, what is a PAL?
See attachment
From Chapter 11 Analysis and Design,
9. Match the support chips for the PC/XT with the following numbers: (8087, 8237,
8255A, 8259A, 8284, 8288)
a.
b.
c.
d.
e.
f.
Interrupt Controller
Clock generator
Math coprocessor
Memory refresh, disk drive data transfers
System configuration, keyboard access, speaker control
Bus controller
8259
8284
8087
8237
8255
8288
PIC
clock
Coprocessor
DMA control
PPI
From Chapter 8 Self test
10. Work problems 2, 5, 14, 15.
2. When M/IO’ is low and W/R’ is high, what type of bus cycle is occurring?
(d)I/O write
5. In the polling routine shown below, the BUSY/READY status bit is ______
when the printer is busy, and is input as bit __6______ of port _5___.
14. Each counter in the 8254 can be operated with a different clock signal.
True
15. To produce a single active-low pulse 10 clock pulses after an active-high
clock signal is applied, program the 8254 for mode __5__.
11. Explain polling.
With polling, the processor waits for the peripheral to be READY so that
more information can be sent. An inefficient way of utilizing the
processor.
From Chapter 8 Analysis and Design Questions (page 461)
12. Work problem 8.4 parts a-e
a) memory mapped
b) 8 bits
c) output port
d) Any memory address between 80000000h and
FFFFFFFFh; 2 G ports
e) Mov [80000000], AL
From Chapter 9 Self-Test (page 507)
13. Work problems 1-7, 10, 12, 14
1. The 80x86 processors can receive interrupts from three different sources. List
these.
a. Internal ( due to a fault)
b. Software (INTn)
c. Hardware (NMI, INTR, etc…)
2. The 80x86 processors have two general-purpose hardware interrupts, called
_NMI_______ and __INTR_. Of these, interrupts on __INTR____ can be
blocked by giving the ___CLI_ instruction.
3. Simultaneous interrupts occur in INTR and NMI. Which one will the 80x86
processors respond to first?
NMI, it has the highest priority
4. Assume a peripheral has an interrupt service routine stored at 0783:0010h.
Determine the contents and location of the interrupt vector if type number
20010 is used.
The vector 10 00 83 07 is stored beginning at 320h (20010 x 4 = 80010 = 320h)
5. What type of interrupt causes an interrupt acknowledge cycle to be run? What
is the purpose of this cycle?
Only interrupts on INTR cause interrupt acknowledge cycles. These
cycles are used to input the type number from the interrupts device.
6. Under what conditions can an interrupt on INTR interrupt an ISR currently
running?
If the currently running ISR sets the interrupt flag (STI), then other
interrupt requests will be able to interrupt this routine.
7. How does the 8259A PIC indicate interrupts that are currently in service?
The corresponding IS bit is set.
10. To program PIC input IR5 to produce a type number of 75h, the base address
__70h___ should be written to __ICW2___.
12. During DMA cycles, the processor __open___ __circuits_______ its data,
address, and control buses.
14.If the processor receives simultaneous HOLD and NMI requests, which input
will be serviced first?
HOLD has the highest priority
From Chapter 10 Self-Test (page 576)
14. Work problems 1-3
1. Calculate the character rate for a serial port programmed for 9600 bps, 8 data
bits, 1 start bit, and 1 stop bit.
9600bits per sec/10 bits per char = 960 chars/sec
2. Assume COM2 is to be programmed as described in Question 1. Give the
DOS mode command required.
MODE COM2: 96,n,8,1
;n => no parity
3. Asynchronous serial data is said to be self-synchronizing. Explain.
Because each character begins with a start bit, the receiver can
resynchronize itself to the incoming data.
Problem #7
Problem #8
Download