Address decoder

Discussion in 'Homework Help' started by thexy, Jan 10, 2016.

  1. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    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.
     
  2. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,016
    3,789

    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.
     
  3. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,802
    832
    If you see where GopherT is going, determine what address(es) output each of CSx outputs.
     
  4. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    Hm, I'm just beginer who learned yesterday what is decoder so this explanation didn't helped me.
     
  5. GopherT

    AAC Fanatic!

    Nov 23, 2012
    6,016
    3,789

    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?
     
  6. shteii01

    AAC Fanatic!

    Feb 19, 2010
    3,388
    497
    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
     
  7. MrCarlos

    Active Member

    Jan 2, 2010
    400
    134
    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.
     
  8. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    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.
     
  9. MrCarlos

    Active Member

    Jan 2, 2010
    400
    134
    Hello thexy
    Are You asking the address range of the Chip-Selects: CS1, CS2, CS3 ??.
     
  10. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    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? :)
     
  11. bertus

    Administrator

    Apr 5, 2008
    15,647
    2,346
    Hello,

    The amount of addressed bytes in the range is 7FFFh - 6000h = 1777h.

    Bertus
     
  12. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    I need value in BYTES, not one hexadecimal number.
     
  13. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,802
    832
    :eek:
     
  14. thexy

    Thread Starter Member

    Dec 13, 2015
    126
    0
    ?
     
  15. MrCarlos

    Active Member

    Jan 2, 2010
    400
    134
    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.
     
  16. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,802
    832
    A byte is 8 bits wide. A nibble is 4 bits wide.
     
  17. hp1729

    Well-Known Member

    Nov 23, 2015
    1,950
    219
    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.
     
  18. WBahn

    Moderator

    Mar 31, 2012
    17,737
    4,789
    Must be nice for the TS to know that they can count on someone working their homework problems for them.
     
  19. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,802
    832
    :eek: First the wrong thread, now the wrong forum...
     
  20. WBahn

    Moderator

    Mar 31, 2012
    17,737
    4,789
    I wasn't referring to your response.
     
    djsfantasi likes this.
Loading...