Computer Organization

Spring Semester, 2022

CoSc 425: Syllabus
Instructor: Stan Warford
Office: RAC 112
Office hours: Monday (11:00-11:50), Tuesday (9:00-9:50), Thursday (1:00-1:50), Friday (11:00-11:50), and by appointment.
Email: Message to Warford

A1, A2, A3, A4, A5, A6, A7, A8, Test 1
A9, A10, A11, A12, A13, A14, A15, A16, Test 2
A17, A18, A19, A20, A21, A22, A23, A24, A25, Final
L1, L2, L3, L4, L5, L6

Notices

Lecture video recordings

Video recordings of all the lectures are posted on YouTube here.

Text

Computer Systems, Fifth Edition, J. Stanley Warford, Jones and Bartlett, 2017.

Text rebate

As the author of our text, if you purchase it new I will personally refund on your request 15% of the retail price you paid.

Downloads

Access online drawing tool for logic diagrams.
Download Pep/9 CPU, required for Assignments 16, 18, 19, and 20.
Download SPIM, not required, but may be helpful for Assignments 22 and 23.

Download errata page for Computer Systems, Fifth Edition, first printing.
Download lecture slides, Chapter 3 for Computer Systems Fifth Edition.
Download lecture slides, Chapter 8 for Computer Systems Fifth Edition.
Download lecture slides, Chapter 9 for Computer Systems Fifth Edition.
Download lecture slides, Chapter 10 for Computer Systems Fifth Edition.
Download lecture slides, Chapter 11 for Computer Systems Fifth Edition.
Download lecture slides, Chapter 12 for Computer Systems Fifth Edition.
Download exam documentation handout for Computer Systems Fifth Edition.

Labs

Friday is lab day in KSC 200.

First day of Lab 1: January 21
First day of Lab 2: February 4
First day of Lab 3: February 18
First day of Lab 4: March 11
First day of Lab 5: March 25
First day of Lab 6: April 8

Download complete data sheets for the labs.
Download data sheet for 7400, 7402, 7404, 7408, 7432, 7447, 7476, 7485, 7486, 74151, 74164, 74176-177, 74181, MAN71A.

Papers and links

Throwing Computing into Reverse, Michael P. Frank, IEEE Specturm, vol.54, no. 9, pp. 32-37, Sept. 2017.
Out of Bounds, Gerard J. Holzmann, IEEE Software, vol.32, no. 6, pp. 24-26, Nov.-Dec. 2015.
Reduced Instruction Set Computers Then and Now, David Patterson, IEEE Computer, December 2017.
RISC-V home page, A new open-source ISA hardware processor.
RISC-V Offers Simple Modular ISA, David Kanter, The Linley Group Microprocessor Report, March 28, 2016.
The End of (Numeric) Error: An Interview with John L. Gustafson, Walter Tichy, Ubiquity, An ACM Publication, April 2016.
An Energy-Efficient and Massively Parallel Approach to Valid Numbers, John L. Gustafson, Slide presentation on the Unum floating-point format, March 2015.
New CISC Architecture Takes on RISC, Bernard Cole, EE Times, August 2015.
Power Struggles: Revisiting the RISC vs. CISC Debate on Contemporary ARM and x86 Architectures, Emily Blem, Jaikrishnan Menon, and Karthikeyan Sankaralingam, 19th IEEE International Symposium on High Performance Computer Architecture, 2013.
The Tyranny of the Clock, Ivan Sutherland, Communications of the ACM, October 2012.
Computing Performance: Game Over or Next Level?, Samuel H. Fuller, Lynette I. Millett, IEEE Computer, January 2011.
The Case Against Quantum Computing, Mikhail Dyakonov, IEEE Spectrum, March 2019.
How the Spectre and Meltdown Hacks Really Worked, Nael Abu-Ghazaleh, Dmitry Ponomarev, Dmitry Evtyushkin IEEE Spectrum, March 2019.
The IEEE Standard 754: One for the History Books, David G. Hough, IEEE Computer, December 2019.
Fast Inverse Square Root - A Quake III Algorithm, Interesting YouTube video with IEEE 754, November 2020.

