Doing Architecture

Discussion in 'General Electronics Chat' started by uknowwho, Nov 13, 2014.

  1. uknowwho

    Thread Starter New Member

    Nov 13, 2014
    4
    0
    I was catching up on some computer architecture stuff. As in the spring semester we'll be starting it.
    I was going through some of the stuff in the Morris Mano book. Some of the questions that were troubling me
    are:
    1. If suppose we had a memory of 512mb then what will be the size of address and data bus.
    My attempt: as 2^9 = 512 so it will be of 9-bits. For the 512mb of memory I assume that there is a 32-bit processor so the data bus will be of 4 bits as 8 x 4 = 32. is this correct?
    I get caught up in bits and bytes. How to know if the address bus or data bus will be in bits or bytes, how do you determine that?

    2. How can I convert a conditional statement like this If (X=1) then (R1<-R1+R2) else if (Y=1) then (R1<-R1–R3) into register transfer language? Also how to make it's block diagram

    My attempt: X: R1<-R1+R2
    XY ' : R1<- R1 - R3
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    512 mb = 536,870,912 = 2^29
    There is some ambiguity in your post about the meaning of 'b'. From the information you have given there is no good way to tell.
    The size of the memory does not really give a clue to the size of the data bus. It could be anything.
    Your second problem is not well defined. XY can have 4 different values. It seems clear that you should do nothing if X = Y = 0. What should you do if X = Y = 1. Is there a missing 'else' clause?
     
  3. uknowwho

    Thread Starter New Member

    Nov 13, 2014
    4
    0
    It was Mega byte,not bit sorry about that. And yes I know for the data bus we need to know the size of the CPU, but in the question only the size of RAM is given
    for the second part the complete given statement is If (X=1) then (R1<-R1+R2) else if (Y=1) then (R1<-R1–R3)..nothing more.
     
  4. MrChips

    Moderator

    Oct 2, 2009
    12,414
    3,353
    For the second part of the question, if you are asking for machine code then you have to state the machine, microcontroller unit (MCU) that you are using.
     
  5. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    RTL = Register Transfer Language
    This is an abstract language that is often used in designing new machines that don't exist yet. It has been around since the 1960's
     
  6. uknowwho

    Thread Starter New Member

    Nov 13, 2014
    4
    0
    I'm also not sure how to make a block diagram out of it..would i need to add a adder to do the additions involved?
     
  7. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    Yes an adder would be helpful. It could also include the subtraction function, or you could put a complement block in front of one of the inputs. The idea is to do subtraction by adding the complement of the subtrahend to the minuend.
     
  8. uknowwho

    Thread Starter New Member

    Nov 13, 2014
    4
    0
    can you show that in terms of block diagram, I'm not that good at making block diagrams though I do understand what you're saying
     
Loading...