Hi there in this video we are going to look
at decoders. We are going to be using these in various places in the CPU. The one we are
looking at the moment is for the RAM. So let’s look at a decoder. If we have 2 bits say 00,
then those 2 bits can produce 4 different values. 00, 01,10,11. So we have a 2 by 4
decoder to get access to 4 values from 2. The same thing happens with a 3 by 8. So we
will have 3 bits. So we will have 3 inputs and those will give us 8 outputs. We
can create a 4 by 16 decoder with 4 input bits giving us 16 outputs. So all we are doing
is , from the inputs getting access to each and every output value. I have a decoder built
but let’s go through an example here first of a 2 by 4. So we need 4 AND gates with 4
outputs. The top one is our least significant bit. Now we want these output lines going
high when the values occur at the input . At the input we are going to have 2 inputs say
A and B but we need access to the compliments of A and B , we can put A and B through NOT
gates to get the compliments. In the first instance when A and B are both zero we need
to take the inputs from the compliments of A and B now when A and B go low the compliments
go high and we get a high output. So for the second one we require to connect A to the
compliment and B to B so when A goes low then the compliment is high and when B is high
then we get 2 highs so an output at 01. So this is the basis of a decoder. So let’s have
a look at one which is already built in logisim. We will look at
the 3 by 8. So you see our inputs A,B,C and the NOT gates create the compliments so the
inputs and the compliments all go into the AND gates. So the top bit is the least significant
bit and the bottom one is the most significant bit. So in order for the least significant
bit to go high all we need is all the Inputs to be zero. Now consider the next significant
bit so we have taken the connection from C and compliments of A and B. So we can work
our way through the outputs 2,3,4,5,6,7. So this all I am going to say for now. I have
a 4 by 16 which is the same idea as a 3 by 8. We can change the
inputs and see the outputs change. That’s all for the decoder. Note I have not created
the decoder instance here. The one I have already created for the finished CPU is the
one being shown. Thank you for listening and in the next video we will put together the
decoders and the little register we built and also the 8 bit memory and we will have
a look at how we can put them all together to create a RAM. Ok thank you and goodbye.

8 BIT CPU Decoder