



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The instructions and questions for a university exam in the subject of introduction to computer engineering (ece2030) at the georgia institute of technology. The exam covers various topics such as memory systems, datapath elements, assembly directives, single cycle dpu, and instructions. Students are required to answer all questions without using books or notes, except for one sheet of paper. The exam includes multiple choice and design questions.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!




STUDENT NAME and NUMBER: (PLEASE PRINT CLEARLY)
REMARKS: 1. All questions should be answered (in the space provided).
DATE: November 30, 2000 TIME: 4:35 p.m. - 5:55 p.m.
Marks:
Total:
Georgia Institute of Technology Department of Electrical and Computer Engineering
ECE2030: Introduction to Computer Engineering Q
a) You are given three different memory chips as listed in the table below. Fill in the remaining table cells with the total bits in each of the memory chips, the number of addressable locations, the number of address lines required to address all these locations, and the number of input/output data lines.
Memory chip Total # of bits # of addresses # address lines # data lines
1Kx
4Mx
2Gx
b) The module shown below is a 2Kx8 memory chip. Design a 4Kx16 bank of memory using multiple cop- ies of the 2Kx8 memory chip shown and whatever other combinational building blocks or logic elements you need. The inputs and outputs of your circuit should be the appropriate number of ADDRESS and DATA lines, as well as the MSEL (an enable to select the entire memory) and R/W lines to specify a read (or write) operation. It is OK to use “bus notation” to indicate multi-line datapaths, such as address and data lines. Label all inputs and outputs to your circuit, and label all pins on chips and building blocks used. Otherwise points will be deducted.
2Kx
Show the values in the data segment for the following assembler directives. Assume that the machine is little endian and that the data segment starts at address 0x00100000. The ASCII for ‘A’ in hexadecimal is 0x and for ‘+’ is 0x2B.
Write a microcode fragment in the table below that will compute the following register transfer equation. Use the single cycle datapath unit diagram attached at the back of the exam for reference on the control sig- nals. In the computation use only R1, R2, R3, and R4. Only R1 and R3 may be modified after their initial values have been used. For maximum credit, include a description of each microcode operation as well as mark the appropriate “don’t care” inputs with an X.
M[R4] = ((R1 * 16) & R3) + M[R2]
Clock Cycle X Y Z rwe imm en
imm va
a en asl a/s
st en
ld en r/w msel Description
.data
.byte 5 10
.space 1
.word 14 10
.align 2
.asciiz “A+”
0x
0x
0x
0x
0x
0x
0x
0x
0x
0x0010000A
0x
0x0010000B
Execute the following assembly language program (for reference, a short table of assembly language instruc- tions is given at the bottom of the page). For each clock cycle in the execution, fill in the register values in the table below with the computed values at the end of the clock cycle. Assume that all registers start initially with an unknown value so are marked with an “X” for unknown (i.e. at clock cycle 0).
andi $5, $5, 0x addi $3, $5, 0x andi $1, $1, 0x add $2, $3, $ ori $4, $1, 0x or $1, $4, $ sub $5, $1, $
Clock Cycle
Instruction Example Meaning
add add $1,$2,$3 $1 = $2 + $
add immediate addi $1,$2,100 $1 = $2 + 100
subtract sub $1,$2,$3 $1 = $2 - $
subtract immediate subi $1,$2,100 $1 = $2 - 100
and and $1,$2,$3 $1 = $2 & $
and immediate andi $1,$2,100 $1 = $2 & 100
or or $1,$2,$3 $1 = $2 | $
or immediate ori $1,$2,100 $1 = $2 | 100