D. Nikolik, CompArch, 2004
1
Computer Systems Architecture
D. Nikolik, Ph.D
Maastricht School of Management
Maastricht, The Netherlands
D. Nikolik, CompArch, 2004
2SummaryThe Outline The Need for Frameworks and Models Work System Framework & PrinciplesRelation 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 MethodComputer Systems OverviewA Computer: A Complex SystemBasic FunctionsSystems 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
3
Summary (cont.)Brief History Later Generations: Microprocessors (Intel) Client ArchitectureServer ArchitecturesComputer Interconnection StructuresInternal and External MemoryInput / OutputDirect 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” ComputersOperating Systems ArchitectureCPU Structure & FunctionControl Unit OperationParallel OrganizationsFault - Tolerance SystemsReduced Instruction Set ComputersRISC Pipelining (Graph Colouring)
D. Nikolik, CompArch, 2004
4
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
D. Nikolik, CompArch, 2004
8
Principle-based System Analysis MethodThe 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
D. Nikolik, CompArch, 2004
11
William Stallings Computer Organization
and Architecture6th Edition
Chapter 1Introduction
D. Nikolik, CompArch, 2004
12
Computer Systems Overview
Basic Model of a Computer System:
Computer Architecture
Computer Organisation
Architecture vs. Organisation Dilemmaex.: 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
Data movement
Control mechanism
Data storage Data processing
Operating Environment
source & destination data
Backup processing I/O processing
processing
Basic Functions
Data storage,
Data processing,
Data movement,
Control
System Operations
D. Nikolik, CompArch, 2004
15
William Stallings Computer Organization
and Architecture 6th Edition
Chapter 2Computer 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 orhow 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
COMPUTER
CENTRAL PROCESSING UNIT
CONTROL UNIT
Peripherials Communication lines
I/O Main memory
System interconnection
ALU Registers
CPU Transfer Bus
Sequencing Control RO memory
CU Registers & Decoder
OPERATING ENVIRONMENT
Studying Approaches Top-down decomposing vs. Bottom-up building-up
Hierarchical computer structure
The CPUs
CPU Interconnection Structures
System Components
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
The Mill
Arithmetic function
The Store
Memory function
Printer & Card Punch
Operational cards - what Variable cards - where
Brief History
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
Mainframes
Super computers
Cray Y-MP IBM 3090/600 VAX 8842 IBM AS/400 IBM PS/50
Memory
Instruction
Data
01234
CPUMAR
MBR
I/O AR
I/O BR
next address
r/w memory
I/O addressI/O data
I/O Module
buffer memory
D. Nikolik, CompArch, 2004
26
William Stallings Computer Organization
and Architecture6th Edition
Chapter 3
System Buses
D. Nikolik, CompArch, 2004
27
Client Architecture
CacheMMXMMXs
DRAMs
Audio Video
BusBus
LAN Bridge GraphicsSCSI
I/Os
Exp. BusExp. Bus
D. Nikolik, CompArch, 2004
28
CPU CPU
I/O BusI/O BusI/O BusI/O Bus
Systembus
MEMMEMMEMCPU
CPU MEM
MEM CPU
CPUMEM
Massively Parallel Processing (MPP)Symmetrical Multi-Processing (SMP)
Non Uniform Memory Access (NUMA)
MEM CPU
MEM CPU
MEM CPU
MEM CPU
MEM CPU
MEM CPU
MEM CPU
MEM CPU
Scalable InterConnect Systembus
SMP SHV clusters
Server Architectures
D. Nikolik, CompArch, 2004
29
.... ....CPU Memory Memory I/O I/O
Control lines
Address linesData lines
BUS
Computer Interconnection
StructuresComputer components
Programming in Hardware
Programming in Software
Interrupt cycle
I/O function
Interconnection structures
Bus interconnection
Elements of the Bus design
Data ResultsGeneral-purposeArithmetic andLogic functions
Instr. interpreter
Data ResultsSequence ofArithmetic andLogic functions
Start
Fetch next instruction
Execute instruction Halt
Fetch cycle
Execute cycle
Check & process interupt
Disabled EnabledInterupt cycle
D. Nikolik, CompArch, 2004
30
William Stallings Computer Organization
and Architecture6th Edition
Chapter 4
Cache Memory
D. Nikolik, CompArch, 2004
31
William Stallings Computer Organization
and Architecture6th Edition
Chapter 5
Internal Memory
D. Nikolik, CompArch, 2004
32
William Stallings Computer Organization
and Architecture6th Edition
Chapter 6
External Memory
D. Nikolik, CompArch, 2004
33
CPU
RegisterCache Main
memoryBuffer
memory
RAaccessdisk
Sequen.accesstape
internal external
Internal & External
MemoryComputer Memory System Overview
Memory Hierarchy
Organisation
Error Correction (ECC)
Cache Memory
Magnetic Disk
Characteristics of Disk Systems: direct-access device DAD
Magnetic Tape: sequential access device - Archive memory
Optical memory: compact drives - CD memory
CPU Cache Main memory
word transfer block transfer
D. Nikolik, CompArch, 2004
34
William Stallings Computer Organization
and Architecture6th Edition
Chapter 7
Input/Output
D. Nikolik, CompArch, 2004
35
Data
Lines
Lines
Lines
Address
Control
Interface to the system bus
Interface to the external device
Data
ControlStatus
DataStatusControl
I/OLogic
ExternalIntefaceLogic
ExternalIntefaceLogic
Data Register
Status & Control Register
Control Status
I/O Module I/O Module
Data bits to/from
Buffer memoryControl Logic Transducer
Data store conversion
Data (device unique)to/from environment
not/readyin/out
Input / Output
External Devices
Visual Display Units (VDU)
Disk Drive
I/O Modules
Programmed I/O
Interrupt-driven I/O
D. Nikolik, CompArch, 2004
36
System Bus
CPU DMA I/O I/O Memory:
Inexpensive, but inefficient - 2 bus cycles/transfer, data transfer
System Bus
CPU DMA
I/O I/O
Memory: DMA
I/O
Integrated DMA & I/O aside the system bus
System Bus
CPU DMA Memory:
Integrated DMA & I/O bus
I/O I/O I/O
I/O bus
Direct Memory Access
(DMA)
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 Architecture6th 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
Virtual address
TLBmiss
hit
Page# Offset
Page table +
Cache operationReal address
Tag Cachemiss hit
Main Memory Value
Remainder
End User
Application Programs
Utilities
Operating System
System's Hardware
Programmers's view
OS designer's view
Operating Systems Architecture
High-level Job Scheduling
Short-term Job Scheduling – a Dispatcher
Memory Management
Virtual Memory Concept
State Management, Threads
D. Nikolik, CompArch, 2004
45
William Stallings Computer Organization
and Architecture6th Edition
Chapter 9
Computer Arithmetic
D. Nikolik, CompArch, 2004
46
William Stallings Computer Organization
and Architecture6th Edition
Chapter 10
Instruction Sets:
Characteristics
and Functions
D. Nikolik, CompArch, 2004
47
William Stallings Computer Organization
and Architecture6th Edition
Chapter 11
Instruction Sets:
Addressing Modes
and Formats
D. Nikolik, CompArch, 2004
48
William Stallings Computer Organization
and Architecture6th Edition
Chapter 12
CPU Structure
and Function
D. Nikolik, CompArch, 2004
49
Interrupt
Fetch
Execute
Indirect
CPU
ALU Control Unit
Registers
Control
Bus Address
Data
System Bus
Status Flags
Shifter
Complementer
Arithmetic & Boolean Logic
Registers
ControlUnit
Arithmetic and Logic Unit
System CPU Bus
Control Paths
CPU Structure & Function
Inside the CPU: Cycles
Instruction’s Fetch
Indirect Cycle
Interrupt Cycle Processing
Execution
CPU Data Flow
D. Nikolik, CompArch, 2004
50
William Stallings Computer Organization
and Architecture6th Edition
Chapter 14
Instruction Level Parallelism
and Superscalar Processors
D. Nikolik, CompArch, 2004
51
1 2
3b5
Control BusAddress Bus Data Bus
4
6low 78 high
3a
PC MAR
IR MBR
ControlUnit
Memory
Program Execution
::Instruction Instruction
Cycle Cycle
Fetch Indirect Execute Interrupt Fetch Indirect Execute Interrupt
mOP mOP mOP mOP mOP mOP: :
Control Unit Operation
Micro-code operations
Execute micro-cycles
Hardwired implementation (Firmware)
D. Nikolik, CompArch, 2004
52
William Stallings Computer Organization
and Architecture6th Edition
Chapter 18
Parallel Processing
D. Nikolik, CompArch, 2004
53
CPU CPU
Cache CacheI/O I/O Memory Memory
System Bus
CPU CPU CPU
I/O
I/O
Interconections
Main Memory
: : :
...
Parallel Organizations
Computer - a Sequential Machine?
Multiprocessing of Multiprocessors Systems
Time-shared Bus
Multiport Memory System
Central Control Unit System (CCU) concept
Uniform Multiprocessor OS
Vector Computational Systems
Non-Uniform Memory Architectures (NUMA) Systemsvs. Pool of Linux Networked PCs - the Beowulf Project
P1
Pm
I/O1
I/On
M1 M2 Mk:
......
D. Nikolik, CompArch, 2004
54
CPU
CPU
InputArbitration Switch
Output
Input
CPU
CPU
CPU
VoterOutput
Fault - Tolerance Systems
Fault-tolerance - continue to process reliably even when a component fails
Failure Conditions
Software vs. Hardware Failures
Characteristics of Fault-tolerant Systems
Fault-tolerant Organisations
Availability, Scalability, Reliability
Compare Logic
microprocessor
microprocessor
microprocessor
microprocessor
Compare Logic
Gate Gate Control Control
Bus
D. Nikolik, CompArch, 2004
55
William Stallings Computer Organization
and Architecture6th Edition
Chapter 13
Reduced Instruction
Set Computers
D. Nikolik, CompArch, 2004
56
Instruction R(shorter code)
Window # DecoderRegister file Data
Instruction A(full address)
Data
DataTagsCompare
Select
Cache
window-based register file approach
cache-approach
parameter
parameter
registers
registers
local
local
registers registers
temporary
registers registers
call/return
level j+1
level j
Reduced Instruction Set
Computers
Instruction Execution Characteristics
The use of a Large Register File
Large Register File vs. Cache Memory
Why the Trend in Reduced Instruction
Set Architecture Technology?
RISC Pipeline IssuesParallel Execution Resolving ConflictsMaintaining optimal Data Flow Data Tags: operation, data, mode/type
D. Nikolik, CompArch, 2004
57
RISC Pipelining (Graph
Colouring)a b
ce
r1 register assignementsr2
r3 r2 r3f register memory store
symbolic registersda b c e f
time instances
X
X
X
X
X
X
X
X
X
X
X X
X
X
X
X
X
X
X
X - register incidence
d