Intellectual property

You are free to use the material I produce in this course without my explicit permission.
License: Creative Commons, Attribution-ShareAlike (CC BY-SA)

See: https://creativecommons.org/licenses/ for license details.

Assignments

Submission procedure

You may hand in your written assignments on paper or electronically on Courses. Submissions on Courses must be single, multi-page PDF files, not photos. Use a scanner, not a raw phone camera image.

Assignment 1

Due Thursday, January 13
Video lectures 1, 2, 3
Study Chapter 10.1, 10.2
Chapter 10: Exercises 2, 8, 9(c), 11(a), 15(g, j, m), 16(g, j, m), 17(g, j, m)
To submit your assignment on Courses, name your file xxa01written.pdf where xx is your assigned two-digit number for this course.
Note the lower-case a and lower-case w.

Notice
Monday, January 17, Martin Luther King Day holiday

Assignment 2

Due Thursday, January 20
Chapter 10: Exercises 21(b, d, g, i), 22(b, d, g, i)

Lab 1

First Lab 1 day Friday, January 21
Basic Logic Gates

Assignment 3

Due Monday, January 24
Study Chapter 10.3
Chapter 10: Exercises 23(a, f), 24(a, f), 25, 27(b, d, g, i), 28(a, f), 31(b, i), 32(b, i)
For 32, use a Karnaugh map to find the minimum of x' and then De Morgan's law to write the OR-AND expression.

Assignment 4

Due Thursday, January 27
Study Chapter 10.4
Chapter 10: Exercises 33(b, c, d), 34(b, c, d), 35(c), 36(c)
For 34, use a Karnaugh map to find the minimum of x' and then De Morgan's law to write the OR-AND expression.

Assignment 5

Due Monday, January 31
Chapter 10: Exercises 41, 43, 46, 47
For Exercise 41, use only the two multiplexers and AND, OR, and INVERT gates.

Assignment 6

Due Thursday, February 3
Study Chapter 11.1
Chapter 10: Exercises 53, 54(c)
See errata for Exercise 54, electronic edition.

Lab 2

First Lab 2 day Friday, February 4
Combinational Logic Circuits
Lab 1 due

Assignment 7

Due Monday, February 7
Chapter 10: Exercises 52(b), 54(g), 55

Assignment 8

Due Thursday, February 10
Chapter 11: Exercises 2, 3

Test 1

Monday, February 14
Chapters 10, 11.1 through page 648 The Master-Slave SR Flip-Flop, Lab 1

Assignment 9

Due Thursday, February 17
Study Chapter 11.2
Chapter 11: Exercises 5, 7, 8(d, f, h)
For Exercises 7 and 8, design a minimum AND-OR circuit, show the design table and Karnaugh map, and draw the non-abbreviated circuit with the flip-flop.

Lab 3

First Lab 3 day Friday, February 18
Sequential Circuits: Flip-flops and Shift Registers
Lab 2 due

Assignment 10

