SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Computer Architecture – 
An Introduction 
CS2052 Computer Architecture 
Computer Science & Engineering 
University of Moratuwa 
Dilum Bandara 
Dilum.Bandara@uom.lk
From Outside 
2 
Input 
Output 
Processor 
Memory 
Hard disk 
DVD ROM 
Graphics 
card 
Ethernet 
Source: techwench.com
From Outside (Cont.) 
Source: Daniel Zanetti, wikimedia.org 
3 
Source: Amazon.com 
Touch pad 
Touch screen 
Wireless 
Screen size 
Weight 
Battery capacity 
SD Card slot 
Sensors
From Inside 
Source: http://rays-place.net 
4 
Source: http://news.techgenie.com
From Inside (Cont.) 
5 
Source: www.laptopaid.com 
Source: http://techgoesboom.com
From Inside (Cont.) 
6 
iPhone 6
What We Are Going To Study? 
 How these internal components look like? 
 Top-down approach with schematics 
 How do they fit together? 
 How to program them? 
 How to improve their performance? 
7
Very High-Level View of a Computer 
 CPU – execute instructions 
 Memory – store program & data 
System Bus 
 IO devices – receive inputs & produce outputs 
 Bus – interconnects everything by transferring data 
8 
Central 
Processing 
Unit (CPU) 
Main 
Memory 
Input/output 
(IO) Devices
Blocks of a Microprocessor 
9 
Program 
Memory 
Instruction 
Register 
STACK Program Counter 
Instruction 
Decoder 
Timing, Control, & Register selection 
Accumulator 
RAM & 
Data 
Registers 
ALU 
IO 
IO 
FLAG & 
Special 
Purpose 
Registers 
Source: Makis Malliris & Sabir Ghauri, UWE
Blocks of a Microprocessor (Cont.) 
10 
Literal 
Address 
Operation 
Program 
Memory 
Instruction 
Register 
Address 
STACK Program Counter 
Instruction 
Decoder 
Timing, Control and Register selection 
Accumulator 
RAM & 
Data 
Registers 
ALU 
IO 
IO 
FLAG & 
Special 
Function 
Registers 
Clock 
Reset 
Interrupts 
Program Execution Section Register Processing Section 
Set up 
Set up 
Modify 
Internal data bus 
Source: Makis Malliris & Sabir Ghauri, UWE
Arithmetic & Logic Unit (ALU) 
 Data processing 
unit 
 Arithmetic unit 
 Performs 
arithmetic 
operations 
 Logic unit 
 Performs logical 
operations 
11 
Accumulator 
Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
Registers 
 Type of memory located inside CPU 
 Can hold a single piece of data 
 This data is useful in both data processing & control 
functionalities 
 Several types of CPU registers 
 Program Counter (PC) 
 Instruction Register (IR) 
 Accumulator or working register 
 Special purpose registers 
 Flag register 
 General purpose registers 
12
Program Counter (PC) 
 Used to keep track of memory address of next 
instruction to be executed 
 When instructions are fetched, always 
instruction pointed by PC is fetched into CPU 
 Once the instruction is fetched, PC is updated to 
point to next instruction 
 PC = PC + d 
13
Instruction Register (IR) 
 Once fetched, instructions are stored in IR for 
execution 
 Located closely to control unit which decodes 
the instruction 
14
Accumulator (A) / Working Register (W) 
 Results of arithmetic & logical operations always 
go to accumulator 
 Connected directly to output of ALU 
15 
Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
FLAG/STATUS Register 
 Individual bits Indicate status of ALU operations 
