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
1 D. Nikolik, CompArch, 2004 Computer Systems Architecture D. Nikolik, Ph.D Maastricht School of Management Maastricht, The Netherlands D. Nikolik, CompArch, 2004 Summary 2 The Outline The Need for Frameworks and Models Work System Framework & Principles Relation between Information Systems and Work Systems Principle-based System Analysis Method: The Work System Framework Need for a Balanced View of a System Principle-Based System Analysis Method Computer Systems Overview A Computer: A Complex System Basic Functions Systems Performance Overview of Computer Systems Looking Inside the Black Box or how computers manipulate data Data Input: Capturing Data Storing and Retrieving Data Data Output: Displaying Data Studying Approaches Top-down decomposing vs. Bottom-up building-up Modular Development D. Nikolik, CompArch, 2004 Summary (cont.) Brief History Later Generations: Microprocessors (Intel) Client Architecture Server Architectures Computer Interconnection Structures Internal and External Memory Input / Output Direct Memory Access (DMA) Software, Programming, and AI Programming Viewed as a Business Process Four Generations of Programming Languages Other Major Developments in Programming Operating Systems Steps Toward “Intelligent” Computers Operating Systems Architecture CPU Structure & Function Control Unit Operation Parallel Organizations Fault - Tolerance Systems Reduced Instruction Set Computers RISC Pipelining (Graph Colouring) 3 4 D. Nikolik, CompArch, 2004 The Outline Frameworks and Models An Overview: Introduction; A Brief History Computer Structure Decisions Computer Memory Hierarchy Input/Output Performance Operating Systems - Resource Sharing CPU Architectural Constraints CPU Performance Issues Efficiency, Reliability and Fault-tolerance New Computer Architecture Trends - RISC D. Nikolik, CompArch, 2004 5 The Need for Frameworks and Models Viewing Businesses as Systems Information Systems and Work Systems Framework for Thinking About Any System in Business Five Perspectives for Viewing a Work System Analyzing an IT-Enabled System from a Business Professional's Viewpoint D. Nikolik, CompArch, 2004 6 Work System Framework & Principles Businesses as Systems consisting of Business Processes: core & support, info/management within its own Added Value Chain or as part of a broader Supply Chain: up/down-stream. Types of Business Processes and its Functional Areas of Business: management, product development, sales & marketing, production, accounting, finance & investment, logistics & delivery D. Nikolik, CompArch, 2004 7 Relation between Information Systems and Work Systems Which "System" Are We Talking About? Increasing Overlap Between Information Systems and Business-based Work Systems 8 D. Nikolik, CompArch, 2004 Principle-based System Analysis Method The Work System Framework Customers Product Business Process Participants Information Technology Source: S. Alter, MIS, The foundation of e-Business, AWL, 2002 D. Nikolik, CompArch, 2004 9 Need for a Balanced View of a System Business Results Focus: How well the System Operates People & Organization; Organizational, Competitive, and Regulatory Environment Surrounding the System Technology & Information Focus: System Components & How do they Operate Together Infrastructure: Essential Resources Shared with Other Systems Risks: Foreseeable Things that Can usually Go Wrong D. Nikolik, CompArch, 2004 10 Principle-Based System Analysis Method The General Idea of Systems Analysis System’s Thinking: system analysis steps Organizing the Analysis around Work System Principles Defining Problems and Computer - based Work Systems Applying PBSA to Work Systems, IS, and Projects Limitations and Pitfalls Measuring Work System Performance Classification Related to the Elements of a Work System 11 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 1 Introduction D. Nikolik, CompArch, 2004 12 Computer Systems Overview Basic Model of a Computer System: Computer Architecture Computer Organisation Architecture vs. Organisation Dilemma ex.: Multiplication oper. vs. Fmult. unit Implementation technology: IBM AS/400 IBM System/370 vs. IBM Station/9370 D. Nikolik, CompArch, 2004 13 A Computer: A Complex System A hierarchic system: is a set of interrelated subsystems each of the latter in turn, hierarchic in structure until lowest level of elementary subsystem. The hierarchic nature of complex systems is essential to both their design and to their descriptions. The behavior at a level depends only on a simplified, abstract characterization of the system at the level next, beneath. At each level the designer is concerned with: a level functionality appropriate to its structure. 14 D. Nikolik, CompArch, 2004 Basic Functions Data storage, Data processing, Operating Environment source & Data movement, destination data Data movement Control I/O processing Backup processing System Operations Control mechanism processing Data storage Data processing D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 2 Computer Evolution and Performance 15 D. Nikolik, CompArch, 2004 16 Systems Performance Performance Variables for IT Bits and Bytes: Technical Terms for Describing and Measuring Technology Operation Technology Performance from a Business Viewpoint Overview of Computer Systems Looking Inside the Black Box Data Input: Capturing Data Storing and Retrieving Data Data Output: Displaying Data D. Nikolik, CompArch, 2004 17 Overview of Computer Systems Basic Model of a Computer System Types of Computers: Hosts and C/S Four Approaches to Computing: Centralized, Personal, Distributed, Network Computer System Architectures Client-Server (C/S) and Beyond Thin vs. Fat Clients and Servers D. Nikolik, CompArch, 2004 18 Looking Inside the Black Box or how computers manipulate data Coding Data for Computer Processing: programming Machine Languages: assembling, compiling, debugging Programming Languages & Systems Development Approaches for Increasing Computer Performance: modular, broader/wider, faster, in parallel, code/data Impact of Miniaturization & Integration on Performance Other Approaches for Improving Performance D. Nikolik, CompArch, 2004 19 Data Input: Capturing Data Keyboards and Pointing Devices Optical Character Recognition Capturing Pictures, Sounds, and Video New Digital Devices (wireless WAP & JINI standards) 20 D. Nikolik, CompArch, 2004 Storing and Retrieving Data Paper and Micrographics Magnetic Tapes and Disks (RAID) Lossy vs. Lossless Compression Optical Disks Flash Memory Smart Cards 21 D. Nikolik, CompArch, 2004 Data Output: Displaying Data Screen Outputs Paper Outputs Audio Outputs Intelligent Reasoning: Neural Networks Fuzzy Logic Case-Based Reasoning Intelligent Mobile Agents 22 D. Nikolik, CompArch, 2004 Studying Approaches Top-down decomposing vs. Bottom-up building-up OPERATING ENVIRONMENT Peripherials Communication lines COMPUTER I/O Main memory System interconnection Hierarchical computer structure CENTRAL PROCESSING UNIT The CPUs ALU Registers CPU Transfer Bus CPU Interconnection Structures CONTROL UNIT System Components Sequencing Control RO memory CU Registers & Decoder D. Nikolik, CompArch, 2004 Modular Development Brief history; Interconnection structures - data and control signals exchange; Internal & External Memories - memory hierarchy; Input-Output - programmed and interrupt I/O, DMA; Operating System - resource management and scheduling; CPU Structure and Function - executing machine instructions; Control Unit Operations - micro-operations and control; Parallel Organization - sequential vs. parallel machine; RISC Architecture - a new trend in CPU architecture; Parallel PC NUMA Networks - the Beowulf Project. 23 24 D. Nikolik, CompArch, 2004 Brief History The Mill The Store Arithmetic function Memory function Operational cards - what Variable cards - where Printer & Card Punch The Structure of Babbage's Analytical Engine: the layout John Atanasoff, Clifford Berry: ABC, 1939; John Mauchly & John Eckert:ENIAC, 1946, First GP Comp., IAS - Prototype of Subsequent General Purpose Computers Structure First Commercial Computers: IBM System/360; DEC PDP-8 The Second Generation: Transistors The Third Generation : Integrated Circuits Micro Electronics: a New Technology in Electronics 25 D. Nikolik, CompArch, 2004 Later Generations: Microprocessors (Intel) Contemporary computers Characteristics of some contemporary computers Personal Computer (WinIntel): Component-based bus architectures Minicomputer Mainframes Super computers CPU next address r/w memory I/O address I/O data MAR MBR I/O AR I/O BR Memory 0 1 2 3 4 I/O Module Instruction buffer memory Data Cray Y-MP IBM 3090/600 VAX 8842 IBM AS/400 IBM PS/50 26 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 3 System Buses 27 D. Nikolik, CompArch, 2004 Client Architecture MMXs Cache Audio Video DRAMs Bus LAN Bridge Exp. Bus I/Os SCSI Graphics 28 D. Nikolik, CompArch, 2004 Symmetrical Multi-Processing (SMP) CPU MEM CPU Massively Parallel Processing (MPP) MEM MEM CPU CPU MEM Systembus Server Architectures I/O Bus MEM CPU CPU Non Uniform Memory Access (NUMA) MEM CPU MEM CPU MEM CPU MEM CPU MEM CPU MEM CPU MEM CPU MEM CPU SMP SHV clusters Scalable InterConnect Systembus MEM 29 D. Nikolik, CompArch, 2004 Computer Interconnection Structures Computer components Sequence of Arithmetic and Logic functions Data Results Programming in Hardware Instr. interpreter Programming in Software General-purpose Arithmetic and Logic functions Data Interrupt cycle Results Start I/O function Fetch cycle Interconnection structures Fetch next instruction Execute cycle Execute instruction Disabled Enabled Bus interconnection Halt Interupt cycle Check & process interupt Elements of the Bus design CPU Memory .... Control lines BUS Address lines Data lines Memory I/O .... I/O 30 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 4 Cache Memory 31 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 5 Internal Memory 32 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 6 External Memory 33 D. Nikolik, CompArch, 2004 Internal & External Memory Computer Memory System Overview Memory Hierarchy Organisation CPU Register Error Correction (ECC) Cache Main memory Buffer memory internal RA access disk external Cache Memory CPU Cache Main memory word transfer block transfer Characteristics of Disk Systems: direct-access device DAD Magnetic Disk Magnetic Tape: sequential access device - Archive memory Optical memory: compact drives - CD memory Sequen. access tape 34 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 7 Input/Output 35 D. Nikolik, CompArch, 2004 Input / Output I/O Module in/out Control I/O Module not/ready Data bits to/from Status Buffer memory Control Logic Data store conversion Transducer External Devices Data (device unique) to/from environment Visual Display Units (VDU) Disk Drive Interface to the external device Interface to the system bus I/O Modules Programmed I/O Interrupt-driven I/O Data Lines External Inteface Logic Data Register Status & Control Register Address Lines Control Lines I/O Logic External Inteface Logic Data Status Control Data Status Control 36 D. Nikolik, CompArch, 2004 Direct Memory Access (DMA) System Bus CPU DMA I/O : I/O Memory Inexpensive, but inefficient - 2 bus cycles/transfer, data transfer System Bus CPU DMA : I/O DMA I/O Memory I/O Integrated DMA & I/O aside the system bus System Bus CPU DMA : Memory I/O bus I/O I/O I/O Integrated DMA & I/O bus I/O Channels and Processors D. Nikolik, CompArch, 2004 37 Software, Programming, and AI Thinking about the Current Limits of Software Types of Software Programming Viewed as a Business Process Four Generations of Programming Languages Other Major Developments in Programming Object-Oriented Component-Based Development Operating Systems (Windows vs.Unix/Linux) Steps Toward Programming Intelligence into Machines D. Nikolik, CompArch, 2004 38 Programming Viewed as a Business Process Programming as a Translation Process Organizing Ideas: Modelling vs. Workflow of Thought, Creating, Developing, Testing & Deploying Programs The Changing Nature of Programming & Data Structures The Trend Toward Object-Oriented Programming - OOP: State of Objects, Class Instances, Encapsulation, Inheritance, and Polymorphism D. Nikolik, CompArch, 2004 Four Generations of Programming Languages Machine Languages Assembly Languages Higher-Generation Languages 4GL & Scripting Languages 39 D. Nikolik, CompArch, 2004 40 Other Major Developments in Programming Special-Purpose Languages Spreadsheets & Macro Routines Structural vs. OO Programming Computer Aided Software Engineering: CASE Tools Component-Based Software Development: CBD Tools 41 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 8 Operating System Support D. Nikolik, CompArch, 2004 42 Operating Systems Operating Systems for Personal & Mobile Computers: Windows CE vs. Symbian OS Operating Systems for Multi-User Computer Systems: 8/16 bit vs. 32/64 bit OS Architectures MS DOS/Windows 3.1/95/98/NT/2000/XP vs. Unix/Linux Why Operating Systems Are Important? D. Nikolik, CompArch, 2004 43 Steps Toward “Intelligent” Computers Natural Language Processing (NLP) Expert Systems (ES) Artificial Neural Networks (ANN) Fuzzy Logic Case-Based Reasoning Intelligent Agents (IA) 44 D. Nikolik, CompArch, 2004 Operating Systems Architecture End User Application Programs Utilities Programmers's view Operating System OS designer's view System's Hardware High-level Job Scheduling Short-term Job Scheduling – a Dispatcher Virtual address Memory Management Virtual Memory Concept Page# Offset miss TLB hit Page table State Management, Threads + Cache operation Real address Cache Tag Remainder miss hit Main Memory Value 45 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 9 Computer Arithmetic 46 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 10 Instruction Sets: Characteristics and Functions 47 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 11 Instruction Sets: Addressing Modes and Formats 48 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture th 6 Edition Chapter 12 CPU Structure and Function 49 D. Nikolik, CompArch, 2004 CPU Structure & Function System Bus Inside the CPU: Cycles CPU Instruction’s Fetch ALU Indirect Cycle CPU Data Flow Control Unit Bus Address Control Data Fetch Interrupt Indirect Interrupt Cycle Processing Execution Registers Execute System CPU Bus Arithmetic and Logic Unit Status Flags Registers Shifter Control Paths Complementer Arithmetic & Boolean Logic Control Unit 50 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 14 Instruction Level Parallelism and Superscalar Processors 51 D. Nikolik, CompArch, 2004 Control Unit Operation Program Execution Instruction Cycle Fetch : Instruction Cycle :: Indirect Execute Interrupt Fetch mOP mOP mOP mOP Indirect mOP Execute Interrupt Address Bus Micro-code operations PC 1 3a Execute micro-cycles 8 high IR : mOP MAR Control Unit 2 Hardwired implementation (Firmware) Control Bus 4 3b low 7 MBR Data Bus 5 6 Memory 52 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 18 Parallel Processing 53 D. Nikolik, CompArch, 2004 Parallel Organizations CPU CPU CPU : : : I/O ... Interconections I/O Computer - a Sequential Machine? Main Memory Multiprocessing of Multiprocessors Systems Time-shared Bus CPU Cache CPU Cache I/O Multiport Memory System I/O Memory Memory System Bus Central Control Unit System (CCU) concept M1 Uniform Multiprocessor OS Vector Computational Systems M2 : Mk P1 I/O1 ... ... Pm I/On Non-Uniform Memory Architectures (NUMA) Systems vs. Pool of Linux Networked PCs - the Beowulf Project 54 D. Nikolik, CompArch, 2004 Fault - Tolerance Systems CPU Input Arbitration CPU Switch Input Output CPU Voter CPU Output CPU Fault-tolerance - continue to process reliably even when a component fails Failure Conditions Software vs. Hardware Failures Characteristics of Fault-tolerant Systems microprocessor Fault-tolerant Organisations Availability, Scalability, Reliability Compare Logic microprocessor microprocessor Gate Control Gate Control Bus Compare Logic microprocessor 55 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 13 Reduced Instruction Set Computers 56 D. Nikolik, CompArch, 2004 Reduced Instruction Set Computers parameter local temporary registers registers registers Instruction Execution Characteristics The use of a Large Register File level j+1 Large Register File vs. Cache Memory level j call/return parameter local registers registers registers Why the Trend in Reduced Instruction Instruction R(shorter code) Set Architecture Technology? Window # Register file Data Decoder RISC Pipeline Issues window-based register file approach Parallel Execution Instruction A(full address) Resolving Conflicts Maintaining optimal Data Flow Compare Data Tags: operation, data,cache-approach mode/type Tags Data Cache Select Data 57 D. Nikolik, CompArch, 2004 RISC Pipelining (Graph Colouring) b r1 register assignements a r2 c e r3 r2 r3 f register memory store d a X X X b X X X X X time instances c X X X d f e symbolic registers X - register incidence X X X X X X X X 58 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 15 IA-64 Architecture