Address decoder

Thread Starter

thexy

Joined Dec 13, 2015
130
It's given Address decoder for one computer. It uses 3 to 8, that has three inputs C, B, A (with C=MSB and A=LSB) and one active enable-output. All outputs are also active. In general computer has 16 address lines A15-A0.

upload_2016-1-10_13-46-42.png

How to find CS1, CS2 and CS3, in what adress range computer they are active. How to find how big are adress range (in Byte or kibiByte)?

Can someone help me what is first thing I need to do? Thank you.
 

GopherT

Joined Nov 23, 2012
8,009
It's given Address decoder for one computer. It uses 3 to 8, that has three inputs C, B, A (with C=MSB and A=LSB) and one active enable-output. All outputs are also active. In general computer has 16 address lines A15-A0.

View attachment 98383

How to find CS1, CS2 and CS3, in what adress range computer they are active. How to find how big are adress range (in Byte or kibiByte)?

Can someone help me what is first thing I need to do? Thank you.

First, Each input 3-bit input results in the corresponding pin (decimal value equivalent name) to go high. To make output Y0 go high, the input must be 000.

Note that the chip in the upper left has EN pin pulled to V+ and is always active.

Now note that the only way to enable the chip in upper right, is to activate the correct input on the upper left chip....

See where I'm going here.
 

GopherT

Joined Nov 23, 2012
8,009
Hm, I'm just beginer who learned yesterday what is decoder so this explanation didn't helped me.

This circuit is used to activate a bunch of other devices.

Those devices are activated when their "chip select" pin is raised from 0v to +5 volts.

The 9 inputs let you put many different combinations of 1 and 0. (512 to be exact). However, only a few combinations are important because of the way everything is connected.

Lets start simple. What value would you put on the inputs to get CS2 to go high?
 

shteii01

Joined Feb 19, 2010
4,644
According to GopherT:
EN| A15| A14| A13| Y0
1 |0 | 0 |0 |1
So you use this to enable the next chip because Y0 on first chip is EN signal on the next chip.

Then GopherT is asking you how to make CS2 high?
To make CS2 high you need to make Y3 high on the first chip. If Y0 is 000, then Y3 mus be 011. It has been already noted that EN of the first chip is tied to the positive voltage supply, so it is always high which we assume that here it means digital 1.
EN| A15| A14| A13| Y3/CS2
1 | 0 | 1 | 1 | 1
 

MrCarlos

Joined Jan 2, 2010
400
Hello thexy


The questions in your original message were:
1- How to find CS1, CS2 and CS3,
2- in what address range computer they are active.
3- How to find how big are address range.
4- Can someone help me what is first thing I need to do?
-
Well, the first thing you need to do is give a value to each BIT address.
In this way: (Removes unnecessary zeros in the address column)
A00 = 1.
A01 = 2.
A02 = 4.
A03 = 8.
A05 = 16.
A06 = 32.
A07 = 64.
A08 = 128.
A09 = 256.
A10 = 512.
A11 = 1024.
A12 = 2048.
A13 = 4096.
Q14 = 8192.
Q15 = 16384.


Therefore, the address range of the computer is:
From: 0000000000000000 (binary), 0 (decimal).
To: 1111111111111111 (binary), 65535 (decimal).


Now: In the circuit looking at the image you enclose, You only use the BIT's Address: A7, A8, A9, A10, A11, A12, A13, A14 and A15.
I guess you know how to work the 3 ICs (boxes) that appear in the image that you enclose.
Note that it has an control input called "EN" whose function is to enable the function of these ICs.
When this control input is high, the IC can do its function.
With the other inputs: A, B, C, you can do some of the outputs true (high), any, from Y0 to Y7.
And again, the values of these inputs are A = 1, B = 2, C = 4.
So when A = 1, B = 0, C = 1 if EN = 1, Y5 will be = 1.

With these explanations I think you can already find the answer to 1-, above.
And maybe all other questions.
 

Thread Starter

thexy

Joined Dec 13, 2015
130
Hey guys I found how much is Yo...Y7
From photo I see that CS1 is YO and Y4, CS2 Y3, CS3 Y0 Y1 Y3, I found lines, that was easy. Now my problem is that I don't know how find to value of lines (Bytes or kibiBytes)? If somone could help me I would be thankful.
 

Thread Starter

thexy

Joined Dec 13, 2015
130
Hello thexy
Are You asking the address range of the Chip-Selects: CS1, CS2, CS3 ??.
For example
CS2 - Start Address - 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -> 6000h
CS2 - End Address - 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 -> 7FFFh

How do I calculate how much bytes it has? :)
 

MrCarlos

Joined Jan 2, 2010
400
Hola thexy
The width of your system is 16 BIT’s, as you established what your original message.
This 16 BIT’s word You can divide into groups of 4 BIT's to which we can call them Bytes.
So you'd have 4 bytes per address. (16/4 = 4).
Each byte consists of 4 BIT's.
.
Remember: the biggest is the word (Of X BIT's) which is divided into bytes (Of X BIT's).
.
Now if you want to change the HEX number, "that give You bertus" to decimal you can use the calculator that brings the operating system (OS) Windows.
Program It as a scientific calculator, select HEX, type 7FFF, changes the selection to DEC, get the decimal representation of the original HEX number.
.
The amount of addresses that can have access to CS2 is:
7FFF Bytes, in HEXagecimal.
32,767 Bytes, in decimal.
111111111111111 Bytes, in Binary.
.
But if you divide this word (15-bit's), in groups of 4 then simply multiply 32,767 x 4.
.
Note (Word, Byte, Bit). The biggest, the medium, the smallest.
 

hp1729

Joined Nov 23, 2015
2,304
It's given Address decoder for one computer. It uses 3 to 8, that has three inputs C, B, A (with C=MSB and A=LSB) and one active enable-output. All outputs are also active. In general computer has 16 address lines A15-A0.

View attachment 98383

How to find CS1, CS2 and CS3, in what adress range computer they are active. How to find how big are adress range (in Byte or kibiByte)?

Can someone help me what is first thing I need to do? Thank you.
Mods Edit:
To make students study the basic conceptions are more important than the direct answer, the attached file had been deleted, given the direct answer is not what this homework help forum created for.
 
Top