Source: www.plantation-productions.com/Webster/www.artofasm.com/Linux/HTML/RealArithmetic.html 
16
17 
Internal Structure 
B 
C 
D 
E 
ALU 
A 
Address Bus 
PC 
IR 
ALU 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus 
Source : Dr. Chathura de Silva, CSE, UoM
18 
Sample Program 
100: Load A,10 
101: Load B,15 
102: Add A,B 
103: STORE A,[20] 
Load A,10 
Load B,15 
ADD A,B 
STORE A,[20] 
100 
101 
102 
103 
104 
105 
Program memory 
18 
19 
20 
21 
00 
00 
00 
00 
Data memory
19 
Instruction Execution Sequence 
1. Fetch next instruction from memory to IR 
2. Change PC to point to next instruction 
3. Determine type of instruction just fetched 
4. If instruction needs data from memory, 
determine where it is 
5. Fetch data if needed into register 
6. Execute instruction 
7. Go to step 1 & continue with next instruction
20 
Before execution of 1st fetch cycle 
B 
C 
D 
E 
ALU 
A 
Address Bus 
100 
IR 
ALU 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus 
Source: Dr. Chathura de Silva, CSE, UoM
21 
After 1st fetch cycle … 
B 
C 
D 
E 
ALU 
A 
Address Bus 
101 
ALU 
Load A,10 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
22 
After 1st instruction cycle … 
B 
C 
D 
E 
ALU 
10 
Address Bus 
101 
ALU 
Load A,10 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
23 
Sample Program (Cont.) 
100: Load A,10 
101: Load B,15 
102: Add A,B
24 
After 2nd fetch cycle … 
B 
C 
D 
E 
ALU 
A 
Address Bus 
102 
ALU 
Load B,15 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
25 
After 2nd instruction cycle … 
15 
C 
D 
E 
ALU 
10 
Address Bus 
102 
ALU 
Load B,15 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
26 
Sample Program (Cont.) 
100: Load A,10 
101: Load B,15 
102: Add A,B
27 
After 3rd fetch cycle … 
15 
C 
D 
E 
ALU 
10 
Address Bus 
103 
ALU 
ADD A,B 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
28 
After 3rd instruction cycle … 
15 
C 
D 
E 
ALU 
25 
Address Bus 
103 
ALU 
ADD A,B 
Control Unit 
FLAG 
+1 
CTRL Bus Data Bus
Architectural Differences 
 Length of microprocessors’ data word 
 4, 8, 16, 32, 64, & 128 bit 
 Speed of instruction execution 
 Clock rate & processor speed 
 Size of direct addressable memory 
 CPU architecture 
 Instruction set 
 Number & types of registers 
 Support circuits 
 Compatibility with existing software & hardware 
development systems 29
Microprocessor vs. Microcontroller 
 Microprocessor – CPU & various IO functions are packed 
as separate ICs 
 Microcontroller – Most IO functions are integrated into 
same package with CPU 
30 
Program 
Memory 
Microprocessor 
Clock 
Data 
Storage 
I/O 
I/O 
I/O 
Program 
Memory 
Microprocessor 
Core 
Real-time 
Clock 
I/O 
I/O 
I/O 
Data 
Storage
Programming Hierarchies 
31 
Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
Programming Language Levels 
 Machine code (40s-50s) 
 0001000000111000 0001001000110100 
 0101110000000000 
 0001110000000000 0001001000110101 
 Hex notation (50s-60s) 
 1038 1234 
 5C00 
 1E00 1235 
Source: http://mentalfloss.com/article/53160/meet- 32 
refrigerator-ladies-who-programmed-eniac
Programming Language Levels (Cont.) 
 Assembler 
 Machine code (60s-70s) 
.define const = 6 
num1: .byte [1] 
num2: .byte [2] 
move.b num1,d0 
addq.b #const,d0 
move.b d0,num2 
 High-level languages 
 C code fragment (70s-80s) 
#define const 6 
int num1, num2; 
num2 = num1 + const; 33
When is Assembler Appropriate? 
 Parts of a program where absolute speed is 
critical 
 More effective use of CPU registers & instruction set 
 Can produce code that runs faster than that produced 
by a compiler 
 There may be no other way to access a particular 
feature of hardware 
 Compiler might not provide library functions to access 
IO ports or to disable/enable interrupts 
 Compiler might not take advantage of CPU special 
instructions 
 BCD arithmetic, binary-ASCII conversion, table lookups, high 
speed copying of entire blocks of data 34
Building Digital Solutions to 
Computational Problems 
35 
 Labs & design project 
 Product specs 
 Algorithms, RTL, etc. 
 Flowcharts 
 State transition diagrams 
 Logic equations 
 Circuit schematics 
 Verilog or VHDL code 
 Assembler 
 C, C++ 
 TTL Gates (AND, OR, XOR ... ) 
 Programmable Logic 
 Custom ASICs 
 FPGAs 
 MCs, DSPs
