Computer Organization

Spring Semester, 2024

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 19
First day of Lab 2: February 2
First day of Lab 3: February 16
First day of Lab 4: March 8
First day of Lab 5: March 22
First day of Lab 6: April 5

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

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.
RISC V Guns for Raspberry Pi, Lucas Laursen, IEEE Spectrum, September, 2022.
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.
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.
Future Computers: Digital, Quantum, Biological, Philip Treleaven, IEEE Computer, August 2021.
The Case Against Quantum Computing, Mikhail Dyakonov, IEEE Spectrum, March 2019.
Quantum Algorithm Implementations for Beginners, J. Abhijith, ACM Trans. Quantum Comput., Vol. 3, No. 4, Article 18,July 2022.
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 must hand in your written assignments 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 11
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 15, Martin Luther King Day holiday

Assignment 2

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

Lab 1

Lab 1 day Friday, January 19
Basic Logic Gates

Assignment 3

Due Monday, January 22
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 25
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 29
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 1
Study Chapter 11.1
Chapter 10: Exercises 53, 54(c)
See errata for Exercise 54, electronic edition.

Lab 2

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

Assignment 7

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

Assignment 8

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

Test 1

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

Assignment 9

Due Thursday, February 15
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

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

Assignment 10

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

Assignment 11

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

Notice
Monday, February 26 - Friday, March 1
Spring break

Assignment 12

Due Monday, March 4
Chapter 11: Exercise 19

Assignment 13

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

Lab 4

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

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

Assignment 14

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

Assignment 15

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

Assignment 16

Due Monday, March 18

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 21
Chapters 11, 12.1 through page 704 The Store Byte Direct Instruction, Labs 2, 3

Lab 5

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

Assignment 17

Due Monday, March 25
Start working on Assignment 18.

Assignment 18

Due Thursday, March 28
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 1
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 4
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

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

Assignment 21

Due Monday, April 8
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 11
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 12, last day to withdraw with grade of WP/WF.

Assignment 23

Due Monday, April 15
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 18
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 19
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 22, 4:30 p.m. - 7:00 p.m.
Cumulative, but with emphasis on material after Test 2.