0% found this document useful (0 votes)
219 views7 pages

CEG 2136 - Fall 2014 - Midterm PDF

The document describes a midterm exam for a computer architecture course covering topics such as designing flip-flops, counters, and multi-function registers. It also includes questions about arithmetic operations using two's complement representation and designing an arithmetic logic unit to perform addition, subtraction, incrementing and decrementing on 3-bit operands.

Uploaded by

Amin Dhouib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
219 views7 pages

CEG 2136 - Fall 2014 - Midterm PDF

The document describes a midterm exam for a computer architecture course covering topics such as designing flip-flops, counters, and multi-function registers. It also includes questions about arithmetic operations using two's complement representation and designing an arithmetic logic unit to perform addition, subtraction, incrementing and decrementing on 3-bit operands.

Uploaded by

Amin Dhouib
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

CEG2136

Midterm Exam 2014

CEG2136: Computer Architecture I / CEG2536: Architecture des Ordinateurs I


MIDTERM EXAMINATION
Professors: Voicu Groza, Fadi Malek and Miguel Garzon
Duration: 1 hour and 20 minutes October 21, 2014, 14:00
SOLUTIONS
Question 1 (30 points)
a) (15 points) Using D-type flip-flops, design a 3-bit Gray code counter which has the
following counting sequence:
000 → 001 → 011 → 010 → 110 → 111 → 101 → 100
↑ ↓
← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
Draw the transition table of the counter and derive the excitation equations of the D flip
flops’ inputs.

 
Present state Sn Next state Sn +1 Q2+ Q1Q0  00 01  11  10 
Q2 Q1 Q0 Q2+ Q1+ Q0+
Q2 
0  0  0  0  1 
0 0 0 0 0 1
1  0  1  1  1 
0 0 1 0 1 1 +
Q2  = Q2 Q0  + Q1 Q'0  
0 1 0 1 1 0  
Q1+ Q1Q0  00 01  11  10 
0 1 1 0 1 0
Q2 
1 0 0 0 0 0
0  0  1  1  1 
1 0 1 1 0 0 1  0  0  0  1 
+
1 1 0 1 1 1 Q1  = Q’2 Q0  + Q1 Q'0  
1 1 1 1 0 1  
Q0+ Q1Q0  00 01  11  10 
Q2 
0  1  1  0  0 
1  0  0  1  1 
Q0+ = Q’2 Q’1  + Q2 Q1  

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 1
CEG2136 Midterm Exam 2014

b) (15 points) Design a 3-bit multi-function register whose operation is described in the
following table; I2, I1, I0, are register’s data inputs, while a and b are the control bits.

I2 D2 Q2 Clock a b Operation
↑ 0 0 No change = stores current state
I1 D1 Q1 ↑ 0 1 Synchronous reset/clear (0 Q2Q1Q0)
↑ 1 0 Gray code counter: advance to the next state
I0 D0 Q0 ↑ 1 1 Parallel loading external inputs I2 I1 I0 Q2Q1Q0

a↑ ↑b

Transition Equations Excitation Equations Di (final results -


a b Function
(preliminary steps) derived for each case separately)
0 0 f0: Store register's content Qi (n+1) = Qi (n) ; i= {0,1,2} Di = Qi (n) ; i = {0,1,2}
0 1 f1: Synchronous clear Qi (n+1) = 0 ; i= {0,1,2} Di (n+1) = 0 ; i= {0,1,2}
Q2+ = Q2 Q0 + Q1 Q'0 D2 = Q2 Q0 + Q1 Q'0
f2: Gray code counter:
1 0 Q1+ = Q’2 Q0 + Q1 Q'0 D1 = Q’2 Q0 + Q1 Q'0
advance to the next state
Q0+ = Q’2 Q’1 + Q2 Q1 D0 = Q’2 Q’1 + Q2 Q1
f3: Loading external inputs,
1 1 Qi (n+1) = Ii (n) ; i= {0,1,2} Di = Ii (n) ; i = {0,1,2}
I2 I1 I0

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 2
CEG2136 Midterm Exam 2014

Question 2 (30 points)

Two’s complement representation is used for signed numbers in this question.


The 8-bit registers AR, BR, CR and DR initially have the following values:
AR = 0 1100001; BR = 1 0110000;
CR = 1 0001110; DR = 0 1000011.

An 8-bit adder is employed to perform the following operations:


CR = AR + BR
DR = AR – BR

1. (10 points) Determine the 8-bit values in each register after the execution of these
micro-operations.

CR = AR + BR
    64  32  16  8  4  2  1       
Carry: C8 C7 C6 C5 C4 C3 C2 C1 C0       
No verification is
1 1 1 0 0 0 0 0         Verification in decimal:  required here!
AR 0  1  1  0  0 0 0 1   = 97 
BR 1  0  1  1  0 0 0 0   = ‐ 80 
CR 0 0 0 1 0 0 0 1   17 

BR = 1 0  1 1 0 0 0 0 < 0   BR = ‐|BR|  
|BR| = ‐ BR = 2’s compl (1 0  1 1 0 0 0 0) = 0 1 0 1 0 0 0 0 = (64+16) = 8010 
BR = ‐|BR| = ‐ 8010

DR = AR - BR = AR + (- BR) = AR + 2’s compl (BR)= 0 1 1 0 0 0 0 1+ 2’s compl (1 0  1 1 0 0 0 0)


= 0 1 1 0 0 0 0 1 + 0 1 0 1 0 0 0 0