Real-World Performance Metrics 
 Commercial digital designs seek the most 
appropriate trade-offs for the target application 
 Time-to-market is also very important 
36 
Cost 
Commodity Products 
Speed 
Scientific Computing, 
Simulation 
Energy 
Portable Devices 
Capacity 
Multimedia, 
Scientific Computing, 
Simulation

Contenu connexe

Tendances

MCA-I-COA- overview of register transfer, micro operations and basic computer...
MCA-I-COA- overview of register transfer, micro operations and basic computer...MCA-I-COA- overview of register transfer, micro operations and basic computer...
MCA-I-COA- overview of register transfer, micro operations and basic computer...Rai University
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle pptsheetal singh
 
Computer organization
Computer organizationComputer organization
Computer organizationishapadhy
 
Input output organization
Input output organizationInput output organization
Input output organizationabdulugc
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Gaditek
 
Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organizationMazin Alwaaly
 
The Basic Organization of Computers
The Basic Organization of ComputersThe Basic Organization of Computers
The Basic Organization of ComputersTallat Satti
 
Control Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitControl Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitabdosaidgkv
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and ArchitectureVinit Raut
 
Computer instructions
Computer instructionsComputer instructions
Computer instructionsAnuj Modi
 
Control unit design
Control unit designControl unit design
Control unit designDhaval Bagal
 
Computer architecture and organization
Computer architecture and organizationComputer architecture and organization
Computer architecture and organizationTushar B Kute
 
Multivector and multiprocessor
Multivector and multiprocessorMultivector and multiprocessor
Multivector and multiprocessorKishan Panara
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazardAJAL A J
 

Tendances (20)

Micro program example
Micro program exampleMicro program example
Micro program example
 
MCA-I-COA- overview of register transfer, micro operations and basic computer...
MCA-I-COA- overview of register transfer, micro operations and basic computer...MCA-I-COA- overview of register transfer, micro operations and basic computer...
MCA-I-COA- overview of register transfer, micro operations and basic computer...
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle ppt
 
Computer organization
Computer organizationComputer organization
Computer organization
 
Input output organization
Input output organizationInput output organization
Input output organization
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)
 
Computer architecture input output organization
Computer architecture input output organizationComputer architecture input output organization
Computer architecture input output organization
 
The Basic Organization of Computers
The Basic Organization of ComputersThe Basic Organization of Computers
The Basic Organization of Computers
 
Basic Computer Organization and Design
Basic  Computer  Organization  and  DesignBasic  Computer  Organization  and  Design
Basic Computer Organization and Design
 
Control Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unitControl Units : Microprogrammed and Hardwired:control unit
Control Units : Microprogrammed and Hardwired:control unit
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and Architecture
 
Input output interface
Input output interfaceInput output interface
Input output interface
 
Interrupts and types of interrupts
Interrupts and types of interruptsInterrupts and types of interrupts
Interrupts and types of interrupts
 
Risc and cisc
Risc and ciscRisc and cisc
Risc and cisc
 
Computer instructions
Computer instructionsComputer instructions
Computer instructions
 
Array Processor
Array ProcessorArray Processor
Array Processor
 
Control unit design
Control unit designControl unit design
Control unit design
 
Computer architecture and organization
Computer architecture and organizationComputer architecture and organization
Computer architecture and organization
 
Multivector and multiprocessor
Multivector and multiprocessorMultivector and multiprocessor
Multivector and multiprocessor
 
Pipeline hazard
Pipeline hazardPipeline hazard
Pipeline hazard
 

En vedette

BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE Himanshu Sharma
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer ArchitectureYong Heui Cho
 
8 bit single cycle processor
8 bit single cycle processor8 bit single cycle processor
8 bit single cycle processorDhaval Kaneria
 
05 instruction set design and architecture
05 instruction set design and architecture05 instruction set design and architecture
05 instruction set design and architectureWaqar Jamil
 
Mips implementation
Mips implementationMips implementation
Mips implementationhoang974
 
Lec 12-15 mips instruction set processor
Lec 12-15 mips instruction set processorLec 12-15 mips instruction set processor
Lec 12-15 mips instruction set processorMayank Roy
 
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Rahul Borthakur
 

En vedette (10)

BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer Architecture
 
