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

file system in operating system
file system in operating systemfile system in operating system
file system in operating systemtittuajay
 
Computer organization & architecture chapter-1
Computer organization & architecture chapter-1Computer organization & architecture chapter-1
Computer organization & architecture chapter-1
Shah Rukh Rayaz
 
Flynns classification
Flynns classificationFlynns classification
Flynns classification
Yasir Khan
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
Kushal Modi
 
Computer registers
Computer registersComputer registers
Computer registers
DeepikaT13
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)
Gaditek
 
Instruction Execution Cycle
Instruction Execution CycleInstruction Execution Cycle
Instruction Execution Cycle
utsav_shah
 
General register organization (computer organization)
General register organization  (computer organization)General register organization  (computer organization)
General register organization (computer organization)
rishi ram khanal
 
I/O System
I/O SystemI/O System
I/O System
Nagarajan
 
Chapter 13 - I/O Systems
Chapter 13 - I/O SystemsChapter 13 - I/O Systems
Chapter 13 - I/O Systems
Wayne Jones Jnr
 
RISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingRISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set Computing
Tushar Swami
 
Computer organization memory
Computer organization memoryComputer organization memory
Computer organization memory
Deepak John
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
Subhasis Dash
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
priyadeosarkar91
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and Architecture
Vinit Raut
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
Kamal Acharya
 
Chapter 1 microprocessor introduction
Chapter 1 microprocessor introductionChapter 1 microprocessor introduction
Chapter 1 microprocessor introduction
Shubham Singh
 
Registers
RegistersRegisters
Registers
Sahil Bansal
 

What's hot (20)

file system in operating system
file system in operating systemfile system in operating system
file system in operating system
 
Computer organization & architecture chapter-1
Computer organization & architecture chapter-1Computer organization & architecture chapter-1
Computer organization & architecture chapter-1
 
Flynns classification
Flynns classificationFlynns classification
Flynns classification
 
Device Drivers
Device DriversDevice Drivers
Device Drivers
 
Instruction cycle
Instruction cycleInstruction cycle
Instruction cycle
 
Computer registers
Computer registersComputer registers
Computer registers
 
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA)
 
Instruction Execution Cycle
Instruction Execution CycleInstruction Execution Cycle
Instruction Execution Cycle
 
General register organization (computer organization)
General register organization  (computer organization)General register organization  (computer organization)
General register organization (computer organization)
 
Lecture 3 instruction set
Lecture 3  instruction setLecture 3  instruction set
Lecture 3 instruction set
 
I/O System
I/O SystemI/O System
I/O System
 
Chapter 13 - I/O Systems
Chapter 13 - I/O SystemsChapter 13 - I/O Systems
Chapter 13 - I/O Systems
 
RISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingRISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set Computing
 
Computer organization memory
Computer organization memoryComputer organization memory
Computer organization memory
 
Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1) Computer Organisation & Architecture (chapter 1)
Computer Organisation & Architecture (chapter 1)
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
 
Processor Organization and Architecture
Processor Organization and ArchitectureProcessor Organization and Architecture
Processor Organization and Architecture
 
Basic Computer Organization and Design
Basic Computer Organization and DesignBasic Computer Organization and Design
Basic Computer Organization and Design
 
Chapter 1 microprocessor introduction
Chapter 1 microprocessor introductionChapter 1 microprocessor introduction
Chapter 1 microprocessor introduction
 
Registers
RegistersRegisters
Registers
 

Viewers also liked

BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE BASIC COMPUTER ARCHITECTURE
BASIC COMPUTER ARCHITECTURE Himanshu Sharma
 
Basic Computer Architecture
Basic Computer ArchitectureBasic Computer Architecture
Basic Computer Architecture
Yong Heui Cho
 
8 bit single cycle processor
8 bit single cycle processor8 bit single cycle processor
8 bit single cycle processor
Dhaval 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
 
8 bit alu design
8 bit alu design8 bit alu design
8 bit alu design
Shobhan Pujari
 
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 processor
Mayank 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
 
Computer architecture and organization
Computer architecture and organizationComputer architecture and organization
Computer architecture and organization
Tushar B Kute
 

Viewers also liked (11)

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
 

Similar to Computer Architecture – An Introduction

4bit PC report
4bit PC report4bit PC report
4bit PC report
tanvin
 
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
 
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
ShahdAbdElsamea2
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessor
ankitnav1
 
Introduction to-microprocessor
Introduction to-microprocessorIntroduction to-microprocessor
Introduction to-microprocessor
ankitnav1
 
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.docx
karthikaparthasarath
 
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
BizuayehuDesalegn
 
Lecture1 - Computer Architecture
Lecture1 - Computer ArchitectureLecture1 - Computer Architecture
Lecture1 - Computer Architecture
Volodymyr Ushenko
 
Digital Electronics & Computer Oraganisation
Digital Electronics & Computer OraganisationDigital Electronics & Computer Oraganisation
Digital Electronics & Computer Oraganisation
amitymbaassignment
 
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
IJERA Editor
 
unit 5-ERTS.pptx
unit 5-ERTS.pptxunit 5-ERTS.pptx
unit 5-ERTS.pptx
Manikandan813397
 
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.ppt
SoulReaper21
 
Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 Sudhir tms 320 f 2812
Sudhir tms 320 f 2812 vijaydeepakg
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
DustinGraham19
 

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
4bit PC report4bit PC report
4bit PC report
 
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]
 
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 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
 
UNIT-III ES.ppt
UNIT-III ES.pptUNIT-III ES.ppt
UNIT-III ES.ppt
 

More from Dilum Bandara

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Dilum Bandara
 
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
Dilum Bandara
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
Dilum Bandara
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
Dilum Bandara
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
Dilum Bandara
 
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
Dilum Bandara
 
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
Dilum Bandara
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
Dilum Bandara
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
Dilum Bandara
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
Dilum Bandara
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
Dilum Bandara
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
Dilum Bandara
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
Dilum Bandara
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
Dilum Bandara
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
Dilum Bandara
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
Dilum Bandara
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
Dilum Bandara
 
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
Dilum Bandara
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
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

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 

Recently uploaded (20)

AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 

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