Due Monday, February 21
Chapter 11: Exercises 10, 11 (Don't forget to label the output on the transition diagram.)

Assignment 11

Due Thursday, February 24
Study Chapter 11.3
Chapter 11: Exercises 13(b), 14(a)

Notice
Monday, February 28 - Friday, March 4
Spring break

Assignment 12

Due Monday, March 7
Chapter 11: Exercise 19

Assignment 13

Due Thursday, March 10
Chapter 11: Exercises 20, 21, 22
For Exercise 20, you can describe the change in general with one or two sentences.

Lab 4

First Lab 4 day Friday, March 11
A Combined Combinational-Sequential System
Lab L3 due

Notice
Monday, March 14, last day to withdraw with grade of W.

Assignment 14

Due Monday, March 14
Study Chapter 12.1
No written exercises.

Assignment 15

Due Thursday, March 17
Chapter 11: Exercises 23, 24
Chapter 12: Exercise 2

Assignment 16

Due Monday, March 21

Chapter 12: Exercises 3, 4
Chapter 12: Problem 28
For Problem 28, use the "Copy to Microcode" button in the Help system to copy the unit test, which you must include unchanged in every microprogram.
Document your code with name, date, and assignment, which you must include in every microprogram.
Combine cycles as much as possible, which you must do for every microprogram.
Name your file xxProb1228.pepcpu where xx is your assigned two-digit number for this course.
Note the upper-case P.
Submit your assignment on Courses.

Test 2

Thursday, March 24
Chapters 11, 12.1 through page 704 The Store Byte Direct Instruction, Labs 2, 3

Lab 5

First Lab 5 day Friday, March 25
Variable Modulus Decade Counter with Display
Lab 4 due

Assignment 17

Due Monday, March 28
Start working on Assignment 18.

Assignment 18

Due Thursday, March 31
Chapter 12: Problem 29(e)
Chapter 12: Problem 29(f)
Chapter 12: Problem 30
Name your files xxProb1229e.pepcpu, xxProb1229f.pepcpu, and xxProb1230.pepcpu where xx is your assigned two-digit number for this course.
Note the upper-case P.

Assignment 19

Due Monday, April 4
Study Chapter 12.2
Chapter 12: Problem 32(e)
Chapter 12: Problem 33(d)
Name your files xxProb1232e.pepcpu and xxProb1233d.pepcpu where xx is your assigned two-digit number for this course.
Note the upper-case P.

Assignment 20

Due Thursday, April 7
Chapter 12: Problem 35(e)
Chapter 12: Problem 36(d)
Report the percentage savings in the number of cycles in the documentation of the microprogram. Name your files xxProb1235e.pepcpu and xxProb1236d.pepcpu where xx is your assigned two-digit number for this course.
Note the upper-case P.

Lab 6

First Lab 6 day Friday, April 8
Arithmetic Logic Unit
Lab 5 due

Assignment 21

Due Monday, April 11
Study Chapter 12.3, 12.4
Chapter 12: Exercises 6, 7, 8, 11
Type your solutions in a text editor and export as a .pdf file. Name your file xxA21written.pdf where xx is your assigned two-digit number for this course. Submit your file on Courses.

Assignment 22

Due Thursday, April 14
Chapter 12: Exercises 14, 15, 16
Use the smallest number of cycles. Note that 12.16 can be done in three cycles.
For the machine language, do not put a space between each four bits. Instead, put a space between each field of the instruction as in Example 12.3.
Type your solutions in a text editor and export as a .pdf file. Name your file xxA22written.pdf where xx is your assigned two-digit number for this course. Submit your file on Courses.

Notice
Friday, April 15, last day to withdraw with grade of WP/WF.

Assignment 23

Due Monday, April 18
Study Chapter 3.5
Extra credit, study Chapter 9.4, 9.5
Chapter 12: Exercises 17(a), 18, 20
Type your solutions in a text editor and export as a .pdf file. Name your file xxA23written.pdf where xx is your assigned two-digit number for this course. Submit your file on Courses.

Assignment 24

Due Thursday, April 21
Chapter 12: Exercises 22, 25
Chapter 3: Exercises 50, 51, 52(a, b, c), 53(a, b, c)
Here is a worksheet for Exercise 12.22.

Assignment 25

Extra credit
Due Friday, April 22
Chapter 9: Exercises 12, 13, 15, 16
Type your solutions in a text editor and export as a .pdf file. Name your file xxA25written.pdf where xx is your assigned two-digit number for this course. Submit your file on Courses.

Final

Monday, April 25, 4:30 p.m. - 7:00 p.m.
Cumulative, but with emphasis on material after Test 2.