8 bit single cycle processor
8 bit single cycle processor8 bit single cycle processor
8 bit single cycle processor
 
05 instruction set design and architecture
05 instruction set design and architecture05 instruction set design and architecture
05 instruction set design and architecture
 
8 bit alu design
8 bit alu design8 bit alu design
8 bit alu design
 
06 mips-isa
06 mips-isa06 mips-isa
06 mips-isa
 
Mips implementation
Mips implementationMips implementation
Mips implementation
 
Case study of digital camera
Case study of digital cameraCase study of digital camera
Case study of digital camera
 
Lec 12-15 mips instruction set processor
Lec 12-15 mips instruction set processorLec 12-15 mips instruction set processor
Lec 12-15 mips instruction set processor
 
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
Designing of 8 BIT Arithmetic and Logical Unit and implementing on Xilinx Ver...
 

Similaire à Computer Architecture – An Introduction

4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]shibbirtanvin
 
4bit PC report
4bit PC report4bit PC report
4bit PC reporttanvin
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessorankitnav1
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessorankitnav1
 
A Computer Based Artificial Neural Network Controller with Interactive Audito...
A Computer Based Artificial Neural Network Controller with Interactive Audito...A Computer Based Artificial Neural Network Controller with Interactive Audito...
A Computer Based Artificial Neural Network Controller with Interactive Audito...theijes
 
Fundamentals of Computers MCQS.docx
Fundamentals of Computers MCQS.docxFundamentals of Computers MCQS.docx
Fundamentals of Computers MCQS.docxkarthikaparthasarath
 
5_2018_08_07!07_51_31_AM.pdf
5_2018_08_07!07_51_31_AM.pdf5_2018_08_07!07_51_31_AM.pdf
5_2018_08_07!07_51_31_AM.pdfBizuayehuDesalegn
 
Lecture1 - Computer Architecture
Lecture1 - Computer ArchitectureLecture1 - Computer Architecture
Lecture1 - Computer ArchitectureVolodymyr Ushenko
 
Digital Electronics & Computer Oraganisation
Digital Electronics & Computer OraganisationDigital Electronics & Computer Oraganisation
Digital Electronics & Computer Oraganisationamitymbaassignment
 
Verilog Implementation of 32-Bit CISC Processor
Verilog Implementation of 32-Bit CISC ProcessorVerilog Implementation of 32-Bit CISC Processor
Verilog Implementation of 32-Bit CISC ProcessorIJERA Editor
 
Data Manipulation
Data ManipulationData Manipulation
Data ManipulationAsfi Bhai
 
DCS ( Distributed Control System )
DCS ( Distributed Control System )DCS ( Distributed Control System )
DCS ( Distributed Control System )Automation123
 
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER cscpconf
 
Computer organisation Module 1.ppt
Computer organisation Module 1.pptComputer organisation Module 1.ppt
Computer organisation Module 1.pptSoulReaper21
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 vijaydeepakg
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and DesignKamal Acharya
 

Similaire à Computer Architecture – An Introduction (20)

Introduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSPIntroduction to Blackfin BF532 DSP
Introduction to Blackfin BF532 DSP
 
4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]4bit pc report[cse 08-section-b2_group-02]
4bit pc report[cse 08-section-b2_group-02]
 
4bit PC report
4bit PC report4bit PC report
4bit PC report
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessor
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessor
 
A Computer Based Artificial Neural Network Controller with Interactive Audito...
A Computer Based Artificial Neural Network Controller with Interactive Audito...A Computer Based Artificial Neural Network Controller with Interactive Audito...
A Computer Based Artificial Neural Network Controller with Interactive Audito...
 
Fundamentals of Computers MCQS.docx
Fundamentals of Computers MCQS.docxFundamentals of Computers MCQS.docx
Fundamentals of Computers MCQS.docx
 
5_2018_08_07!07_51_31_AM.pdf
5_2018_08_07!07_51_31_AM.pdf5_2018_08_07!07_51_31_AM.pdf
5_2018_08_07!07_51_31_AM.pdf
 
Lecture1 - Computer Architecture
Lecture1 - Computer ArchitectureLecture1 - Computer Architecture
Lecture1 - Computer Architecture
 
Digital Electronics & Computer Oraganisation
Digital Electronics & Computer OraganisationDigital Electronics & Computer Oraganisation
Digital Electronics & Computer Oraganisation
 
