# 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,340
1,850
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,646
3,458
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,340
1,850
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,340
1,850
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