Download CS271 Computer Architecture and Assembly Language Syllabus and more Study notes Computer Science in PDF only on Docsity! C S271 • C O M PU TER A R C H ITEC TU R E A N D A SSEM BLY LA N G U A G E – Bruce D ’A m brosio - 107 D earborn, 7-5563 • dam brosi@ cs.orst.edu – A rvind G uruprasad, guruprar@ cs.orst.edu – Text: Tannenabum , Structured C om puter O rg. 4 ed. Syllabus • Functional organization of digital com puters. – C om ponents, Logic-level, M icroA rchitecture, ISA • O S & A ssem bly language – addressing, stacks, argum ent passing, arithm etic operations, decisions, m acros, m odularization, linkers and debuggers. • Prereq: C S 161, M TH 231 • W ritten H om ew ork: w eekly, 10% • Program m ing: 10% (2 assignm ents ?) • 2 Q uizzes: 5% each • 2 M idterm s: 15% each • Final: 40% The Difference Engine
Ada Lovelace
Memory
| | Input
Arithmetic
Control logic unit
uni ae
——| DC oFy—— [Output
i.
f
Accumulator
EN IA C Von Neumann and IAS
U
Input
_| Arithmetic
Control logic unit a
unit a
—— =| Output
7
Accumulator
IBM 360 •M icroprogram m ed •Fam ily •M ultiprogram The V LSI revolution • 4004 • 8008 • 8080 • 8088 • 8086 • 80286 • 80386 • 80486 • Pentium • PII • PIII • PIV • … Exponential G row th • M achine code • Single-thread O S • M ulti-thread • O n-line • G raphical U I • M ulti-m edia • V irtual R eality (?) D igital Logic Level • Logical A bstraction of physical hardw are • Basic elem ents are gates. • H ow are gates com posed? M icroA rchitecture • R egisters • D atapaths • Functional U nits – A LU • First view of entire m achine - sort of Instruction Set A rchitecture • Instruction-visible registers • Instruction-view of storage • Instruction- available operations • Instruction w ord form at A ssem bly Language Level • Sym bolic language – K eyw ords – N am e m anagem ent – Pseudo-O perations • M eta-language – m acros 000010 100001 111001 001100 Limit: WORD 2 A: ADD R1, R0 CMP R0, Limit BLT A Basics of softw are developm ent • Program developm ent environm ent – A ssem bler – Linker – Loader – D ebugger