Sid M. answered 04/19/20
Studied Computer Science and Engineering at University of Washington
- How many bits are required to address a 4M X 16 main memory if
- Main memory is byte addressable? 4Mx16 is equivalent to 8Mx8, so if main memory is byte-addressable, then we need enough address bits to name 8M bytes, or (log2(8M) == ) 23 bits.
- Main memory is word addressable? If main memory is word-addressable, then we need enough address bits to name 4M words, or (log2(4M) == ) 22 bits.
- Suppose that a 16M X 16 main memory is built using 512K X 8 RAM chips and memory is word addressable.
- How many RAM chips are necessary? A main memory organized as 16Mx16 requires (16M / 512K) x (16 / 2) RAM chips, or 64 chips.
- How many RAM chips are needed for each memory word? Each memory word (16 bits) requires (16 bits / 8 bits ==) 2 RAM chips.
- How many address bits are needed for each RAM chip? Each chip needs enough bits to address 512K positions, so (log2(512K) == ) 19 bits.
- How many address bits are needed for all memory? Main memory needs enough bits to address 16M words, so (log2(16M) == ) 24 bits.
- A digital computer has a memory unit with 24 bits per word. The instruction set consists of 150 different operations. All instructions have an operation code part (opcode), and an address part (allowing for only one address). Each instruction is stored in one word of memory.
- How many bits are needed for the opcode? We need enough bits to represent 150 different values, so (ceiling(log2(150)) == ) 8 bits.
- How many bits are left for the address part of the instruction? 24 bits - 8 bits == 16 bits remaining for the address part.
- What is the maximum allowable size for memory? The maximum allowable size of word-addressed memory is 216 == 65536 words.
- Write the following MARIE assembly language equivalent of the following machine language instructions. Referring to http://samples.jbpub.com/9781449600068/00068_CH04_Null3e.pdf
- 0010 0000 0000 0111 STO 7
- 1001 0000 0000 1011 JMP 11
- 0011 0000 0000 1001 ADD 9
- What is the difference between hardwired control and microprogrammed control? (This answer is informal, and doesn’t necessarily conform to a formal definition.) With hardwired control, the behavior(s) of a circuit are defined solely by the logic elements of which the circuit is made. The only way to change the behavior is to change the logic elements and/or their connections (wiring). With microprogrammed control, the behavior(s) are controlled by a small(er), simple(r), fast(er) computer, which has been programmed to behave as desired. Changing the behavior requires changing the program.