SlideShare a Scribd company logo
1 of 36
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

More Related Content

What's hot

Computer Organization and Architecture.pptx
Computer Organization and Architecture.pptxComputer Organization and Architecture.pptx
Computer Organization and Architecture.pptx
AshokRachapalli1
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly language
Ahmed M. Abed
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle ppt
sheetal singh
 

What's hot (20)

Instruction format
Instruction formatInstruction format
Instruction format
 
Types of Instruction Format
Types of Instruction FormatTypes of Instruction Format
Types of Instruction Format
 
Input output interface
Input output interfaceInput output interface
Input output interface
 
CISC & RISC Architecture
CISC & RISC Architecture CISC & RISC Architecture
CISC & RISC Architecture
 
Computer Organization and Architecture.pptx
Computer Organization and Architecture.pptxComputer Organization and Architecture.pptx
Computer Organization and Architecture.pptx
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
 
Fixed point and floating-point numbers
Fixed point and  floating-point numbersFixed point and  floating-point numbers
Fixed point and floating-point numbers
 
Displacement addressing
Displacement addressingDisplacement addressing
Displacement addressing
 
Floating point representation
Floating point representationFloating point representation
Floating point representation
 
Computer architecture instruction formats
Computer architecture instruction formatsComputer architecture instruction formats
Computer architecture instruction formats
 
Input Output Organization
Input Output OrganizationInput Output Organization
Input Output Organization
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
pipelining
pipeliningpipelining
pipelining
 
Register & Memory
Register & MemoryRegister & Memory
Register & Memory
 
Memory Organization
Memory OrganizationMemory Organization
Memory Organization
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
Part I:Introduction to assembly language
Part I:Introduction to assembly languagePart I:Introduction to assembly language
Part I:Introduction to assembly language
 
Unit 4-booth algorithm
Unit 4-booth algorithmUnit 4-booth algorithm
Unit 4-booth algorithm
 
Computer instruction
Computer instructionComputer instruction
Computer instruction
 
instruction cycle ppt
instruction cycle pptinstruction cycle ppt
instruction cycle ppt
 

Viewers also liked

BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE
Himanshu Sharma
 
05 instruction set design and architecture
05 instruction set design and architecture05 instruction set design and architecture
05 instruction set design and architecture
Waqar Jamil
 
Mips implementation
Mips implementationMips implementation
Mips implementation
hoang974
 

Viewers also liked (12)

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...
 
Computer architecture and organization
Computer architecture and organizationComputer architecture and organization
Computer architecture and organization
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set Architecture
 

Similar to Computer Architecture – An Introduction

Data Manipulation
Data ManipulationData Manipulation
Data Manipulation
Asfi Bhai
 
DCS ( Distributed Control System )
DCS ( Distributed Control System )DCS ( Distributed Control System )
DCS ( Distributed Control System )
Automation123
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812
vijaydeepakg
 

Similar to 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
 
Computer Organization and Architecture 10th - William Stallings, Ch01.pdf
Computer Organization and Architecture 10th - William Stallings, Ch01.pdfComputer Organization and Architecture 10th - William Stallings, Ch01.pdf
Computer Organization and Architecture 10th - William Stallings, Ch01.pdf
 
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 ( Distributed Control System )
DCS ( Distributed Control System )DCS ( Distributed Control System )
DCS ( Distributed Control System )
 
Dcs write up
Dcs write upDcs write up
Dcs write up
 
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
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
 

More from Dilum Bandara

More from Dilum Bandara (20)

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
 

Recently uploaded

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 

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