CSC270 Homework 8 2012
--D. Thiebaut 10:39, 4 April 2012 (EDT)
This homework is due on 4/11/12, at 1:00 p.m.
The Intel Pentium, 1996. Instruction Fetch, Complex Instruction Support, and Instruction Decode are all part of the Control Unit (CU)
Problem #1: CU = FSM
We saw in class that the 6811 Control Unit is a big Finite State Machine (FSM) and that it is controlled by bits from the Instruction Register (IR), which receives the op-codes of the instructions being executed.
- Question 1
- Study the instruction set of the 6811 and find the instruction (or one of the many) that takes the least number of cycles to run, i.e. find the smallest cycle of the FSM inside the CU. Also find the longest one.
- A note of caution: I am using the word cycle to mean two different things here. One is the period of the clock signal used to activate the FSM, the other is a loop made of states belonging to the Finite State Machine.
- Question 2
- Assuming that all instructions listed in the table of 6811 instruction are as as likely to be executed in a program, what is the average number of processor cycles per instructions for a 6811 running an "average program"?
- Question 3
- Research has shown that for most programs, of all the instructions executed by the processor (and this is true across all kinds of processors), about 50% of the instructions executed are data move instructions (LDAA, STAA, LDX, STX, etc.), and 25% are arithmetic and logic instructions (ADDA, etc...), and about 12.5% are control instructions (JMP, BNE, BEQ, BRA, etc). In view of these statistics, what is the average number of cycles taken by the 6811 to execute instructions? You don't have to do an exhaustive search of all the instructions, but you should explain all assumptions you are making.
- Question 4
- Today's Pentium processors work in the area of 3 GHz, i.e. the clock cycle fed to the processor is 3 GHz. If we could boost the operating frequency of the 6811 from 1MHz to 3GHz, would its MIPS rating be similar to that of a Pentium processor? The table in Wikipedia's page on MIPS will be useful to answer this question.
- Question 5
- We saw in class that some of the bits in opcodes are used by the CU to decide on how to execute an instruction. Study the instruction set and see if you can identify how the CU uses some bits to either decide on which register to use, or on which addressing mode to follow. Illustrate your answer with several examples.