Carry: C8 C7 C6 C5 C4 C3 C2 C1 C0         
0 1 0 0  0  0  0  0          Verification in decimal: 
No verification
AR 0  1  1  0  0 0 0 1   = 97 
is required here
-BR 0 1 0 1 0 0 0 0   = 80 
DR 1 0 1 1 0 0 0 1   BAD : DR<0 ↔ 177? 

Conclusion:
AR = 0 1 1 0 0 0 0 1;
BR = 1 0  1 1 0 0 0 0;
CR = 0 0 0 1 0 0 0 1;
DR = 1 0 1 1 0 0 0 1

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 3
CEG2136 Midterm Exam 2014

2. (10 points) Convert to decimal all four binary numbers stored in these registers
after the execution of the micro-operations.

AR = 0 1 1 0 0 0 0 1 = + 64+32+1 = +97

BR = 1 0  1 1 0 0 0 0 < 0       BR = ‐|BR|  


|BR| = ‐ BR = 2’s compl (1 0  1 1 0 0 0 0) = 0 1 0 1 0 0 0 0 = (64+16) = 8010 
BR = ‐|BR| = ‐ 8010

CR = 0 0 0 1 0 0 0 1 = 16+1= +17

DR = 1 0 1 1 0 0 0 1 < 0       DR = ‐|DR|
|BR| = ‐ BR = 2’s compl (1 0 1 1 0 0 0 1) = 0 1 0 0 1 1 1 1 = 64+15 = 7910
DR = ‐|DR| = ‐ 7910

(4 points) Represent in BCD the decimal number equivalent to the binary number stored in
register AR.

AR = 0 1 1 0 0 0 0 12 = 9710 = (1 0 0 1 0 1 1 1) BCD

3. (6 points) Is there any overflow? Justify your answer. How would a computer detect
overflows in these operations?

No overflow in CR = AR + BR since AR>0 and BR<0 cannot generate OFL


Overflow possible in DR = AR – BR because AR>0 and – BR>0, and it is overflow since
97+80 = 177 > 127, the largest positive number with 8 bits

Computer sees in
CR: OFL = c8 ⊕ c7 = 1 ⊕ 1 = 0
DR: OFL = c8 ⊕ c7 = 0 ⊕ 1 = 1

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 4
CEG2136 Midterm Exam 2014

Question 3 (40 points)


In this problem you have to design a 3-bit arithmetic and logical unit (ALU) which executes the
micro-operations described in Table 1. The ALU takes its operands from two 3-bit registers
A=A2A1A0 and B=B2B1B0, and returns an output F = F2F1F0. The micro-operation to be executed
is specified by the code bits S2 S1 S0. In the case of arithmetic operations, assume that the
contents of A and B are signed numbers in 2’s complement representation.
S2 S1 S0 Operation Description A. (10 points) Draw a detailed logic diagram of
0 0 0 F A + B Addition the ALU’s arithmetic unit.
0 0 1 F A + 2 Increment by 2 S1 S0 Operation Description Carry
0 1 0 F A - B Subtraction 0 0 F A + B Addition A2A1A0+ B2 B1 B0
0 1 1 F A - 2 Decrement by 2 0 1 F A + 2 Increment by 2 A2A1A0+ 0 1 0
1 0 0 F (A V B)’ NOR 1 0 F A - B Subtraction A2A1A0+ B2’B1’B0’+001
1 0 1 F (A ⊕ B)’ Exclusive-NOR 1 1 F A - 2 Decrement by 2 A2A1A0+ 1 0 1 +001
1 1 0 F ashl A Arithmetic shift- left S1 S0 S1=Cin or 110 + 000
1 1 1 F ashr A Arithmetic shift- right Cin=S1S0’

A0 Cin0
FAC 0
B0 0 Σ0
1 Cout0

0 2

3
1 AC0

A1 Cin0
FAC 1
B1 0 Σ0
1 Cout0

1 2

3
(2 points) A Boolean variable W is
0 AC1
used to show whether one of the
arithmetic operations described in
Table 1 has caused an overflow. In
A2 Cin0
FAC 2
the case of an overflow, W is set to 1 B2 0 Σ0
otherwise W is set to 0. Give a
Boolean expression for W. 1 Cout0

W = cin3 ⊕ cout3 0 2

3
University of Ottawa, Faculty of Engineering, School of Electrical Engineering1and Computer AC2
Science 5
CEG2136 Midterm Exam 2014

B. (10 points) Draw the logic diagram of the logic and shift unit of the ALU.

S1 S0
A0
B0 0

1 FLSC 0
0 2

A1 3
LSC0
A1
B1 0

1 FLSC 1
A0 2

A2 3
LSC1

A2
B2 0

1 FLSC 2
A1 2

A2 3
LSC2

(3 points) A Boolean variable V is used to determine whether the arithmetic shift operations
have caused an overflow. In the case of an overflow, V is set to 1, and V is reset to 0
otherwise. Find a Boolean expression of V.

V = S1 S0’ (A2 ⊕ A1)

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 6
CEG2136 Midterm Exam 2014

C. (5 points) A Boolean variable T is used to signalize if any of the operations described in


Table 1 causes an overflow. In the case of an overflow, T is set to 1, and otherwise T is
set to 0. Find a Boolean expression of T.

T = S2’ W + S2 V

(10 points) Use bloc diagrams of the arithmetic and logic & shift units in order to draw the
block diagram of the complete ALU, including the overflow detection bit T.

S1 S0 S2
A0
B0 AC0 0  FALU 0

LSC0 1

A1
AC1 0  FALU 1
B1
LSC1 1

A2
AC2 0  FALU 2
B2
LSC2 1

University of Ottawa, Faculty of Engineering, School of Electrical Engineering and Computer Science 7

You might also like