Verilog Implementation of 32-Bit CISC Processor
Verilog Implementation of 32-Bit CISC ProcessorVerilog Implementation of 32-Bit CISC Processor
Verilog Implementation of 32-Bit CISC Processor
 
unit 5-ERTS.pptx
unit 5-ERTS.pptxunit 5-ERTS.pptx
unit 5-ERTS.pptx
 
Data Manipulation
Data ManipulationData Manipulation
Data Manipulation
 
Dcs write up
Dcs write upDcs write up
Dcs write up
 
DCS ( Distributed Control System )
DCS ( Distributed Control System )DCS ( Distributed Control System )
DCS ( Distributed Control System )
 
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER
IMPLEMENTATION OF USER INTERFACE FOR MICROPROCESSOR TRAINER
 
Computer organisation Module 1.ppt
Computer organisation Module 1.pptComputer organisation Module 1.ppt
Computer organisation Module 1.ppt
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
 

Plus de Dilum Bandara

Wired Broadband Communication
Wired Broadband CommunicationWired Broadband Communication
Wired Broadband CommunicationDilum Bandara
 
Wireless Metropolitan Area Networks
Wireless Metropolitan Area NetworksWireless Metropolitan Area Networks
Wireless Metropolitan Area NetworksDilum Bandara
 
Wireless sensor networks
Wireless sensor networksWireless sensor networks
Wireless sensor networksDilum Bandara
 
Distributed Memory Programming with MPI
Distributed Memory Programming with MPIDistributed Memory Programming with MPI
Distributed Memory Programming with MPIDilum Bandara
 
Mutual Exclusion in Distributed Memory Systems
Mutual Exclusion in Distributed Memory SystemsMutual Exclusion in Distributed Memory Systems
Mutual Exclusion in Distributed Memory SystemsDilum Bandara
 
Solution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingSolution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingDilum Bandara
 
Concurrent Programming Patterns
Concurrent Programming PatternsConcurrent Programming Patterns
Concurrent Programming PatternsDilum Bandara
 
Writing Concurrent Programs
Writing Concurrent ProgramsWriting Concurrent Programs
Writing Concurrent ProgramsDilum Bandara
 
Interprocess Communication
Interprocess CommunicationInterprocess Communication
Interprocess CommunicationDilum Bandara
 
Introduction to Accelerators
Introduction to AcceleratorsIntroduction to Accelerators
Introduction to AcceleratorsDilum Bandara
 
Shared Memory Programming with Pthreads and OpenMP
Shared Memory Programming with  Pthreads and OpenMPShared Memory Programming with  Pthreads and OpenMP
Shared Memory Programming with Pthreads and OpenMPDilum Bandara
 
How Much Parallelism?
How Much Parallelism?How Much Parallelism?
How Much Parallelism?Dilum Bandara
 
Introduction to Concurrent Programming
Introduction to Concurrent ProgrammingIntroduction to Concurrent Programming
Introduction to Concurrent ProgrammingDilum Bandara
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Dilum Bandara
 
A Decision Model for Choosing Patterns in Blockchain-based Applications
A Decision Model for Choosing Patterns in Blockchain-based ApplicationsA Decision Model for Choosing Patterns in Blockchain-based Applications
A Decision Model for Choosing Patterns in Blockchain-based ApplicationsDilum Bandara
 

Plus de Dilum Bandara (20)

Mobile Services
Mobile ServicesMobile Services
Mobile Services
 
Wired Broadband Communication
Wired Broadband CommunicationWired Broadband Communication
Wired Broadband Communication
 
Mobile IP
Mobile IPMobile IP
Mobile IP
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Wireless Metropolitan Area Networks
Wireless Metropolitan Area NetworksWireless Metropolitan Area Networks
Wireless Metropolitan Area Networks
 
Wireless sensor networks
Wireless sensor networksWireless sensor networks
Wireless sensor networks
 
Distributed Memory Programming with MPI
Distributed Memory Programming with MPIDistributed Memory Programming with MPI
Distributed Memory Programming with MPI
 
Mutual Exclusion in Distributed Memory Systems
Mutual Exclusion in Distributed Memory SystemsMutual Exclusion in Distributed Memory Systems
Mutual Exclusion in Distributed Memory Systems
 
