Computer Organization and Logic design COS3602 Architecture & Organization 1 Architecture is those attributes visible to the programmer Instruction set, number of bits used for data representation, I/O mechanisms, addressing techniques. e.g. Is there a multiply instruction? Organization is how features are implemented Control signals, interfaces, memory technology. e.g. Is there a hardware multiply unit or is it done by repeated addition? Structure & Function Structure is the way in which components relate to each other Function is the operation of individual components as part of the structure Function All computer functions are: Data processing Data storage Data movement Control Functional view Functional view of a computer Data Storage Facility Data Movement Apparatus Control Mechanism Data Processing Facility Operations (1) Data movement e.g. keyboard to screen Data Movement Apparatus Data Storage Facility Control Mechanism Data Processing Facility Operations (2) Storage e.g. Internet download to disk Data Movement Apparatus Data Storage Facility Control Mechanism Data Processing Facility Operation (3) Processing from/to storage e.g. updating bank statement Data Movement Apparatus Data Storage Facility Control Mechanism Data Processing Facility Operation (4) Processing from storage to I/O e.g. printing a bank statement Data Movement Apparatus Data Storage Facility Control Mechanism Data Processing Facility Structure - Top Level Peripherals Computer Central Processing Unit Computer Systems Interconnection Input Output Communication lines Main Memory Structure - The CPU CPU Computer Arithmetic and Login Unit Registers I/O System Bus Memory CPU Internal CPU Interconnection Control Unit Structure - The Control Unit Control Unit CPU Sequencing Login ALU Internal Bus Registers Control Unit Control Unit Registers and Decoders Control Memory Computer Architecture is the design of computer , including their instruction sets, hardware components, and system organization. The computer architecture consists of two parts; • Instruction set architecture (ISA) • Hardware system architecture (HAS) • The instruction set architecture : เป็ น การแสดงรายละเอียด Software/Hardware ที่ ้ ื่ มต่อทีอ ใชในการเช อ ่ ยูใ่ นระดับภาษาเครือ ่ งที่ โปรแกรมเมอร์มองเห็นได ้ รวมถึง • The instruction set • The instruction formats • The available addressing techniques • The format of the available data types • The Operational register set and usage The hardware system architecture : บางครัง้ ก็อ ้างถึงโครงสร ้างทางคอมพิวเตอร์ เป็ น แนวคิดถึงฮาร์ดแวร์หลักของคอมพิวเตอร์รวมถึง CPU , Memory , และ I/O devices สว่ นของ Hardware system architecture รวมทัง้ logical design และ data flow organization ของระบบ ิ ธิภาพการทางานของ ย่อยฮาร์ดแวร์ตา่ งๆและประสท ระบบคอมพิวเตอร์ เราจะพิจารณาดังนี้ • เทคโนโลยี • ความเร็ว • ราคา ฯลฯ Computational Models Two primary computational models Von Neumann Model System Bus Model The Von Neumann Model consists of five major subsystems (input, output, control, arithmetic, memory) The System Bus Model streamlines this into three subsystems (CPU, memory, IO) Von Neumann Model Memory Unit Data Path Input Unit Arithmetic and Logic Unit (ALU) Control Unit Control Path Output Unit System Bus Model CPU (ALU, Registers, and Control) Memory Input and Output Data Bus Address Bus Control Bus Computational Models Consider the implications of these alternative designs Design 1: Central processor with special cabling to specialized devices Design 2: Multi-bus with common parsing of data and control packets for device-ids Introduction to Computer Architecture History Computational Models >> Levels of the Machine Computer System Metaphor Levels of the Machine 1. Individual electrical components Transistors Resisters Capacitors 2. Circuit boards 3. Specialized devices Power supply Cooling fan Levels of the Machine 4. Specialized components Graphics accelerator Memory banks 5. Mother board CPU Battery Plug-in expansion card slots Specialized components Connector for power supply Levels of the Machine 6. 7. 8. 9. Operating system and device drivers Machine language Compilers and interpreters High-level languages Java C++ Visual Basic Microsoft Excel (?) Levels of the Machine 10. 11. 12. 13. 14. 15. 16. Single-user applications Network components and software Multi-user centralized applications Internet connection devices and s/w Internet utilities (global / specific) Web connection devices and s/w Web utilities (global / general) Introduction to Computer Architecture History Computational Models Levels of the Machine >> Computer System Typical Computer System Hard Disk Floppy Disk Tape Backup Random Access Memory Central Processing Unit Graphics Accelerator Card Keyboard Monitor Printer Computer System The intent of the following slides is to remind us to ask, when studying any computer component, “What problem is this intended to solve?” Digital Computers Computer Structure Digital Computers Basic Structure memory unit: stores programs, input, output, data processor unit: performs arithmetic and other data-processing operations, as specified by the program control unit: supervises the flow of information between units (CPU = control unit + data path) input device: key board output device: CRT, LCD More FPU (floating-point unit) MMU (memory management unit) (Memory: MMU + internal cache + external cache + RAM) Classification of Computer Architectures Von Neumann Machine ้ น ระบบคอมพิวเตอร์ทส ี่ ร ้างขึน ้ มาโดยใชพื ้ ฐานการ พัฒนามาจาก John von nuemenn ผู ้ทีอ ่ อกแบบ ระบบคอมพิวเตอร์ IAS ( Institute for Advanced Studies) คอมพิวเตอร์ ที่ Princeton University in the 1940’s Von Neumann Machine สถาปั ตยกรรมของ Von nuemann มีคณ ุ สมบัต ิ ดังนี้ • มีระบบฮาร์ดแวร์พน ื้ ฐาน 3 ชนิดคือ • CPU • Main memory • I/O system • โปรแกรมและข ้อมูลจะจัดเก็บไว ้ใน หน่วยความจา •โปรแกรมและข ้อมูลจะจัดเก็บไว ้ในหน่วยความจา ้ หมายความว่าชุดคาสงั่ ทีใ่ ชในการจั ดการข ้อมูลจะ อยูใ่ นหน่วยความจาเดียวกัน ้ กซ ค ี วิ สจ ์ ะทางานเรียงตามลาดับ • ชุดคาสงั่ ทีใ่ ชเอ็ ยกเว ้นคาสงั่ ข ้ามการทางาน • จะมีทางผ่านข ้อมูลทางเดียวระหว่าง หน่วยความจากับหน่วยควบคุมของ CPU จะทาให ้ ิ ธิภาพการทางานเป็ นแบบ Bottleneck ประสท The major subsystems within the CPU are: •The control unit (CU) • The arithmetic and logic unit (ALU) • A register set Von Neumann Model Input Unit Memory Unit Input Unit Arithemtic and Logical Unit (ALU) Control Unit Provides instructions and data to system Output Unit Von Neumann Model Output Unit Memory Unit Input Unit Arithemtic and Logical Unit (ALU) Control Unit Returns data from system Output Unit Von Neumann Model Memory Memory Unit Input Unit Arithemtic and Logical Unit (ALU) Control Unit Storage for instructions and data Output Unit Von Neumann Model ALU Memory Unit Input Unit Arithemtic and Logical Unit (ALU) Control Unit Processes data Output Unit Von Neumann Model Control Unit Memory Unit Input Unit Arithemtic and Logical Unit (ALU) Control Unit Directs processing Output Unit Von Neumann Model CPU Memory Unit CPU Input Unit Arithemtic and Logical Unit (ALU) Control Unit Output Unit ALU and Control Unit combined System Bus Model Memory Input & Output (I/O) System Bus CPU (ALU, Registers, & Control) Data Bus Address Bus Control Bus Streamlined version of von Nuemann model Data Bus Address Bus Control Bus Power Bus (optional) System Bus Model System Bus CPU (ALU, Registers, & Control) Memory Input & Output (I/O) Data Bus Address Bus Control Bus Data Bus Carries the information being transmitted Sometimes implemented as data-in and data-out buses System Bus Model Memory Input & Output (I/O) System Bus CPU (ALU, Registers, & Control) Data Bus Address Bus Control Bus Address Bus Identifies where the information is being sent “Memory” address identifies read/write location System Bus Model System Bus CPU (ALU, Registers, & Control) Memory Input & Output (I/O) Data Bus Address Bus Control Bus Control Bus Describes aspects of how the information is being sent, & in what manner