ECE 366---Computer Architecture
Instructor: Prof. Shantanu Dutt
Important Information:
- Instructor's office hrs (930 SEO): Mon: 11:15am-12:45pm, Wed: 3:00-4:30pm.
- TA: Chandramohan Rangaswamy, email: crangasw@ece.uic.edu
Office Hrs: M 1-2pm, Tue 11-12pm, SEO 1326
- Grader: Ashutosh Vasudeva, email: avasude1@ece.uic.edu
Office Hrs: M 12:30PM to 2:00PM,
F 11:00AM to 12:30 PM, SEO 1326
- Before the next lecture, remember to always go through the
material covered in the previous lecture and make sure you understand
it all. Ask Qs to TAs and me during office hours, and possibly in the
next lecture.
- Syllabus: ps , pdf
- Lecture Notes (new addition/updation on
11/08/01)
NOTE: The lecture notes cover many but not all topics. The rest
of the topics will be covered from the text.
- Instructions for
Downloading, Retrieving and Printing Postscript or PDF Files
Messages:
- Midterm Problems: original--pdf
retake--ps
- HW 4 Solns: txt
- Extra Office Hrs: Fri Nov. 30, 4:30-5:30 pm, Mon Dec. 3, 3-4:30 pm,
Tue Dec. 4, 3-5:30 pm (you can also check at other times on M/T to
see if I'm in but I'm guaranteed to be there only during these office hrs).
- Sample final: pdf
- Final Exam Time and Place: Wed., Dec. 5, LC E1, 10:00 am to 12 p.m.
- HW 3 Solns: pdf
- Midterm solns (updated 11/29/01, 8pm): pdf
- Project 2 sample soln for the "mul_slow" opcode (FSM design and
worst and average-case cc analysis): pdf
- Syllabus for Final Exam:
1) CU design (either FSM or control program design for instruction
execution) for the myth8 only (no Edu32 CU designs): includes Lecture
Notes # 8 + other aspects covered in class.
2) Basics of 2's complement arithmetic.
3) Adder circuits (RCA, partial CLA, full CLA, CSA): Lecture Notes
# 10 (pp. 1-7, 11) + full CLA covered in class (also a bit
of full CLA is in Lecture Notes # 11 and Chap. 4 of text though analysis of gate
delays in the text is incorrect!---analysis done in class is correct.)
4) Multiplication and division methods: Lecture Notes # 10 (pp. 20-35)
+ Lecture Notes # 13 (pp. 1-15);
can also see Lecture Notes # 12 for added reference.
5) Pipelining: Lecture Notes # 14 + Lecture Notes # 14b (pp. 8-12, pp. 14-19
[ignore single-cycle processor design discussion], pp. 21-27) + coverage
of different strategies for dealing with branch hazards and their analysis
for CPI and throughput done in class.
6) Memory Organization: Lecture Notes # 16.
- HW4 (due Fri. Nov. 30) pdf
- HW3 (due Mon. Nov. 19) pdf
- Due to hiccups in the ECE servers, electronic submission for
Project 2 extended to Tue, Nov. 12, 7pm. You hould also resubmit the
entire hardcopy during Wed. class if you want to update ypur hardcopy
submission. In this case, label you submission as "Full Resubmit" so
that we do nor grade youe earlire (MOnday) submission.
- Electronic Submission of your .ucode and .mem files (mem files w/
lw+ format inserted in place of blanks):
Put all your files in a directory and
submit the directory to the ece366 account as follows:
turnin -c ece366 -p project2 "directoryname"
- Final mem files (posted 7:20 pm, Thurs 11/08/01):
slow_mem_file ,
and the slow_output_file
fast_mem_file ,
and the fast_output_file
Note 1: There are clearly marked 3-byte place holders for
your lw+ format that you have to insert at these positions. There
are 4 such lw+ instr. place holders.
Note 2: Perform your simulations on the above files with Wait State set to "one"
in the Options menu of "mythsim" and submit the requested screen shots.
Note 3: The fast mem file should run faster than the slow mem file; part
of the grading will be based on the speed difference, as well as the indiviual
speeds at which you run the two mem files.
Good luck!
- Project 2 (due Mon Nov. 12): pdf
Hard copy submission due on Mon in class; electronic copy due by Mon. 5pm.
- IMPORTANT ANNOUNCEMENT: Retake of one Q. (of similar complexity)
of the midterm will take place in class on Fri. Oct. 26. Syllabus
will be the same as in the midterm.
-
HW 1 & 2 solutions
- Midterm 1 will be on Friday, Oct. 12, in and during class.
- Sample midterm: pdf
(NOTE: Problem 1 is not in this semester's syllabus, so don't worry
about it).
- Syllabus for Midterm 1:
- Register File and Bus Design: connections to read, write buses (using
muxes, tri-state buffers), control
of register reads and writes, addressing of registers.
- ALU Design: 2's complement arithmetic and its properties, putting
an ALU together with various FUs,
subtractor/incr./decr., use of muxes for selection of ALU operation,
adder circuits (RCA, partial CLA, full CLA, CSA), add-&-shift based
multiplication techniques.
- Control Unit Design: C.U. FSM (states and transitions for various
instruction execution: fetch cycle, decode and execution for
arithmetic (add, sub, shift, etc.), load, store, unconditional
and conditional branching instructions), control programs for the same,
design strategies for correct and efficient C.U. design. This will be
for both the Edu32 and the Myth8.
- Data path augmentation for instruction execution (similar to HW 1
problems).
- Only for non-ECE students without an ECE account:
If you have been unsuccessful in getting an ECE account by 5pm today, please
submit you .ucode file by email to the TA (crangasw@ece.uic.edu). Pls note
the two (in some cases only one) names of your team in your .ucode file.
- Screen capture technique:
PRINTING out the mythsim graphical interface:
(courtesy of student G. Kuchery)
Unfortunately, MythSim does not have an option of printing your output
to the printer. So, the other way to print out your output would be to
print whateveryou see on your screen. For that you may use a program
caller "XV". Just type "xv" in your Xterm window and a graphical
interface will pop-up. If it doesn't then type /usr/local/X11/bin/xv
-- it should work. When it opened up "right click" on the XV logo to
see the menu window. Click on GRAB button. Check the "HIDE XV WINDOW"
and click GRAB again. Use the middle button of the mouse to select the
rectangular area that you want to print (It would be the whole MithSim
window). Release the middle button. You will hear a beep which means
that the computer is now grabbing the selected region. Be patient, in
about 20 sec. Another window will pop-up with exact copy of what you
selected. Go back to the xv menu and click on save. I recommend
choosing .jpg format with 90% quality setting (you will see). Once the
file is saved you can open it in NETSCAPE and print it to any printer
(lpr -Picl2).
- Turnin deadline extended to 7pm Fri to accommodate non-ECE students
trying to get an ECE acount for the first time (Goto Rm. SEO 920 for
this right away; also see notes below)!
- Turnin should now be working (for those with ECE accounts)!
- Non-ECE students: For you to "turnin" your project, you
need to have an ECE account and turnin from there. Here is what
your system support manager Richard Chang has to say about it:
"I like to mention also all the students who need to use turnin ece366
should have (1) an account with us ECE (CS stduent need to apply for a
temp ECE account if they don't have yet.) (2) their login name is in our
i366 class list (some late registered stduents, if their name is not in
the class list.) in order to have them turnin project successfully."
Those without an ECE account pls go to the ECE support room in SEO 920
to get a temp. account. They know this is urgent and should help you
quickly.
- The .mem file for testing your .ucode file (updated 10/12/01, 11:15am;
should be correct now!):
test_file
- The .out file with the correct results stored in memory
locations 95 to 135: output_file .
Your ucode design should generate these
outputs. This is for you to check to see if your design
runs the above .mem file correctly. Note that we will be testing
your ucode again w/ the above .mem file and a blind .mem file.
NOTE: The .out file can be generated by selecting File->output->save
or save as menu item.
- Electronic Submission of your .ucode files:
Put all your files in a directory and
submit the directory to the ece366 account as follows:
turnin -c ece366 -p project1 "directoryname"
- Project 1 (due Fri Oct. 12): pdf .
Updated (10/08/01, 3:30pm). The two
instructions dec_bpl and lw+ have been replaced by rorm and load_ind,
respectively, while the format of the sw+ instruction has been
changed slightly to make it executable on the myth8.
Note also that there is no opcode 000010, so just put
a nop place holder for a state labeled opcode[2] as
"opcode[2]: goto fetch0;". You need to do this as all opcode[i] states
need to appear in sequential order in your microcode from 0 to last opcode
value.
- Please print and bring the following text files to class on
Mon. Oct. 1.
Mythsim Setup Steps
Sample ucode
Sample mem file (program in machine language)
- IMPORTANT: Corrections (minor) have been made to the Edu32
processor's control signals, all relating to the MDR as follows:
(1) The incorrectly labeled "pc_sel" signal to MDR has been correctly
relabeled as "mdr_sel". This is used to load the the MDR from either
the Write Bus (mdr_sel = WB) or the Memory Data Bus (mdr_sel = DB).
(2) A tristate buffer with control signal "mdr_db_enb" has been added
to the connection from the MDR to the Memory Data Bus. This is used to
selectively connect the MDR to the Memory Data Bus (mdr_db_enb = 1).
The corrected figure is available at the
same location as before.
- ALSO NOTE: The "ready" status signal coming into the CU of the
Edu32 processor is used to signal completion of either a read or write
operation by the memory system (ready=1) as requested by the CU.
- HW2 (due Wed. Sept. 26) -- updated 12:10 pm 09/19
pdf
Edu32 with control signals figure needed for HW2 is
here
- Latest update on the HW1 submission saga: Submit problems 1 and 2
on Friday Sept. 7, and problem 3 and 4 on Mon. Sept. 10.
Also, there is a typo in problem 4:
The statement "If the present
value of $N$ is less than the previous value, then $Z_1=1$.
If the present value of $N$ is less than the previous value, then
$Z_2=1$."
needs to be replaced by:
"If the present
value of $N$ is less than the previous value, then $Z_1=1$.
If the present value of $N$ is greater than than the previous value, then
$Z_2=1$."
The second "less than" in the original statement is replaced by a "greater than"
in the new statement.
- HW1 due date postponed to Fri Sept. 7.
- HW1 (due Wed. Sept. 5) pdf
- Textbook and Reading Assignment: We have contacted the publisher
on Fri 08/24 t find out about when the text will be sent to the bookstore;
we will hopefully hear from them on Mon. In the meantime, please realize
that the reading assignments have to do with revising
your logic design (eecs 265) background and is available in any logic
design text (many avail. in the library and you may have retained
the 265 text), and does not necessarily have to be from the 366 text.