CC 311 Computer Architecture Chapter 1 Computer Abstraction
CC 311 Computer Architecture Chapter 1 Computer Abstraction & Technology
Topics n n n Introduction to changes in SW & HW Moore’s law Language evolution Components of a computer Instruction set architecture (ISA) 2
Introduction “Civilization advances by extending the number of operations which can be performed without thinking about them” Alfred North Whitehead An Introduction to Mathematics, 1911 3
Technology Changes Rapidly n HW n n n Vacuum tubes: Electron emitting devices Transistors: On-off switches controlled by electricity Integrated Circuits( IC/ Chips): Combines thousands of transistors Very Large-Scale Integration( VLSI): Combines millions of transistors What next? SW n n n Machine language: Zeros and ones Assembly language: Mnemonics High-Level Languages: English-like Artificial Intelligence languages: Functions & logic predicates Object-Oriented Programming: Objects & operations on objects 4
Technology Advances Rapidly n Processor Logic capacity: Clock rate: ~ 30% / yr ~ 20% / yr n DRAM capacity: Memory speed: Cost per bit: ~ 60% / yr ~ 10% / yr ~ 25% / yr n Capacity: ~ 60% / yr n n n Memory n n n Disk 5
Moore’s Law n Definition: n Tech. Dictionary n n The logic density of silicon has approximately doubled every year since the invention of the silicon chip. This means the amount of information that can be stored on a chip of the same size doubles every year. Another formulation is that the speed of new computers doubles every year and a half 6
Moore’s Law 7
Virtuous Circle n A result of Moor’s law Advances in technology Competition New market & companies Low prices & better products New applications 8
Laws of Software n Tannenbaum: “Software is a gas. It expands to fill the container holding it” n Meaning: n n Niklaus Wirth: n n SW continues to acquire features that demand faster processors, bigger memories, & more i/o capacities “Software gets slower faster than hardware gets faster” More important laws: n http: //www. sysprog. net/quotlaws. html 9
Program Performance n Performance in the 1970’s: n n Minimize memory space to make programs fast Performance now: n Performance depend on efficient algorithms, compilers, & computer hardware n n n Memory in hierarchical structure (Cache, …) Parallel processors Programmers need to more knowledge of computer organization 10
Program Performance Component Effect on performance Where is this covered Algorithm Determines number of source code statements & I/O operations Data Structures Course Programming language, Compilers, & Architecture Determine number of machine instructions Ch 2 & 3 Processor & memory Determine how fast instructions can execute Ch 4, 5, 7 I/O system (HW & OS) Determines how fast I/O operations may be executed Ch 6 11
Below Your Program n Several software layers are organized in hierarchical fashion n In complex applications there could be multiple layers of application software 12
Another HW/SW Hierarchy n (Tannenbaum) Application programs Symbolic Problem-oriented language(HLL) level Translation (Compiler) Assembly language level Translation (Assembler) Operating system machine level Partial interpretation( OS) Systems programs Numeric Instruction set architecture(ISA) level Interpretation (microprogram) or direct execution Micro-architecture level Hardware Digital logic level Device (transistor) level 13
Language Evolution n n n Machine language Assembly language High-level languages Subroutine libraries There is a large gap between what is convenient for computers & what is convenient for humans Translation/Interpretation is needed between both 14
Language Evolution 15
Organization vs. Architecture n Architecture Specification n n Attributes visible to the programmer Attributes: n n n Instruction set Number of bits representing data I/O mechanism Addressing modes used Has direct impact on logical program execution 16
Organization vs. Architecture n Organization Implementation n n Operational units and their interconnection that realizes the architecture Attributes: n n HW details Control signals I/O interfaces Memory technology used 17
Computer Components 18
Memory Categories n Volatile memory n n n Loses information when power is switched-off RAM Non-volatile memory n n n Keeps information when power is switched-off Optical & magnetic disks Magnetic tape Disk with 10 disk platters and read/write heads 19
Volatile Memory Types n Cache: n Fast but expensive n Smaller capacity n Placed closer to the CPU Cach e mem ory Memory slots Power socke Keyboard socket Interface slots: Display Card Sound Card Modem Card processor n Main memory n Less expensive n More capacity n Slower 20
Non-volatile Memory Types n Secondary memory n n Low cost Very slow Unlimited capacity Types n n n Diskettes CD-ROMS Hard disk Flash Drives Who knows what comes next? ? 21
Input-Output (I/O) n I/O devices have the hardest organization n Wide range of speeds n n Graphics vs. keyboard Wide range of requirements Speed n Standard n Cost. . . n n Least amount of research done in this area 22
Instructions n Instruction: n Webopedia n n A basic command. The term instruction is often used to describe the most rudimentary programming commands. For example, a computer's instruction set is the list of all the basic commands in the computer's machine language Instruction set: n Complete set of instructions used by a machine 23
Instruction Set Architecture (ISA) n n n Specification Abstract interface between the HW and lowestlevel SW. Encompasses information needed to write machine-language programs including n n Instructions Memory size Registers used. . . 24
Instruction Set Architecture (ISA) n n n ISA is considered part of the SW Several implementations for the same ISA can exist Modern ISA’s: n n n n 80 x 86/Pentium/K 6 Power. PC DEC Alpha MIPS SPARC HP Athlon We are going to study MIPS 25
- Slides: 25