Deadlocks
DeadlocksDeadlocks
Deadlocks
 
Solution Patterns for Parallel Programming
Solution Patterns for Parallel ProgrammingSolution Patterns for Parallel Programming
Solution Patterns for Parallel Programming
 
Concurrent Programming Patterns
Concurrent Programming PatternsConcurrent Programming Patterns
Concurrent Programming Patterns
 
Writing Concurrent Programs
Writing Concurrent ProgramsWriting Concurrent Programs
Writing Concurrent Programs
 
Interprocess Communication
Interprocess CommunicationInterprocess Communication
Interprocess Communication
 
Mutual Exclusion
Mutual ExclusionMutual Exclusion
Mutual Exclusion
 
Introduction to Accelerators
Introduction to AcceleratorsIntroduction to Accelerators
Introduction to Accelerators
 
Shared Memory Programming with Pthreads and OpenMP
Shared Memory Programming with  Pthreads and OpenMPShared Memory Programming with  Pthreads and OpenMP
Shared Memory Programming with Pthreads and OpenMP
 
How Much Parallelism?
How Much Parallelism?How Much Parallelism?
How Much Parallelism?
 
Introduction to Concurrent Programming
Introduction to Concurrent ProgrammingIntroduction to Concurrent Programming
Introduction to Concurrent Programming
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
 
A Decision Model for Choosing Patterns in Blockchain-based Applications
A Decision Model for Choosing Patterns in Blockchain-based ApplicationsA Decision Model for Choosing Patterns in Blockchain-based Applications
A Decision Model for Choosing Patterns in Blockchain-based Applications
 

Dernier

Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdfRenewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdfodunowoeminence2019
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxLMW Machine Tool Division
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationMohsinKhanA
 
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Ame3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Akarthi keyan
 
Mohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxMohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxKISHAN KUMAR
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Sean Meyn
 
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...soginsider
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS Bahzad5
 
Landsman converter for power factor improvement
Landsman converter for power factor improvementLandsman converter for power factor improvement
Landsman converter for power factor improvementVijayMuni2
 
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Apollo Techno Industries Pvt Ltd
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfGiovanaGhasary1
 
ASME BPVC 2023 Section I para leer y entender
ASME BPVC 2023 Section I para leer y entenderASME BPVC 2023 Section I para leer y entender
ASME BPVC 2023 Section I para leer y entenderjuancarlos286641
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchrohitcse52
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxJoseeMusabyimana
 
Design of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxDesign of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxYogeshKumarKJMIT
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxwendy cai
 
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docxSUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docxNaveenVerma126
 

Dernier (20)

Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdfRenewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
Renewable Energy & Entrepreneurship Workshop_21Feb2024.pdf
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
 
A Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software SimulationA Seminar on Electric Vehicle Software Simulation
A Seminar on Electric Vehicle Software Simulation
 
Présentation IIRB 2024 Marine Cordonnier.pdf
Présentation IIRB 2024 Marine Cordonnier.pdfPrésentation IIRB 2024 Marine Cordonnier.pdf
Présentation IIRB 2024 Marine Cordonnier.pdf
 
me3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part Ame3493 manufacturing technology unit 1 Part A
me3493 manufacturing technology unit 1 Part A
 
Mohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptxMohs Scale of Hardness, Hardness Scale.pptx
Mohs Scale of Hardness, Hardness Scale.pptx
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
 
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...Transforming Process Safety Management: Challenges, Benefits, and Transition ...
Transforming Process Safety Management: Challenges, Benefits, and Transition ...
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
 
Landsman converter for power factor improvement
Landsman converter for power factor improvementLandsman converter for power factor improvement
Landsman converter for power factor improvement
 
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...Technology Features of Apollo HDD Machine, Its Technical Specification with C...
Technology Features of Apollo HDD Machine, Its Technical Specification with C...
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdf
 
Lecture 2 .pdf
Lecture 2                           .pdfLecture 2                           .pdf
Lecture 2 .pdf
 
ASME BPVC 2023 Section I para leer y entender
ASME BPVC 2023 Section I para leer y entenderASME BPVC 2023 Section I para leer y entender
ASME BPVC 2023 Section I para leer y entender
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
EPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptxEPE3163_Hydro power stations_Unit2_Lect2.pptx
EPE3163_Hydro power stations_Unit2_Lect2.pptx
 
