1 Intro To Computer Architecture
1 Intro To Computer Architecture
Computer Architecture
Md E Haque [email protected]
01:198:211
Me:
Md E Haque
[email protected] Office Hour: TBD (HLL 204)
Rutgers University
Course Web
Course Material
Course information:
Required
http://www.cs.rutgers.edu/~mdhaque/teaching.html Announcements, course material, assignment hand-in, etc. If you are registered, when you login to Sakai using your netid, you should see a tab 01:198:211:F6 Su13
Bryant and OHallaron. Computer Systems: A Programmers Perspective, 2nd edition. Addison-Wesley, 2011.
Sakai: https://sakai.rutgers.edu
Recommended
http://en.wikibooks.org/wiki/C_Programming Kernighan and Ritchie. The C Programming Language, 2nd Edition, Prentice Hall, 1988. A free online C book: http://publications.gbdirect.co.uk/c_book/
Rutgers University
Rutgers University
Prerequisite: 198:112
some math a bit about algorithms at least one programming language (Java) something about how to write, run, and test programs
How to program in two more programming languages (C and Assembly) The major hardware components in computer systems
How hardware components are built from digital logic How programs written in a high-level language (e.g., C) is actually executed by the hardware How to understand and improve the performance of programs
Rutgers University
Rutgers University
Course Expectations
No Late Assignments
3 programming assignments 3 paper & pencil homework assignment 1 midterm and 1 final exams Attend lectures and recitations
Assignments will not be accepted after deadline passes Can hand-in assignments multiple times so if you are working at the last minute, hand-in a version early (e.g., hour before deadline)
Read the assigned readings before lecture Read and think about the programming and homework assignments
Rutgers University
Rutgers University
Collaboration is encouraged
Introduction
You learn by discussing with others BUT, must not cheat We hate it, we will not tolerate it, we will look for it If we find cheating, everyone involved will be punished
Hardware trends
Cheating
Departments academic integrity policy: http://www.cs.rutgers.edu/policies/academicintegrity/ Come talk to me I will help you if I can
Compiling
If you are having trouble with the course for any reason
Corollary: once cheating has occurred, theres nothing I can do to help you avoid the consequences
Rutgers University
Rutgers University
10
Programming Assignments
Grading
Grading:
Dont wait until the last minute Learn how to use tools http://ilab.rutgers.edu
If you dont already have an account, get one asap You can use Eclipse and/or the gnu tools (gcc, gmake, gdb, etc.)
Must inform instructor before the exam Informing professor ok to take make-up
Rutgers University
11
Rutgers University
12
Computer Architecture
Main Components
Human Interface
Rutgers University
13
Rutgers University
14
FETCH[PC++]
+ * /
N
DECODE
PC
EXECUTE
Rutgers University
15
Rutgers University
16
Input/Output
Memory CPU 0 1 2 3 4 5 6 7 8 9 Devices: Input: mouse, keyboard Output: screen, speaker Storage: disk, tape Graphics Networking
High-Level Language Program Compiler Assembly Language Program Assembler Machine Language Program
ISA
+ * /
N
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 02 00 03 00 01 00 00 00 f0 82 04 08 34 00 00 00 c4 0c 00 00 00 00 00 00 34 00
Rutgers University
17
Rutgers University
18
In Practice
CPU Register file PC ALU System bus Memory bus
OS
Bus interface
I/O bridge
Hardware
Hardware
I/O bus USB controller Mouse Keyboard Graphics adapter Display Disk controller
Apps typically runs directly on hardware. Will switch over to OS when need help.
Actually, 1st picture is used frequently because OS does extend the hardware, making the hardware appear more powerful through abstractions such as processes, threads, virtual memory, files, etc.
19 Rutgers University 20
Input
Rutgers University
Output
Disk
Computer Architecture
How to design and build the components How to design and build systems from the components In this class:
Understand basics of current components and systems Understand how programs run on current systems Understand how current architecture affect my high-level language programs
Gordon Moore was an Intel Engineer An observation about improvements in hardware No. of transistors on a chip double every 18 months Exponential growth seen in other hardware dimensions
Processor speed: 2x every 18 months Memory capacity: 2x every 2 years Disk capacity: 2x every year
Rutgers University
21
Rutgers University
22
Clock speed
Rutgers University
23
Rutgers University
24
Processor Performance
2x every 18 months
Memory Capacity
Rutgers University
25
Rutgers University
26
Disk Capacity
Proc 60%/yr.
registers, caches
28
Rutgers University
27
Rutgers University
Power Wall
Rutgers University
29
Rutgers University
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
30