cpe 252: Computer Organization 1 Lo’ai Tawalbeh Lecture #2 Standard combinational modules: decoders, encoders and Multiplexers 1/3/2005
Dec 19, 2015
cpe 252: Computer Organization 1
Lo’ai Tawalbeh
Lecture #2
Standard combinational modules: decoders, encoders and
Multiplexers1/3/2005
cpe 252: Computer Organization 2
Decoders• General decoder structure
• Typically n inputs, 2n outputs– 2-to-4, 3-to-8, 4-to-16, etc.
cpe 252: Computer Organization 4
Decoder Use – Operation Decoding•Microprocessor instruction decoding
other fields
opcode field
instruction
4-input binarydecoderEn
1
0 1 2 ………. 15
jump
loadstoreadd
decoded instructions
cpe 252: Computer Organization 6
3-input Binary DecoderE x2 x1 x0 x y7 y6 y5 y4 y3 y2 y1 y0
1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 2 0 0 0 0 0 1 0 0 1 0 1 1 3 0 0 0 0 1 0 0 0 1 1 0 0 4 0 0 0 1 0 0 0 0 1 1 0 1 5 0 0 1 0 0 0 0 0 1 1 1 0 6 0 1 0 0 0 0 0 0 1 1 1 1 7 1 0 0 0 0 0 0 0 0 - - - - 0 0 0 0 0 0 0 0
Inputs: x = (x2, x1, x0), with xi in {0,1} and E in {0,1}
Outputs: y = (y7,y6,y5,…,y1,y0) with yi in {0,1}
Function: yi = E. mi(x), i = 0,1,…,7
cpe 252: Computer Organization 7
Implementing functions using a Binary Decoder and OR Gates
x2 x1 x0 z2 z1 z0
0 0 0 0 1 0 0 0 1 1 0 00 1 0 0 0 10 1 1 0 1 01 0 0 0 0 11 0 1 1 0 11 1 0 0 1 01 1 1 1 0 0
Function
210
01234567
Bin
ary
D
eco
de
r
E
1
x2
x1
x0
z2
z1
z0
Remember that any function can be represented as a sum of minterms
cpe 252: Computer Organization 8
Binary Encoders
• Only one input Ij has value 1 at any given time
• Output Y corresponds to the binary code of j when Ij = 1
cpe 252: Computer Organization 9
8-to-3 Binary Encoders
Y0 = I1 + I3 + I5 + I7 (odd input indices)
Y1 = I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 + I7 (indices > 3)
cpe 252: Computer Organization 10
Multiplexers
MUX
1 0
0
1
2
3
selection inputs
datainputs
1
0
1
0 0
1
0
1
0 1
1
0
1
1 0
cpe 252: Computer Organization 12
Typical Multiplexer useselection between multiple paths to a functional unit
cpe 252: Computer Organization 13
Multiplexers as universal modules
• Universal module: using only this module you are able to implement ANY logic function.
• NAND and NOR gates for example are universal gates.
• Question: how do you assign inputs for the multiplexer in order to implement a given function?
cpe 252: Computer Organization 14
ExerciseImplement the following function using:
a) 8-input multiplexer.
b) 4-input multiplexer.
F=x,y,z(1,2,6,7)
cpe 252: Computer Organization 16
4-bit Unsigned Numbers
Range of values for n-bit vector is: 0 ≤ x ≤ (2^n-1)
cpe 252: Computer Organization 17
Representation of Signed Integers and Basic Operations
• Two common representations– Sign and Magnitude (SM)– True and Complement (TC)
• In both cases there is a mapping from signed values to positive values.
cpe 252: Computer Organization 18
Sign and Magnitude
• x represented by a pair (s,m) where– s is the sign: 0 for positive and 1 for negative
– m is the magnitude
– example: (-23)10 = -(10111) = (1,10111)
• Range of values for n-bit vector (n-1 bits for m)– - (2n-1 – 1) ≤ x ≤ (2n-1 – 1)
• Two representations for zero
cpe 252: Computer Organization 19
2’s complement
• No separation between sign and magnitude
• Signed integer x represented by positive integer xR such that:
Example: n=4, 2^4=16. To represent x = -7; xR = 9
• Range of values for n-bit vector ( 2’s comlement)– - (2n-1 ) ≤ x ≤ (2n-1 – 1)
otherwisex
xwhenxx nR 2
0
cpe 252: Computer Organization 21
Change of Sign
1. complement each bit of x
2. add 1
Example: n = 4 x = (0011)2= 3
x’ = 1100
+ 1
1101 representation of -3
cpe 252: Computer Organization 23
Two’s complement addition/subtraction
• Addition: same as positive integer addition– just discard carry out
• Subtraction: x - y – step 1: change the sign of y to obtain -y– step 2: add x and -y
• Example: x = 8, y = 5, 5-bit vectorsy = 00101 -y = 11011 <<< change signx - y = 01000 11011 + 00011 << carry out discarded