Design of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxDesign of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptx
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptx
 
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docxSUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
SUMMER TRAINING REPORT ON BUILDING CONSTRUCTION.docx
 
計劃趕得上變化
計劃趕得上變化計劃趕得上變化
計劃趕得上變化
 

Computer Architecture – An Introduction

  • 1. Computer Architecture – An Introduction CS2052 Computer Architecture Computer Science & Engineering University of Moratuwa Dilum Bandara Dilum.Bandara@uom.lk
  • 2. From Outside 2 Input Output Processor Memory Hard disk DVD ROM Graphics card Ethernet Source: techwench.com
  • 3. From Outside (Cont.) Source: Daniel Zanetti, wikimedia.org 3 Source: Amazon.com Touch pad Touch screen Wireless Screen size Weight Battery capacity SD Card slot Sensors
  • 4. From Inside Source: http://rays-place.net 4 Source: http://news.techgenie.com
  • 5. From Inside (Cont.) 5 Source: www.laptopaid.com Source: http://techgoesboom.com
  • 6. From Inside (Cont.) 6 iPhone 6
  • 7. What We Are Going To Study?  How these internal components look like?  Top-down approach with schematics  How do they fit together?  How to program them?  How to improve their performance? 7
  • 8. Very High-Level View of a Computer  CPU – execute instructions  Memory – store program & data System Bus  IO devices – receive inputs & produce outputs  Bus – interconnects everything by transferring data 8 Central Processing Unit (CPU) Main Memory Input/output (IO) Devices
  • 9. Blocks of a Microprocessor 9 Program Memory Instruction Register STACK Program Counter Instruction Decoder Timing, Control, & Register selection Accumulator RAM & Data Registers ALU IO IO FLAG & Special Purpose Registers Source: Makis Malliris & Sabir Ghauri, UWE
  • 10. Blocks of a Microprocessor (Cont.) 10 Literal Address Operation Program Memory Instruction Register Address STACK Program Counter Instruction Decoder Timing, Control and Register selection Accumulator RAM & Data Registers ALU IO IO FLAG & Special Function Registers Clock Reset Interrupts Program Execution Section Register Processing Section Set up Set up Modify Internal data bus Source: Makis Malliris & Sabir Ghauri, UWE
  • 11. Arithmetic & Logic Unit (ALU)  Data processing unit  Arithmetic unit  Performs arithmetic operations  Logic unit  Performs logical operations 11 Accumulator Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
  • 12. Registers  Type of memory located inside CPU  Can hold a single piece of data  This data is useful in both data processing & control functionalities  Several types of CPU registers  Program Counter (PC)  Instruction Register (IR)  Accumulator or working register  Special purpose registers  Flag register  General purpose registers 12
  • 13. Program Counter (PC)  Used to keep track of memory address of next instruction to be executed  When instructions are fetched, always instruction pointed by PC is fetched into CPU  Once the instruction is fetched, PC is updated to point to next instruction  PC = PC + d 13
  • 14. Instruction Register (IR)  Once fetched, instructions are stored in IR for execution  Located closely to control unit which decodes the instruction 14
  • 15. Accumulator (A) / Working Register (W)  Results of arithmetic & logical operations always go to accumulator  Connected directly to output of ALU 15 Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
  • 16. FLAG/STATUS Register  Individual bits Indicate status of ALU operations Source: www.plantation-productions.com/Webster/www.artofasm.com/Linux/HTML/RealArithmetic.html 16
  • 17. 17 Internal Structure B C D E ALU A Address Bus PC IR ALU Control Unit FLAG +1 CTRL Bus Data Bus Source : Dr. Chathura de Silva, CSE, UoM
  • 18. 18 Sample Program 100: Load A,10 101: Load B,15 102: Add A,B 103: STORE A,[20] Load A,10 Load B,15 ADD A,B STORE A,[20] 100 101 102 103 104 105 Program memory 18 19 20 21 00 00 00 00 Data memory
  • 19. 19 Instruction Execution Sequence 1. Fetch next instruction from memory to IR 2. Change PC to point to next instruction 3. Determine type of instruction just fetched 4. If instruction needs data from memory, determine where it is 5. Fetch data if needed into register 6. Execute instruction 7. Go to step 1 & continue with next instruction
  • 20. 20 Before execution of 1st fetch cycle B C D E ALU A Address Bus 100 IR ALU Control Unit FLAG +1 CTRL Bus Data Bus Source: Dr. Chathura de Silva, CSE, UoM
  • 21. 21 After 1st fetch cycle … B C D E ALU A Address Bus 101 ALU Load A,10 Control Unit FLAG +1 CTRL Bus Data Bus
  • 22. 22 After 1st instruction cycle … B C D E ALU 10 Address Bus 101 ALU Load A,10 Control Unit FLAG +1 CTRL Bus Data Bus
  • 23. 23 Sample Program (Cont.) 100: Load A,10 101: Load B,15 102: Add A,B
  • 24. 24 After 2nd fetch cycle … B C D E ALU A Address Bus 102 ALU Load B,15 Control Unit FLAG +1 CTRL Bus Data Bus
  • 25. 25 After 2nd instruction cycle … 15 C D E ALU 10 Address Bus 102 ALU Load B,15 Control Unit FLAG +1 CTRL Bus Data Bus
  • 26. 26 Sample Program (Cont.) 100: Load A,10 101: Load B,15 102: Add A,B
  • 27. 27 After 3rd fetch cycle … 15 C D E ALU 10 Address Bus 103 ALU ADD A,B Control Unit FLAG +1 CTRL Bus Data Bus
  • 28. 28 After 3rd instruction cycle … 15 C D E ALU 25 Address Bus 103 ALU ADD A,B Control Unit FLAG +1 CTRL Bus Data Bus
  • 29. Architectural Differences  Length of microprocessors’ data word  4, 8, 16, 32, 64, & 128 bit  Speed of instruction execution  Clock rate & processor speed  Size of direct addressable memory  CPU architecture  Instruction set  Number & types of registers  Support circuits  Compatibility with existing software & hardware development systems 29
  • 30. Microprocessor vs. Microcontroller  Microprocessor – CPU & various IO functions are packed as separate ICs  Microcontroller – Most IO functions are integrated into same package with CPU 30 Program Memory Microprocessor Clock Data Storage I/O I/O I/O Program Memory Microprocessor Core Real-time Clock I/O I/O I/O Data Storage
  • 31. Programming Hierarchies 31 Source: Introduction to PIC Microcontroller – Part 1 by Khan Wahid
  • 32. Programming Language Levels  Machine code (40s-50s)  0001000000111000 0001001000110100  0101110000000000  0001110000000000 0001001000110101  Hex notation (50s-60s)  1038 1234  5C00  1E00 1235 Source: http://mentalfloss.com/article/53160/meet- 32 refrigerator-ladies-who-programmed-eniac
  • 33. Programming Language Levels (Cont.)  Assembler  Machine code (60s-70s) .define const = 6 num1: .byte [1] num2: .byte [2] move.b num1,d0 addq.b #const,d0 move.b d0,num2  High-level languages  C code fragment (70s-80s) #define const 6 int num1, num2; num2 = num1 + const; 33
  • 34. When is Assembler Appropriate?  Parts of a program where absolute speed is critical  More effective use of CPU registers & instruction set  Can produce code that runs faster than that produced by a compiler  There may be no other way to access a particular feature of hardware  Compiler might not provide library functions to access IO ports or to disable/enable interrupts  Compiler might not take advantage of CPU special instructions  BCD arithmetic, binary-ASCII conversion, table lookups, high speed copying of entire blocks of data 34
  • 35. Building Digital Solutions to Computational Problems 35  Labs & design project  Product specs  Algorithms, RTL, etc.  Flowcharts  State transition diagrams  Logic equations  Circuit schematics  Verilog or VHDL code  Assembler  C, C++  TTL Gates (AND, OR, XOR ... )  Programmable Logic  Custom ASICs  FPGAs  MCs, DSPs
  • 36. Real-World Performance Metrics  Commercial digital designs seek the most appropriate trade-offs for the target application  Time-to-market is also very important 36 Cost Commodity Products Speed Scientific Computing, Simulation Energy Portable Devices Capacity Multimedia, Scientific Computing, Simulation