80 likes | 677 Views
Computer Organization and Assembly Language. Consists of Two Parts Computer organization Components in a computer How each component operates and how are they designed ? Hardware in low gate-level Assembly Language Language manipulating computer components
E N D
Computer Organization and Assembly Language • Consists of Two Parts • Computer organization • Components in a computer • How each component operates and how are they designed ? • Hardware in low gate-level • Assembly Language • Language manipulating computer components • Use MIPS in this course with a preview of Intel assembly • C = A+B • L $t1, A • L $t2, B • ADD $t3, $t1, $t2 • ST C, $t3 • Reference • David Patterson, John Hennessy, "Computer Organization and Design: The Hardware/Software Interface," 3rd ed., 2007 Morgan Kaufmann Pub • http://www.cs.uml.edu/~kim/203/HP_AppB.pdf
What are components in a computer ? • Hardware: Central Processing Unit (CPU) and Memory • Software: Operating System • A large program that manages hardware resources • Von Neumann Architecture • Stored-program (1943) • Keep program instructions • and data in the same memory • Self-modifying program • Control unit becomes the brain
CPU • Execute instructions • ALU (Arithmetic & Logic Unit), • Control Unit • Clock speed determines how • fast instructions can be • Word size (a.k.a. data width): • 32-bit vs. 64-bit • Memory • Random Access Memory (RAM) • Long-term memory (CD, flash, hard drive)
Boolean Algebra (Logic) • Developed by George Boole in 1840’s • A logical calculus of two values (F/T, 0/1,..) • Numerical operations replaced by logical operations • Boolean operation can be described by a truth table • x+y (addition) -------------- x+y (x ^ y: disjunction, or) • xy (multiplication) --------- xy (x y: conjunction, and) • -x (negation) ---------------- ^x (complement) • F 0 1 • ------------------------- • 0 0 0 • 1 0 1