Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
EEL 4713/EEL 5764 Computer Architecture Required Textbook: Computer Organization & Design, by Patterson and Hennessy, 2nd Ed. Spring Semester 2004 Instructor: Dr. Shonda Walker Chapter 1 Computer Abstractions and Technology • Computers have led to the information revolution or technological movement. • Technologies used in computers (Fig. 1.13 in text): Vacuum Tubes (1951) Transistor (1965) IC (1975) VLSI (1995) • Computer technology (in terms of memory capacity and processor speed) is a rapidly changing field quadrupling every 3 years! (aka The DRAM Growth Rule 4 times every 3 years). EEL 4713/EEL 5764 S. Walker 2 Chapter 1 Computer Abstractions and Technology • Innovative computer systems have led to the development of applications that until recently were economically infeasible: • Automatic Teller Machines (ATMs) • Laptop Computers • The Internet • Computer performance has been a primary concern for computer architects and programmers (memory versus speed). EEL 4713/EEL 5764 S. Walker 3 Chapter 1 Computer Abstractions and Technology • Major goals of this text: 1. To understand how computers work by understanding machine language; 2. To understand the internal organization of computers; 3. To identify and evaluate performance metrics for a computers and their programs; EEL 4713/EEL 5764 S. Walker 4 Chapter 1 What is a computer? Computer Abstractions and Technology Inside a computer (The Big Picture) Five Classic Components of a Computer (based on the Von Neumann model) Memory where programs are kept when they are running; also contains data needed by programs Control Datapath one of two components of processor that performs arithmetic operations Input Devices devices that supply input to the computer such as the keyboard and the mouse Datapath Output Devices devices, such as printer and monitor, that convey the result of a computation to the user Memory Control one of two components of processor that tells memory, datapath, and I/O devices what to do Input Output 5 Chapter 1 Computer Abstractions and Technology • Computers communicate using machine language which is a binary representation of electrical signals (1 and 0). • Binary digits are known as bits. • Since computers only follow commands, we say the individual commands are called instructions. For example: 1000110010100000 is an instruction that tells a computer to add two numbers (more in chapter 3). EEL 4713/EEL 5764 S. Walker 6 Chapter 1 Computer Abstractions and Technology • Bits are used to represent both instructions and data. • Initially only binary numbers are used to design and program computers, however this became tedious. Hence, the development of assembly language and high-level programming languages. • The notion of low-level and high-level programming is a common approach to hardware and software system design. • A system that consists of hierarchical layers with each lower layer hiding the details from the layer above it is known as abstraction. EEL 4713/EEL 5764 S. Walker 7 Chapter 1 Computer Abstractions and Technology • Levels or layers of Abstraction can be though of as the highest “user” level to the lowest level (transistor level). • Separability is the key to effective computer abstraction. For example, if you run Microsoft Word or some other word processing program, you don’t need to know anything about the inner-workings of its programming. • Exploiting separability supports the development of upwardly-compatible machines (allows a user to upgrade to a faster, more capable machine without rewriting the software the runs on the less capable machine) EEL 4713/EEL 5764 S. Walker 8 Chapter 1 General Levels of Abstraction Highest Level User Level – Applications Programs High-level Languages Assembly Language/Machine Code Mircoprogrammed/Hardwired Control Functional Units (memory, ALU, etc.) Logic Gates Lowest Level Transistors and Wires EEL 4713/EEL 5764 S. Walker 9 Chapter 1 Instruction Set Architecture Computer Abstractions and Technology The programmer’s view of computer technology deals primarily with the instruction set architecture and functional units of the machine. The computer architect views the system at all levels. He/She focuses on parameters that affect the design of a computer emphasizing performance requirements and cost constraints. Our focus EEL 4713/EEL 5764 S. Walker 10 Chapter 1 Computer Abstractions and Technology Example High-level Language (in C) A+B (High-level Instruction) Compiler Assembly Language Program add A, B (Assembly Language Statement) Assembler 1000110010100000 (Binary Instruction) Binary Machine Language EEL 4713/EEL 5764 S. Walker 11 Chapter 1 Computer Abstractions and Technology • The remainder of the semester: – – – – – – – – Chapter 2: Performance and Cost Analysis Chapter 3: Instruction Set Architecture Chapter 4: Computer Arithmetic and building an ALU Chapter 5: Controller and Datapath Systems Chapter 6: Pipelining Chapter 7: Memory Hierarchy Chapter 8: Input/Output Systems Chapter 9: Multiprocessors EEL 4713/EEL 5764 S. Walker 12 Chapter 1 Take-home Quiz #1 Briefly (no more than 1 page) discuss the history of computers include a description of the Von Neumann architecture and its main components. Due next class period: Monday January 12, 2004 EEL 4713/EEL 5764 S. Walker 13