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 & destinat ion data Data movement, Data movement Control I/O processing Backup processing System Operations Cont rol 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 OPERAT ING ENVIRONMENT Peripherials Communication lines COMPUT ER I/O Main memory System interconnect ion Hierarchical computer structure CENT RAL PROCESSING UNIT The CPUs ALU Registers CP U T ransfer Bus CPU Interconnection Structures CONT ROL UNIT System Components Sequencing Cont rol 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 T he Mill T he Store Arithmetic funct ion Memory funct ion Operational cards - what Variable cards - where P rint er & Card P unch 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 CP U 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 S e que n ce of Arithm e tic and Logi c fun cti ons Data Re su lts Programming in Hardware In str. in te rpre te r Programming in Software Ge ne ral-purpose Arith m e tic an d Logi c fu nctions Data Interrupt cycle Re su lts St art I/O function Fetch cycle Interconnection structures Fetch next instruction Execute cycle Execute instruction Disabled Enabled Bus interconnection Halt Interupt cycle Check & process int erupt Elements of the Bus design CPU Memory .... Memory Cont rol lines BUS Address lines Data lines 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 Cache Register Error Correction (ECC) Main Buffer memory memory internal RA access disk external Cache Memory Magnetic Disk CP U Sequen. access tape Cache word transfer Main memory block transfer Characteristics of Disk Systems: direct-access device DAD Magnetic Tape: sequential access device - Archive memory Optical memory: compact drives - CD memory 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 St atus Control Logic I/O Module not/ready Data bits to/from Buffer memory T ransducer External Devices Data store conversion 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 Data Register St atus & Control Register Address Lines Control Lines I/O Logic External Inteface Logic External Inteface Logic Data St atus Control Data St atus Control 36 D. Nikolik, CompArch, 2004 Direct Memory Access (DMA) System Bus CP U DMA I/O : I/O Memory Inexpensive, but inefficient - 2 bus cycles/transfer, data t ransfer System Bus CP U DMA : I/O DMA I/O Memory I/O Integrat ed DMA & I/O aside the system bus System Bus CP U DMA : Memory I/O bus I/O I/O I/O Integrat ed 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 P rograms Utilities P rogrammers's view Operating System OS designer's view System's Hardware High-level Job Scheduling Short-term Job Scheduling – a Dispatcher Memory Management Virtual Memory Concept Virtual address miss T LB Page# Offset hit Page t able State Management, Threads + Cache operat ion Real address T ag Remainder Cache 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 St atus Flags Registers Shift er Cont rol P aths Complement er Arithmetic & Boolean Logic Cont rol 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 2 Control 3b Unit low 7 MBR Hardwired implementation (Firmware) Data Bus Control Bus 4 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 CP U CP U CP U : : : I/O ... I/O Interconect ions Computer - a Sequential Machine? Main Memory Multiprocessing of Multiprocessors Systems Time-shared Bus CPU CPU Cache 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 Arbit rat ion 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 param e te rlocal te m porary re giste rs re giste rs re giste rs Instruction Execution Characteristics The use of a Large Register File level j+1 Large Register File vs. Cache Memory level j call/return param e te r local re giste rs re giste rs re giste rs Why the Trend in Reduced Instruction Instruction R(short er 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 T ags Maintaining optimal Data Flow Compare Data Tags: operation, data,cache-approach mode/type Data Select Cache 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 b c X X X X X X X X X X d f e X - register incidence X X X X X X X X time instances symbolic registers 58 D. Nikolik, CompArch, 2004 William Stallings Computer Organization and Architecture 6th Edition Chapter 15 IA-64 Architecture