D.
Nikolik, CompArch, 2004
Computer Systems Architecture
D. Nikolik, Ph.D Maastricht School of Management Maastricht, The Netherlands
D. Nikolik, CompArch, 2004
Summary
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)
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
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
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
Relation between Information Systems and Work Systems
Which "System" Are We Talking About? Increasing Overlap Between Information Systems and Business-based Work Systems
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
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
Systems 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
D. Nikolik, CompArch, 2004
11
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.
D. Nikolik, CompArch, 2004
14
Basic Functions
Data storage, Data processing,
Operating Environment source & destination data Data movement Backup processing I/O processing Control mechanism processing Data storage Data processing
Data movement,
Control System Operations
D. Nikolik, CompArch, 2004
15
William Stallings Computer Organization and Architecture 6th Edition
Chapter 2 Computer Evolution and Performance
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)
D. Nikolik, CompArch, 2004
20
Storing and Retrieving Data
Paper and Micrographics Magnetic Tapes and Disks (RAID)
Lossy vs. Lossless Compression
Optical Disks
Flash Memory
Smart Cards
D. Nikolik, CompArch, 2004
21
Data Output: Displaying Data
Screen Outputs
Paper Outputs Audio Outputs Intelligent Reasoning: Neural Networks
Fuzzy Logic
Case-Based Reasoning Intelligent Mobile Agents
D. Nikolik, CompArch, 2004
22
Studying Approaches
Top-down decomposing vs. Bottom-up building-up
OPERATING ENVIRONMENT Peripherials COMPUTER I/O System interconnection Main memory Communication lines
Hierarchical computer structure CENTRAL PROCESSING UNIT The CPUs
ALU CPU Transfer Bus CONTROL UNIT Registers
CPU Interconnection Structures
System Components Sequencing
Control RO memory CU Registers & Decoder
D. Nikolik, CompArch, 2004
23
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.
D. Nikolik, CompArch, 2004
24
Brief History
The Mill Arithmetic function The Store Memory function Printer & Card Punch
Operational cards - what
Variable cards - where
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
D. Nikolik, CompArch, 2004
25
Later Generations: Microprocessors (Intel)
Contemporary computers
Characteristics of some contemporary computers
Personal Computer (WinIntel): Component-based bus architectures Minicomputer
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 Instruction buffer memory Data I/O Module
Mainframes
Super computers
Cray Y-MP IBM 3090/600 VAX 8842 IBM AS/400 IBM PS/50
D. Nikolik, CompArch, 2004
26
William Stallings Computer Organization and Architecture th 6 Edition
Chapter 3 System Buses
D. Nikolik, CompArch, 2004
27
Client Architecture
MMXs Cache
Audio DRAMs Video
Bus
LAN
Bridge
SCSI
Graphics
Exp. Bus
I/Os
D. Nikolik, CompArch, 2004
28
Symmetrical Multi-Processing (SMP)
CPU CPU MEM MEM
Massively Parallel Processing (MPP)
CPU MEM
MEM
CPU
Systembus
Server Architectures
I/O Bus
MEM CPU CPU MEM
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
D. Nikolik, CompArch, 2004
29
Computer Interconnection Structures
Data Sequence of Arithmetic and Logic functions Results
Computer components
Programming in Hardware
Instr. interpreter
Programming in Software
Data
Interrupt cycle I/O function
General-purpose Arithmetic and Logic functions
Start Fetch cycle
Results
Interconnection structures Bus interconnection Elements of the Bus design
CPU
Fetch next instruction Execute cycle Execute instruction Disabled Enabled Check & process interupt Halt Interupt cycle
Memory
....
Memory
I/O
....
I/O
Control lines BUS Address lines Data lines
D. Nikolik, CompArch, 2004
30
William Stallings Computer Organization and Architecture 6th Edition
Chapter 4 Cache Memory
D. Nikolik, CompArch, 2004
31
William Stallings Computer Organization and Architecture 6th Edition
Chapter 5 Internal Memory
D. Nikolik, CompArch, 2004
32
William Stallings Computer Organization and Architecture th 6 Edition
Chapter 6 External Memory
D. Nikolik, CompArch, 2004
33
Internal & External Memory
Computer Memory System Overview
Memory Hierarchy Organisation
CPU Register Cache Main memory Buffer memory RA access disk Sequen. access tape
Error Correction (ECC)
Cache Memory Magnetic Disk
internal
CPU Cache
external
Main memory
word transfer block transfer Characteristics of Disk Systems: direct-access device DAD
Magnetic Tape: sequential access device - Archive memory Optical memory: compact drives - CD memory
D. Nikolik, CompArch, 2004
34
William Stallings Computer Organization and Architecture 6th Edition
Chapter 7 Input/Output
D. Nikolik, CompArch, 2004
35
Input / Output
I/O Module in/out Control Status Buffer memory Transducer Data store conversion I/O Module not/ready Data bits to/from
Control Logic
External Devices
Data (device unique) to/from environment
Interface to the system bus Data Lines Address Lines Control Lines Data Register Status & Control Register I/O Logic External Inteface Logic External Inteface Logic Interface to the external device Data Status Control Data Status Control
Visual Display Units (VDU)
Disk Drive
I/O Modules
Programmed I/O Interrupt-driven I/O
D. Nikolik, CompArch, 2004
36
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 : DMA Memory
I/O
I/O
I/O
Integrated DMA & I/O aside the system bus System Bus CPU DMA I/O bus I/O I/O I/O : Memory
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
39
Four Generations of Programming Languages
Machine Languages Assembly Languages Higher-Generation Languages
4GL & Scripting Languages
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
D. Nikolik, CompArch, 2004
41
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)
D. Nikolik, CompArch, 2004
44
Operating Systems Architecture
End User Application Programs Utilities Operating System System's Hardware Programmers's view OS designer's view
High-level Job Scheduling Short-term Job Scheduling a Dispatcher Memory Management
Virtual address miss TLB Page# Offset hit Page table + Cache operation Real address Tag Remainder Cache miss hit Main Memory Value
Virtual Memory Concept
State Management, Threads
D. Nikolik, CompArch, 2004
45
William Stallings Computer Organization and Architecture 6th Edition
Chapter 9 Computer Arithmetic
D. Nikolik, CompArch, 2004
46
William Stallings Computer Organization and Architecture 6th Edition
Chapter 10 Instruction Sets: Characteristics and Functions
D. Nikolik, CompArch, 2004
47
William Stallings Computer Organization and Architecture th 6 Edition
Chapter 11 Instruction Sets: Addressing Modes and Formats
D. Nikolik, CompArch, 2004
48
William Stallings Computer Organization and Architecture th 6 Edition
Chapter 12 CPU Structure and Function
D. Nikolik, CompArch, 2004
49
CPU Structure & Function
System Bus
Inside the CPU: Cycles
CPU ALU
Fetch
Registers Control Unit
Bus Address Control Data
Instructions Fetch
Indirect Cycle
Interrupt
Indirect Execute
Interrupt Cycle Processing
Execution CPU Data Flow
System
CPU Bus
Arithmetic and Logic Unit Status Flags Shifter Control Paths Complementer Arithmetic & Boolean Logic Control Unit Registers
D. Nikolik, CompArch, 2004
50
William Stallings Computer Organization and Architecture 6th Edition
Chapter 14 Instruction Level Parallelism and Superscalar Processors
D. Nikolik, CompArch, 2004
51
Control Unit Operation
Program Execution Instruction Cycle Instruction Cycle Fetch : ::
Indirect Execute Interrupt Fetch mOP mOP mOP
PC
Indirect mOP
MAR
Execute Interrupt mOP :
Control Bus
mOP
1 3a 8 high IR
Micro-code operations
Address Bus Data Bus 2 4 3b low 7 6
Execute micro-cycles
Control Unit MBR
Memory
Hardwired implementation (Firmware)
D. Nikolik, CompArch, 2004
52
William Stallings Computer Organization and Architecture 6th Edition
Chapter 18 Parallel Processing
D. Nikolik, CompArch, 2004
53
Parallel Organizations
CPU CPU : : : CPU I/O ... I/O Main Memory Interconections
Computer - a Sequential Machine?
Multiprocessing of Multiprocessors Systems Time-shared Bus Multiport Memory System Central Control Unit System (CCU) concept
M1 M2
CPU Cache CPU Cache I/O I/O System Bus Memory
Memory
Uniform Multiprocessor OS
P1
Mk I/O1 ... I/On
Vector Computational Systems
... Pm
Non-Uniform Memory Architectures (NUMA) Systems vs. Pool of Linux Networked PCs - the Beowulf Project
D. Nikolik, CompArch, 2004
54
Fault - Tolerance Systems
CPU Input Arbitration CPU Input Switch Output CPU CPU CPU Voter Output
Fault-tolerance - continue to process reliably even when a component fails Failure Conditions Software vs. Hardware Failures Characteristics of Fault-tolerant Systems
microprocessor microprocessor Gate Control Bus Gate Control Compare Logic microprocessor
Fault-tolerant Organisations Availability, Scalability, Reliability
Compare Logic microprocessor
D. Nikolik, CompArch, 2004
55
William Stallings Computer Organization and Architecture 6th Edition
Chapter 13 Reduced Instruction Set Computers
D. Nikolik, CompArch, 2004
56
Reduced Instruction Set Computers
parameter local temporary registers registers registers level j call/return parameter local registers registers
Instruction Execution Characteristics The use of a Large Register File
level j+1
Large Register File vs. Cache Memory Why the Trend in Reduced Instruction Set Architecture Technology?
registers
Instruction R(shorter code) Register file Decoder Window #
Data
RISC Pipeline Issues window-based register file approach Parallel Execution Instruction A(full address) Resolving Conflicts Tags Maintaining optimal Data Flow Compare cache-approach Data Tags: operation, data, mode/type
Data Select
Cache Data
D. Nikolik, CompArch, 2004
57
RISC Pipelining (Graph Colouring)
a r2 r3 d a X X X b X X X X X c X X X X X X X X d e f b r1 register assignem ents r2 e r3
f register m em ory store sym bolic registers X - register incidence
X X X
tim e instances
D. Nikolik, CompArch, 2004
58
William Stallings Computer Organization and Architecture 6th Edition
Chapter 15 IA-64 Architecture