Computer Systems Introduction PDF

Summary

This document provides an introduction to computer systems, covering topics such as the basic components of a computer, the difference between computer architecture and computer organization, and the evolution of computer systems. It also touches on important concepts like Moore's Law and emerging technologies.

Full Transcript

TTTK 1153 Computer Organization & Architecture Topic 1: Introduction to Computer System Ts. Dr. Mohd Nor Akmal Khalid Topic Overview ❑ Understand the basic components of a computer system ❑ Distinguish between Computer Architecture and Computer Organization ❑ Explore the evolution of computer...

TTTK 1153 Computer Organization & Architecture Topic 1: Introduction to Computer System Ts. Dr. Mohd Nor Akmal Khalid Topic Overview ❑ Understand the basic components of a computer system ❑ Distinguish between Computer Architecture and Computer Organization ❑ Explore the evolution of computer systems focusing on technological advancements (Moore's Law, etc.) ❑ Discuss key components and their relevance to emerging technologies 2 Introduction: Why? Essential for efficient software development ▰ Resource utilization: knowing how CPU caches work can help in designing data structures and algorithms that minimize cache misses, significantly improving performance ▰ Optimization technique: understanding SIMD (Single Instruction, Multiple Data) instructions can lead to more efficient implementations of data-parallel algorithms ▰ Memory management: Understanding memory hierarchy and management helps in writing programs that use memory more efficiently 3 Introduction: Why? Crucial for optimizing system performance ▰ Hardware-Software Co-design: graphics engines in games are often optimized for specific GPU architectures ▰ Bottleneck Identification: recognizing if a program is CPU-bound, memory-bound, or I/O-bound ▰ Efficient algorithm: choosing between different sorting algorithms based on data size and hardware characteristics ▰ System tuning: configuring operating systems, databases, and web servers to best utilize the underlying hardware 4 Introduction: Why? Basis for understanding emerging technologies ▰ New computing paradigms like quantum, neuromorphic, or DNA-based computing. ▰ Evolving architectures like the significance and potential of new architectural solutions (edge computing, IoT) or designs (such as ARM's big.LITTLE, Apple's M1 chip) ▰ Specialized hardware like TPUs (Tensor Processing Units) for AI or FPGAs (Field- Programmable Gate Arrays) for custom acceleration. ▰ Advanced memory technologies like HBM (High Bandwidth Memory) or persistent memory. ▰ Security implications like Spectre and Meltdown are deeply rooted in architectural details of processors. 5 The Computer Systems 6 What is a Computer System? ▰ Definition: An integrated set of hardware and software components that process data, store, and manage data/control information. ▰ Major components ▻ Hardware: physical components of the computer ▻ Software: programs and data ▰ Real-World Example: ▻ A smartphone processes data (apps, videos) using software (OS, apps) and hardware (processor, memory). 7 Layers of Abstraction in a Computer System ❑ Abstraction simplifies complex systems into manageable layers like hardware, operating system (OS), software. ❑ Defines and isolate a layer in terms of functions / interfaces. ❑ Allows focus on a specific level without worrying about lower-level details ❑ Helps define a single architecture that can be implemented with more than one organization 8 Layers of Abstraction in Computer System Layer Function Components Real-World Example Hardware Physical components of a Electrons flowing through circuits, CPU, Memory, I/O computer voltages, and physical Devices connections Firmware Basic hardware control A bridge between raw hardware BIOS (Basic Input/Output and higher-level software System) or UEFI (Unified Extensible Firmware Interface), Drivers Assembly Human-readable machine Assembly instruction corresponds SPIM, X86 (architecture Language instructions to a single machine instruction dependent) Operating Manages hardware- Process & memory management, Windows, macOS, Linux System Layer software interactions file system, user interface High-Level High-level languages Portability, libraries and Python, Java, C++, etc. Language compiled or interpreted to frameworks, algorithm and logic run on a machine Application User-level software Written in high-level languages YouTube apps, Chrome running on OS and have graphical user browser, Word interfaces, ease of use by end- processors users with no knowledge of the 9 underlying systems Architecture vs. Organization ▰ Architecture ▻ Conceptual structure and behavior. ▻ The “what” of computer design ▰ Organization ▻ Physical implementations of the architecture. ▻ The “how” of computer design Aspect Architecture Organization Focus Logical execution of programs Hardware implementation of architecture Audiences Programmer, software developers Hardware designers, engineers Example Instruction sets, memory ALU, Control Units, I/O systems management Real-World Car design plan Physical assembly of the car Scenarios 10 Interplay between Architecture & Organization ▰Architectural decisions influence organizational choices (i.e., specialized hardware) ▰Organizational capabilities can inspire new architectural features (i.e., parallel and multicore technologies) ▰Both evolve in response to technological advancements and market demands 11 Interplay between Architecture & Organization ▰Theory ▰Real life ▻ Organization ▻ incremental changes changes provide are very rapid (once incremental changes a year) in speed and cost for same software ▻ breakthrough changes are very ▻ Architecture changes costly (once a enable breakthrough decade) changes in speed and cost for new software 12 Think for A Moment… ▰ How does architecture & organization evolve in response to technological advancements and market demands (i.e., evolution of GPU utilities)? ▻ Initially, GPUs were designed with a fixed- function pipeline for graphics rendering (an architectural decision). ▻ As GPU hardware became more powerful and flexible (organizational advancements), architects recognized the potential for general-purpose computing on GPUs. ▻ This led to architectural changes, such as adding support for general-purpose programming models like CUDA or OpenCL. ▻ The market demand for AI and machine learning further influenced both architecture (adding tensor cores for matrix operations) and organization (optimizing memory hierarchies for deep learning workloads). 13 Von Neumann Architecture ▰ Proposed by John von Neumann in 1945 ▰ Key components: ▻ Memory Unit: Stores both data and instructions ▻ Control Unit: Manages instruction execution ▻ Arithmetic Logic Unit (ALU): Performs calculations ▻ Input/Output: Interfaces with external devices ▰ Characteristics: Source: By Kapooht - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=25789639 ▻ Stored program concept ▻ Sequential instruction execution ▻ Use of binary for all information 14 Families of Architectures IBM 360, 370, … PowerPC 601, 603, … DEC VAX, PDP-11 Intel x86: 286, 386, 486, Pentium, P4,… Intel IA64 Itanium 1 & 2 MIPS R2000, R3000, R4000, R5000,... SUN Sparc 15 The Hardware Components 16 Input/Output (I/O) Devices ▰ Input Devices ▰ Output Devices ▻ Monitor: Visual ▻ Keyboard: output (CRT, LCD, Alphanumeric input LED, OLED) ▻ Mouse: Pointing and ▻ Printer: Hard copy selection output ▻ Touchscreen: Direct ▻ Speakers: Audio manipulation interface output ▻ Microphone: Audio input ▻ Projector: Large- scale visual output ▻ Camera: Visual input ▻ Sensors: Environmental data input 17 Think for a moment… Virtual Reality (VR) headsets Touchscreen monitor Wireless Speakers 18 Central Processing Unit (CPU) The “brain” of the computer Key components:  Control Unit: Fetches and decodes instructions  Arithmetic Logic Unit (ALU): Performs calculations  Registers: Fast, small-capacity storage Functions:  Fetch, decode, and execute instructions  Perform arithmetic and logical operations  Coordinate with another component 19 CPU Organization (Typical Von Neumann Machine) 20 Memory Hierarchies ▰ Registers: Fastest, smallest capacity, inside CPU ▰ Cache: ▻ Very fast, small capacity, close to CPU ▻ L1, L2, L3 cache levels ▰ Main Memory (RAM): ▻ Fast, larger capacity ▻ Volatile storage for active programs and data ▰ Secondary Storage: ▻ Slower, largest capacity ▻ Non-volatile storage for long-term data 21 Storage Devices Hard Disk Drives (HDD): – Magnetic storage – Higher capacity, lower cost – Mechanical parts (slower access) Solid State Drives (SSD): – Flash memory storage – Faster access, more durable – Higher cost per GB Optical Drives (CD, DVD, Blu-ray): – Read/write using laser technology Tape Drives: – Sequential access, used for backups 22 The Software Components Middleware? 23 Operating Systems ▰ Manages hardware resources ▰ Provides user interface ▰ Key functions: ▻ Process management ▻ Memory management ▻ File system management ▻ I/O management ▻ Network management ▻ Security and protection ▰ Examples: Windows, macOS, Linux, iOS, Android 24 Application Software ▰ Programs for specific tasks ▰ Categories: ▻ Productivity software (word processors, spreadsheets) ▻ Web browsers ▻ Multimedia software ▻ Development tools ▻ Games and entertainment ▻ Enterprise software ▰ Examples: Microsoft Office, Google Chrome, Adobe Photoshop 25 Firmware ▰Software embedded in hardware ▰Stored in non-volatile memory (ROM, EEPROM, Flash) ▰Examples: ▻ BIOS (Basic Input/Output System) ▻ UEFI (Unified Extensible Firmware Interface) ▻ Device drivers ▻ Embedded system control software 26 Data Representation 27 Binary System ▰Base-2 number system (digits: 0 and 1) ▰Foundation of digital computing ▰Why binary? ▻Easy to represent with electronic switches ▻Less susceptible to noise and interference 28 Bits and Bytes ▰Bit: Smallest unit of data (0 or 1) ▰Byte: 8 bits ▻Can represent 256 different values (2^8) ▰Larger units: ▻Kilobyte (KB): 1,024 bytes ▻Megabyte (MB): 1,024 KB ▻Gigabyte (GB): 1,024 MB ▻Terabyte (TB): 1,024 GB 29 Text Representation ▰ASCII (American Standard Code for Information Interchange): ▻7-bit encoding (128 characters) ▻Includes letters, numbers, punctuation, control characters ▰Unicode: ▻Universal character encoding standard ▻UTF-8, UTF-16, UTF-32 implementations ▻Supports multiple languages and symbols 30 Number Systems ▰Binary (base 2): 0, 1 ▻Example: 1010 (binary) = 10 (decimal) ▰Decimal (base 10): 0-9 ▻Our standard number system ▰Hexadecimal (base 16): 0-9, A-F ▻Example: 1A (hex) = 26 (decimal) ▰Conversion between systems 31 Number System Conversion (1) Decimal to Binary Conversion Binary to Decimal Conversion ▰ Example: Convert 25 ▰ Example: Convert 1011 (Decimal) to Binary (Binary) to Decimal ▰ Divide by 2: ▰ Calculation: (1 × 2³) + (0 × ▻ 25 ÷ 2 = 12 R1 2²) + (1 × 2¹) + (1 × 2⁰) ▻ 12 ÷ 2 = 6 R0 ▰ Result: 8 + 0 + 2 + 1 = 11 ▻ 6 ÷ 2 = 3 R0 (Decimal) ▻ 3 ÷ 2 = 1 R1 ▻ 1 ÷ 2 = 0 R1 ▰ Read remainders bottom to top ▰ 25 (Decimal) = 11001 (Binary) 32 Number System Conversion (2) Decimal to Octal Octal to Decimal Conversion Conversion ▰ Example: Convert 58 ▰ Example: Convert 134 (Decimal) to Octal (Octal) to Decimal ▰ Divide by 8: ▰ Calculation: (1 × 8²) + (3 ▻ 58 ÷ 8 = 7 R2 × 8¹) + (4 × 8⁰) ▰ Result: 64 + 24 + 4 = 92 ▻ 7 ÷ 8 = 0 R7 (Decimal) ▰ Read remainders bottom to top: 58 (Decimal) = 72 (Octal) 33 Number System Conversion (3) Decimal to Hexadecimal Hexadecimal to Decimal Conversion Conversion ▰ Example: Convert 255 ▰ Example: Convert A3 (Decimal) to (Hexadecimal) to Hexadecimal Decimal ▰ Divide by 16: ▰ Calculation: (A × 16¹) + ▻ 255 ÷ 16 = 15 R15 (3 × 16⁰) (F) ▰ Convert A: A = 10 ▻ 15 ÷ 16 = 0 R15 (F) ▰ Result: (10 × 16) + 3 = 160 + 3 = 163 (Decimal) ▰ Read remainders bottom to top: 255 (Decimal) = FF 34 (Hexadecimal) Basic Computer Operations 35 Fetch-Decode-Execute Cycle ▰Fetch: Retrieve instruction from memory ▻Program Counter (PC) holds address of next instruction ▻Instruction loaded into Instruction Register (IR) ▰Decode: Interpret the instruction ▻Control Unit determines operation and operands ▰Execute: Perform the operation ▻ALU performs calculation or data manipulation ▻Results stored in registers or memory ▰Store: Write results back to memory if needed 36 Instruction Set Architecture (ISA) ▰Definition: Set of instructions a CPU can execute ▰Types of instructions: ▻Data transfer (load, store) ▻Arithmetic operations (add, subtract, multiply, divide) ▻Logical operations (AND, OR, NOT, XOR) ▻Control flow (branch, jump, call, return) ▰Common ISAs: ▻x86 and x86-64 (Intel, AMD) ▻ARM (mobile devices, embedded systems) ▻RISC-V (open-source architecture) 37 Evolution of Computer Systems 38 Moore’s Law ❑ Moore's Law predicts that the number of transistors on a chip doubles approximately every two years, leading to faster and cheaper processors. ❑ It is an observation about the pace of technological progress, not a physical law of nature. ❑ It has held true for over 50 years, with transistor counts doubling roughly every 18- 24 months. ❑ It has enabled the rapid growth of computing power and the miniaturization of electronic devices. ❑ It has been a driving force behind the development of faster, cheaper, and more powerful computers and other electronic 39 devices. Moore’s Law 40 Moore’s Law ▰Implications: ▻ Exponential increase in computing power ▻ Miniaturization of devices ▻ Reduction in cost per transistor ▰Now, slowing down due to physical limitations 41 Evolution of Computer Systems ▰The evolution of computers is a fascinating journey that spans several decades, marked by significant technological advancements and paradigm shifts. ▰This evolution can be categorized into distinct generations, each characterized by different technologies, architectures, and functionalities. 42 First Generation (1940-1956) ▰Technology: Vacuum tubes ▰Characteristics: ▻ Large, expensive, and consumed a lot of power. ▻ They were primarily used for scientific calculations. ▰Examples: ENIAC, UNIVAC 43 Second Generation (1956-1963) ▰Technology: Transistors ▰Characteristics: ▻ Smaller, more reliable, and energy-efficient compared to vacuum tubes. ▻ They allowed for the development of more complex applications. ▰Examples: IBM 7094, CDC 1604 44 Third Generation (1964-1971) ▰Technology: Integrated Circuits (ICs) ▰Characteristics: ▻ Further miniaturization of components led to increased speed and efficiency. ▻ Computers became more accessible to businesses. ▰Examples: IBM System/360, PDP- 8 45 Fourth Generation (1971-Present) ▰Technology: Microprocessors ▰Characteristics: ▻ The introduction of microprocessors allowed for the development of personal computers. ▻ This generation saw the rise of user-friendly interfaces and widespread adoption. ▰Examples: Intel 4004, Apple II, IBM PC 46 Fifth Generation (Present and Beyond) ▰ Technology: Artificial Intelligence (AI) and Quantum Computing ▰ Characteristics: ▻ Focus on AI development, machine learning, and quantum computing. ▻ These technologies aim to create systems that can learn and adapt. ▰ Examples: IBM Watson, Google’s Quantum AI 47 Key Milestones in Computer Evolution ❑ Invention of the Microprocessor (1971): Revolutionized personal computing by integrating all computer functions onto a single chip. ❑ Development of the Internet (1960s- Present): Transformed communication and information sharing globally. ❑ Introduction of Graphical User Interfaces (1980s): Made computers more accessible to non-technical users. ❑ Advancements in Mobile Computing (2000s): Led to the proliferation of smartphones and tablets. 48 Current Trends and Future Directions ▰How multicore processors are utilized in AI and multimedia rendering for improved performance. ▰Mobile Device Architecture: mobile processors like ARM architecture handle AI-driven apps and multimedia streaming. 49 Key Takeaways ▰ Computer systems integrate hardware and software components ▰ Layers of abstraction manage complexity in computer systems ▰ Computer architecture defines the system's capabilities, while organization determines its implementation ▰ Understanding both architecture and organization is crucial for efficient computing ▰ Data representation forms the foundation of digital information ▰ Computer systems continue to evolve, driven by technological advancements and abstraction refinements 50 THANK YOU! Next Lecture: Detailed CPU Architecture and Organization 51

Use Quizgecko on...
Browser
Browser