CMPS 2240 Computer Architecture I: Assembly Language
(4)
Introduction to computer architecture and assembly language programming.
Covers number systems and data representation,
CISC and RISC instruction set architectures, internal organization
of a computer, and basics of logic design.
Prerequisite: CMPS 2010.
Programming skill in a high level language such as C/C++/Java.
4 semester units. 3 units lecture, 1 unit lab.
Required for CE, CS and EE.
Computer Organization & Design: The Hardware/Software
Interface by David Patterson & John Hennessey;
4th Ed. The course relies on Appendix B and Appendix C.
Appendix B (called Appendix A in earlier editions)
is available online.
Additional material will be available online.
Donna Meyers
This course covers the following ACM/IEEE Body of Knowledge student learning
outcomes:
CC-AR: Architecture and Organization
CE-CAO: Computer Architecture and Organization
The course maps to the following performance indicators for
Computer Science (CAC/ABET) and Computer Engineering (EAC/ABET) and
Electrical Engineering (EAC/ABET):
- (CAC PIb1): Identify key components and algorithms necessary for a solution.
- Take-home final project.
- (CAC PIb2): Produce a solution within specifications.
- Take-home final project.
- (CAC PIc4): Implement the designed solution for a given problem.
- Take-home final project.
- (CAC PId4, EAC PId4): Meet deadlines and achieve project goals.
- Take-home final project.
- (EAC PIc1): Follow systematic and logical design procedures and
define specifications to meet project requirements.
- Take-home final project.
Week 01 |
operations on binary, octal and hexadecimal numbers |
Week 02 |
arithmetic, shift & rotate operations |
Week 03 |
subroutine linkage & call frames |
Week 04 |
instruction encoding, jumps & branches |
Week 05 |
program optimization |
Week 06 |
logical and bit-field operations & condition testing |
Week 07 |
multiplication, division, branch delay slot |
Week 08 |
intro to x86-32 |
Week 09 |
intro to x86-64 |
Week 10 |
x86-64 code optimization |
Week 11 |
system coding with x-86 assembly |
Week 12 |
gates, truth tables, and logic equations |
Week 13 |
constructing a basic arithmetic logic unit |
Week 14 |
clocks & timing methodologies |
Week 15 |
flip-flops, latches, and registers |
A 90%
B+ 87%
Lab/Hw Assignments ........15% B 83%
Midterm 1 .................30% B- 80%
Midterm 2 .................30% C+ 75%
Final Project..............25% C 70%
C- 60%
D+ 55%
D 50%
D- 40%
F below 40%
EAC/CAC Math and Basic Sciences |
1 Credit Hour |
|
CAC Computing/EAC Engineering Topics |
2 Credit Hours |
Fundamental |
Donna Meyers on January 23, 2014
Approved by CEE/CS Department on January 31, 2014
Effective Wtr 2014