SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
Embedded
system
design(10EC74)
UNIT -2: The Hardware Side
BY
Ramesh H R
Dept.of ECE , CIT Ponnampet
Things to Look for
 The differences between microprocesors,microcomputers and microcontrollers.
 The four major functional blocks of a computer and their interconnecting
busses.
 How to represent numbers,characters,adresses and instructions in a digital
system.
 Different instruction formats and addressing and instructions in a digital system.
 Different instructions formats and addressing modes.
 Data and control flow through a computer.
 The instruction set architecture level(ISA) model of a computer.
 The computer instruction cycle.
 The register transfer level (RTL) model of a computer.
Dept.of ECE , CIT Ponnampet
An introduction
 Our study of the hardware side of
embedded systems begins with a high
level view of the computing core of
the system.
 We will expand and refine that view to
include a detailed discussion of the
hardware (and its interaction with the
software) both inside and outside of
that core.
 The computing core is the central
hardware component in any modern
embedded application.
 It interacts with and utilizes the
remaining components of the system
to implement the required application
Dept.of ECE , CIT Ponnampet
The core level
 We begin with a model comprising four major
functional blocks (input, output, memory,
and data path and control) depicting the
embedded hardware core and the high level
signal flow.
 While there is nothing inherent in the model
that demands a microprocessor, typically, one
is used for the computation and control
function.
 The memory block holds program
instructions (software and firmware),
provides short-term storage for input data,
output data, and intermediate results of
computations.
 Data as well as other kinds of signals come
into the system through the input block; they
are sent back to the outside world through the
output block.
Dept.of ECE , CIT Ponnampet
Typical Bus Structure
 The datapath and control block (the CPU) coordinates the activities of the system as
well as performs computations and data manipulation operations.
 We move signals into, out of, or throughout the system on paths called busses. Signals
flowing on the wires making up the busses are classified into three major categories:
address, data, and control.
Dept.of ECE , CIT Ponnampet
Bus width (Data movement over an 8 bit buses)
 The width of a bus, that is, the number of signals or bits that it can carry
simultaneously, provides an indirect measure of how quickly information can be
moved.
 The Figure illustrates moving such a set of data over an 8-bit bus from a source
module to a destination module.
Fig : Identifying the number of signals in a bus
Dept.of ECE , CIT Ponnampet
The microprocessor
 CPUs differ in the internal
architecture, including the
internal registers number
and structure , the overall
control structure
 Registers are small amounts
of Highspeed memory that
are used to temporarily
store frequently used values
Dept.of ECE , CIT Ponnampet
The whole application: peripherals
 To implement a complete (embedded) computer system, we must still include the
input/output subsystems and the external (to the microprocessor) memory system.
We also include a clock or timing reference as the basis for timing, scheduling, or
measuring elapsed.
 All such components are connected via a system bus or busses.
 As regards the memory and the bus architecture, the CPU architecture can be von
Neumann or Harvard.
Dept.of ECE , CIT Ponnampet
Harvard vs. Von Neumann
• The Von Neumann architecture uses a single
memory to hold both data and instructions.
• In comparison, the Harvard architecture uses
separate memories,
• The Super Harvard Architecture
adds an instruction cache and a
dedicated I/O controller.
• PM may contain secondary data…
Dept.of ECE , CIT Ponnampet
Microprocessors, Microcontrollers and DSPs
 Microcontrollers and DSPs evolved from the original
microprocessors.
 Microprocessors
– Processors for general purpose processing.
 Microcontrollers
– Processor specifically designed for control applications.
 DSPs
– Processors specifically designed for digital signal
processing.
Dept.of ECE , CIT Ponnampet
The microcontroller
 The microcontroller brings together the microprocessor core and a
rich collection of peripherals and I/O capability into a single
integrated circuit.
 A memory subsystem may or may not be included.
Dept.of ECE , CIT Ponnampet
Microprocessor vs. Microcontroller Systems
Dept.of ECE , CIT Ponnampet
The DSP
 The DSP is a specific processor ability to perform basic
arithmetic computations such as multiply, add, and shift at
the rate of millions of operations per second.
 To support high-speed arithmetic, the device will often
implement a multiply-accumulate (MAC) primitive
 Arithmetic operations often utilize saturation arithmetic in
which overflows (underflows) remain at the maximum
(minimum) value rather than wrapping .
 The DSP device is architected as a Harvard rather than the
von Neumann machine and incorporates multiple
computational units a large number of registers, and wide
high-bandwidth data busses.
Dept.of ECE , CIT Ponnampet
The DSP
Dept.of ECE , CIT Ponnampet
Representing Information
 In any embedded application, in addition to the expected numbers and symbols or
characters, we must be able to represent both firmware instructions and the data that
such instructions may be operating on.
 Because these instructions are stored in memory, we also need to be able to represent
addresses in memory where the data and instructions are stored.
 WORD SIZE:
 One of the terms that we use to characterize a microprocessor is its word size.
 Word size refers to an integer.
 If the word size is 32 bits ,then microprocessor is called 32 bit machine.
 Data bus width will be 32 bit.
Dept.of ECE , CIT Ponnampet
Understanding numbers
 In a embedded system, the integer and floating point numbers normally
represented as binary values and are stored either in memory or in registers
– small pieces of memory.
 The effects of finite word size are on resolution,accuracy,errors and the
propagation errors in the operation performed by the microprocessor.
 Resolution:
Dept.of ECE , CIT Ponnampet
Example: Truncation v/s Rounding
The number 2.3 can be represented in 4 bits with 2 bit resolution.
1. 10.10  2.5 error is 0.2
2. 10.01  2.25 error is -0.05 all the that can be resolved is 0.25
Dept.of ECE , CIT Ponnampet
Propagation error

Dept.of ECE , CIT Ponnampet
Propagation error: Example
Dept.of ECE , CIT Ponnampet
ADDRESSES
 Addressing the memory:
 In the earlier functional diagram as well as in the block diagram for a
microprocessor, we earned that information is stored in memory.
 Each location in memory has an associated address much like an index in an
array
 The microprocessor does not support negative addresses: an address does
not look any different from an unsigned integer.
 A memory location may point to another one:
int myVar = 10;
/ / take the address of myVar
// assign it to the pointer variable myvarptr
int* myVarPtr = &myVar;
For a word size of 32 bits,the addresses ranges
from 00000000 to FFFFFFFF
Dept.of ECE , CIT Ponnampet
Instructions
 The purpose of an instruction is to direct the hardware of the
microprocessor to perform a series of actions.
 Such actions are called operations. The entities that instructions operate on
are denoted operands.
 The number of operands that an instruction operates on at any time is called
the arity of the operation. We may have the one-, two-, or three-operand
instruction.
 Instruction bits are aggregated into groups or fields. Some of the fields are
interpreted as the operation to be performed, and others are seen as the
operands involved in the operation.
 Each instruction has an unique code: the op-code.
Dept.of ECE , CIT Ponnampet
Examples:
 Binary operators and unary operators:
 Example with C/C++,
 Let us look code fragment: x=y + z;
1. X=Y
2. Z=X+Y
3.X=X+Y
4.++X OR X++
Dept.of ECE , CIT Ponnampet
Instructions
Dept.of ECE , CIT Ponnampet
REGISTERS –A FIRST LOOK
 If an instruction, containing even a single operand, in addition to the op-
code, is 32 bits, a 32-bit piece of data will not fit into any of the field(s)
allocated to hold the operand.
 To solve this seemingly intractable problem, we utilize a hardware
component that is called a register.
 Depending on the architecture of the microprocessor, it may have a few
registers-16 to 256 or so-or it may have over 1000. Those microprocessors
in the former category are referred to as Complex Instruction Set Comp
(CISC), and those in the latter are called reduced Instruction Set Computers
(RISC).
 The number of registers is not the only (or most significant) difference
between the two architectures; another can be the number of native
instructions.
Dept.of ECE , CIT Ponnampet
CISC vs RISC
Dept.of ECE , CIT Ponnampet
EMBEDDED SYSTEM - AN INSTRUCTION SET VIEW
 The software (firmware) in an embedded system is generally
written in
 A high level language such as C/C++.
 Assembly language for the machine on which the application
is to run.
 Or combination of two.
 Machine language ----- the collections of 0’’s and 1’s that control
the hardware components in the execution of an instruction.
 Assembly language level ----- the mnemonic format of instructions
that machine supports ... Is called instruction set of that machine.
 Such a set drives the architecture ,the design underlying hardware
of the processor. That architecture is called the instruction set
architecture (ISA).
Dept.of ECE , CIT Ponnampet
EMBEDDED SYSTEM - AN INSTRUCTION SET VIEW
 At the assembly language level, mnemonics are given to binary
patterns expressed by the opcodes to make them easier to work
with.
 ASSEMBLER: The software tool which converts(translates) the
program written in assembly language into machine code. That
machine code reflects the binary encoding of the machine
instructions or opcodes.
Dept.of ECE , CIT Ponnampet
Instruction set --- Instruction types
 We can classify instructions into the following groups:
 Data Transfer
 Flow of Control
 Arithmetic and Logic
 Data transfer instructions provide the means and mechanism
for moving data within the system and for executing
exchanges with external devices, including memory.
 The flow of control instructions determine the order in
which instructions comprising the embedded application are
executed.
 The arithmetic and logical instructions provide the majority
of the computational capabilities and useful functionality of a
microprocessor.
Dept.of ECE , CIT Ponnampet
Data transfer instructions
 Each such instruction must have three pieces of information:
the data, the location of the source, and where the data is to
be sent to the destination of the transfer.
Dept.of ECE , CIT Ponnampet
Addressing modes
 The path to the actual selection of the operands is controlled
by the addressing mode specified for the operand.
 The address that is ultimately used to select the operand is
called the effective address.
 Some of the more commonly used addressing modes include:
 Immediate
 Direct and Indirect
 Register Direct
 Register Indirect
 Indexed
 Program Counter Relative
Dept.of ECE , CIT Ponnampet
Instruction types enhanced to include address
mode information
Dept.of ECE , CIT Ponnampet
Immediate mode
 An immediate mode instruction uses one of the operand fields to
hold the value of the operand rather than a reference to it
 The major advantage of such an instruction is that the number of
memory accesses is reduced. Fetching the instruction retrieves the
operand at the same time.
Dept.of ECE , CIT Ponnampet
Direct and Indirect modes
 When using direct and indirect addressing modes, we are
working with operand addresses rather than operand
values.
 In the direct mode, the contents of the operand field in the
instruction are the address of the desired operand
 In the indirect case, the field contains the address of the
address of the operand
 Because of the limited size of an operand field, the range
of memory locations that can be addressed is small.
Dept.of ECE , CIT Ponnampet
Direct and Indirect modes
Dept.of ECE , CIT Ponnampet
Register Direct and Register Indirect modes
 The memory range addressed can be increased using a
register to store the operand address.
 The distinction between the register direct and register
indirect modes lies in the content of the referenced
register.
 In the former case, the register contains the value of
the operand
 in the latter case, the address (in memory) of the
operand.
 The major disadvantage of indirect addressing is that
an additional memory access is necessary to retrieve
the operand's value
Dept.of ECE , CIT Ponnampet
Register Direct and Register Indirect modes
Dept.of ECE , CIT Ponnampet
Indexed mode
 The indexed or displacement addressing mode provides support for
accessing data structures such as arrays.
 The effective address is computed as the sum of a base address and
the contents of the indexing register.
 It is important to note here that following the execution of the
instruction, neither the base address nor the index values are
changed.
Dept.of ECE , CIT Ponnampet
Program counter relative flow
 The program counter relative addressing is mechanically almost
identical to the indexed addressing mode.
 Nonetheless, there are several important differences.
 First, the value in the program counter serves as the base
address,
 and second, the program counter is assigned the value of the
computed effective address;
 Finally, the offset that is added to the program counter is a
signed number
Dept.of ECE , CIT Ponnampet
Program counter relative flow
Dept.of ECE , CIT Ponnampet
Execution flow
 The execution flow or control flow captures the order of evaluation of each
instruction comprising the firmware in an embedded application.
 We identify these as:
– Sequential
– Branch
– Loop
– Procedure or function call
Dept.of ECE , CIT Ponnampet
Sequential flow
 Sequential control flow describes the fundamental movement
through a program.
 Each instruction contained in the program is executed in sequence
,one after another.
Dept.of ECE , CIT Ponnampet
Branch flow
 A branching construct terminates a sequential flow of control with a
decision point.
 At such a point ,one of several alternate paths for continued execution is
taken based on the outcome of a test on some condition.
 The branch construct is used to implement an if else, switch or case
statement.
 Branch can be conditional or unconditional
 The conditional information is temporarily held as a collection of bits in a
flag register or condition code register.
Dept.of ECE , CIT Ponnampet
Branch flow
Dept.of ECE , CIT Ponnampet
Loop
 The loop construct permits the designer to repeatedly execute a set of
instructions either forever or until some condition met.
 The figure illustrate ,the decision to evaluate the body of the loop can be
made before the loop is entered(entry condition loop) or after the body of
the loop evaluated (exit condition loop)
 The loop type of constructs in C/C++ are
 Do
 While
 For loop
 Do while statements.
The above code fragment illustrate while loop ,the body of the loop continually evaluated as long as the loop
variable is less than a specified value. This code fragment implements an entry condition loop.
Assume that the variables myvar and index have been placed in R2 and R3 repectively.
Dept.of ECE , CIT Ponnampet
Procedure or Function call
 The procedure or function invocation is the most complex of the flow of
control constructs.
 Such a invocation requires that the control flow leave the current context,
execute a set of instructions and then return to the original context.
Fig: The procedure call
Fig: Common procedure call instructions
Dept.of ECE , CIT Ponnampet
The stack
 The stack is a data structure that occupies an area in memory. It has finite
size and supports several operations. Its structure is similar to an array
except that, unlike an array, data can be entered or removed at only one
location called the top.
 Data entry is called a push and data removal is called a pop.
Fig: Stack operations
Dept.of ECE , CIT Ponnampet
The stack
 In reality, such a model is impractical because of the time burden in moving
every piece of data each time a new entry is made.
 A more practical implementation adds or removes data at the open end of
the structure.
 The memory address reflecting the current top of the stack is remembered
and modified after each addition or removal. Such an address is called a
stack pointer.
Fig: Managing stack pointer
Dept.of ECE , CIT Ponnampet
Function Call Flow of Control
 In the following code fragment, the program is initially loaded into memory
and begins executing from address 3000.
 Code is executed until the flow reaches address 3053, at which point the
function call is encountered.
 After that what does it happen?
Fig: Function call construct
Dept.of ECE , CIT Ponnampet
Function Call Flow of Control
Dept.of ECE , CIT Ponnampet
Arithmetic and Logic
 Arithmetic and logical operations are essential elements in affecting what the
processor is to do.
 Such operations are executed by any of several hardware components comprising
the ALU.
 The data brought into the ALU and held in local registers. the opcode is decoded,
the appropriate operation is performed on the selected operands and the result is
placed in another local register.
Fig : An ALU block diagram
Dept.of ECE , CIT Ponnampet
Arithmetic and Logic
 Arithmetic and logical operations are executed by any of several hardware
components comprising the ALU
 Typically, the processor will support the four basic arithmetic functions: add,
subtract, multiply, and divide. Simpler processors will only implement the first
two, relegating the last two to a software implementation.
 Logical operations perform traditional binary operations on collections of bits
or words.
 Shift operations typically perform several different kinds of shifts on
collections of bits or words. The major differences concern how the boundary
values on either side of the shift are managed
– A logical shift enters a 0 into the position emptied by the shift; the bit
on the end is discarded. An arithmetic shift to the right propagates (and preserves)
the sign bit into the vacated position; a shift to the left enters 0's on the right-hand
side and overwrites the sign bit. The rotate shift circulates the end bit into the
vacated bit
Dept.of ECE , CIT Ponnampet
Typical instructions
Fig: Arithmetic instructions
Fig: logical instructions Fig: shift instructions
Dept.of ECE , CIT Ponnampet
Embedded systems: A Register view
 The instruction set expresses the machine's ability to transfer, store, operate
on data, and make decisions, all of which are necessary to perform its
ultimate task of aiding in solving problems.
 Underlying the instruction set is the physical hardware necessary to
implement the operations directed by the instructions.
 The core hardware comprises a control unit and a data path
– The data path is a collection of registers and an associated set of
micro operations on the data held in the registers,
– The control unit directs the ordered execution of the micro
operations so as to effect the desired transformations of the data
Dept.of ECE , CIT Ponnampet
The control unit and the data path
Dept.of ECE , CIT Ponnampet
The basic register
 A register is a storage device that is capable of holding the collection of one or
more bits
 Data is entered into the registers in parallel, or in serial
Dept.of ECE , CIT Ponnampet
Register operations
 Registers support two basic operations:
– Read
– Write
Dept.of ECE , CIT Ponnampet
Register Transfer language
 At the register transfer level, data transfers, operations on data and control
flow are described using register transfer language.
 Within the language ,individual operations and transfer are expressed using
register transfer notation.
Dept.of ECE , CIT Ponnampet
Register Transfer language
Dept.of ECE , CIT Ponnampet
Register view of microprocessor
 The datapath:
The architecture of the datapath and the memory interface for a simple
microprocessor at the register transfer level is shown in the next slide.
 The typical microprocessor registers set is:
Dept.of ECE , CIT Ponnampet
The Datapath
Dept.of ECE , CIT Ponnampet
fig: RTN model for a Microprocessor Datapath and memory Interface
Processor control
Dept.of ECE , CIT Ponnampet
The control of the microprocessor datapath
comprises four fundamental operations defined as
the instruction cycle
Fetching and Decoding
 The fetch operation retrieves an instruction from memory. That instruction is
identified by its address, which is the contents of the program counter, PC.
 At the RTL level, the fetch decomposes into the following steps:
 The decode step is performed when the op-code field in the instruction is
extracted from the instruction and decoded by the Instruction Decoder.
 That information is forwarded to the control logic, which will initiate the
execute portion of the instruction cycle.
Dept.of ECE , CIT Ponnampet
Executing
 Based on the value contained in the op-code field, the control logic
performs the sequence of steps necessary to execute the instruction.
 An example is the following:
Dept.of ECE , CIT Ponnampet
Next
 The address of the next instruction to be executed is dependent on the type of
instruction to be executed and, potentially, on the state of the condition flags as
modified by the recently completed instruction.
 At the end of the day, most reduce to algebraically adding a value to the PC.
 For short jumps, the displacement may be contained in one of the operand fields
of the instruction; for longer jumps, the value may be contained in the memory
location following the instruction.
Dept.of ECE , CIT Ponnampet
Finite state machines(FSM)
The concept of state and time
 The outputs of combinational circuitry are a function of inputs only. A
combinational logic system has no notion of time or history. The present (static)
output does not depend in any way on how the output values were achieved.
 In contrast, the current output of a finite-state system depends both on the path
the system took to reach the current state and, potentially, the present values of
the input set.
 The values that state variables assume over time characterize the behavior of
such a sequential system
Dept.of ECE , CIT Ponnampet
States of a Digital Memory Device (1-bit)
The state diagram
 A more visual approach to describe a sequential circuit
 Allows a rapid recognition of the possible transitions between states, and the
conditions required for them to occur.
 The following notation is used:
Dept.of ECE , CIT Ponnampet
The transition between two states is shown using a
labeled directed arrow (arc).
• The head or point of the arrow identifies the final
state, and the tail or back of the arrow identifies the
initial state.
• Special arcs, such as the one labeled initial, reflect
an external, overriding asynchronous event, as reset
The state diagram
 An example:
Dept.of ECE , CIT Ponnampet
State Diagram
Textual Description of the Behavior expressed in the State
Diagram
FSM – A theoretical model
 A sequential circuit, or more formally, a finite-state machine, is the means
by which we ultimately transform the behavior expressed in the state
diagram into a hardware.
 We may have also software implementation.
 A high level block diagram of a FSM appears as:
Dept.of ECE , CIT Ponnampet
A FSM that have no inputs other
than a clock (we generally don't
show it) and have only outputs
is an autonomous clock.
The outputs shown in the diagram may be
the state values (e.g. counter…),
combinations of the state variables, or
combinations of the state variables and the
inputs
FSM – A theoretical model
 If we continue increasing the level of detail in the model, we now include the
storage elements comprising the machine and the combinational logic that
implements the output functionality and the input equations to the storage
elements.
Dept.of ECE , CIT Ponnampet
FSM – Mealy and Moore
 We define our finite-state machine as a quintuple:
 M = (I, O, S, λ, δ)
I - Finite nonempty set or vector of inputs
O - Finite nonempty set or vector of outputs
S - Finite nonempty set or vector of states
δ - Mapping I x S  S
λ1 - Mapping I x S O Mealy Machine
λ2 - Mapping S O Moore Machine
 The operator “x” is the Cartesian or cross product. The Cartesian product of two
vectors gives a matrix of all possible pairs among the element's two vectors.
 Mealy machine: the output is a function of the present state and inputs
 Moore machine: the output is a function of the present state only
Dept.of ECE , CIT Ponnampet

Mais conteúdo relacionado

Semelhante a UNIT 2_ESD.pdf

Chapter 3 computer organization and artpdf
Chapter 3 computer organization and artpdfChapter 3 computer organization and artpdf
Chapter 3 computer organization and artpdf
Mohammed472103
 
number system understand
number system  understandnumber system  understand
number system understand
rickypatel151
 
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdfPlease send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
ebrahimbadushata00
 
Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)
Nagarjun singh
 

Semelhante a UNIT 2_ESD.pdf (20)

Unit 1 computer architecture (1)
Unit 1   computer architecture (1)Unit 1   computer architecture (1)
Unit 1 computer architecture (1)
 
Microprocessor and microcontroller (MPMC).pdf
Microprocessor and microcontroller (MPMC).pdfMicroprocessor and microcontroller (MPMC).pdf
Microprocessor and microcontroller (MPMC).pdf
 
lecture1423813120.pdf
lecture1423813120.pdflecture1423813120.pdf
lecture1423813120.pdf
 
An introduction to digital signal processors 1
An introduction to digital signal processors 1An introduction to digital signal processors 1
An introduction to digital signal processors 1
 
Introduction to Microcontrollers
Introduction to MicrocontrollersIntroduction to Microcontrollers
Introduction to Microcontrollers
 
Microprocessor systems (4)
Microprocessor systems (4)Microprocessor systems (4)
Microprocessor systems (4)
 
Chapter 3 computer organization and artpdf
Chapter 3 computer organization and artpdfChapter 3 computer organization and artpdf
Chapter 3 computer organization and artpdf
 
Computer architecture instruction formats
Computer architecture instruction formatsComputer architecture instruction formats
Computer architecture instruction formats
 
Design & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining TechniqueDesign & Simulation of RISC Processor using Hyper Pipelining Technique
Design & Simulation of RISC Processor using Hyper Pipelining Technique
 
Bindura university of science education
Bindura university of science educationBindura university of science education
Bindura university of science education
 
microprocessor
 microprocessor microprocessor
microprocessor
 
Microprocessor note
Microprocessor noteMicroprocessor note
Microprocessor note
 
Bc0040
Bc0040Bc0040
Bc0040
 
EEE226a.ppt
EEE226a.pptEEE226a.ppt
EEE226a.ppt
 
Micro controller and dsp processor
Micro controller and dsp processorMicro controller and dsp processor
Micro controller and dsp processor
 
Microprocessor
MicroprocessorMicroprocessor
Microprocessor
 
Cao 2012
Cao 2012Cao 2012
Cao 2012
 
number system understand
number system  understandnumber system  understand
number system understand
 
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdfPlease send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
Please send the answers to my email. Mirre06@hotmail.comSomeone se.pdf
 
Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)Microprocessors and-microcontrollers (1)
Microprocessors and-microcontrollers (1)
 

Último

Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
chumtiyababu
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Último (20)

Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
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
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 

UNIT 2_ESD.pdf

  • 1. Embedded system design(10EC74) UNIT -2: The Hardware Side BY Ramesh H R Dept.of ECE , CIT Ponnampet
  • 2. Things to Look for  The differences between microprocesors,microcomputers and microcontrollers.  The four major functional blocks of a computer and their interconnecting busses.  How to represent numbers,characters,adresses and instructions in a digital system.  Different instruction formats and addressing and instructions in a digital system.  Different instructions formats and addressing modes.  Data and control flow through a computer.  The instruction set architecture level(ISA) model of a computer.  The computer instruction cycle.  The register transfer level (RTL) model of a computer. Dept.of ECE , CIT Ponnampet
  • 3. An introduction  Our study of the hardware side of embedded systems begins with a high level view of the computing core of the system.  We will expand and refine that view to include a detailed discussion of the hardware (and its interaction with the software) both inside and outside of that core.  The computing core is the central hardware component in any modern embedded application.  It interacts with and utilizes the remaining components of the system to implement the required application Dept.of ECE , CIT Ponnampet
  • 4. The core level  We begin with a model comprising four major functional blocks (input, output, memory, and data path and control) depicting the embedded hardware core and the high level signal flow.  While there is nothing inherent in the model that demands a microprocessor, typically, one is used for the computation and control function.  The memory block holds program instructions (software and firmware), provides short-term storage for input data, output data, and intermediate results of computations.  Data as well as other kinds of signals come into the system through the input block; they are sent back to the outside world through the output block. Dept.of ECE , CIT Ponnampet
  • 5. Typical Bus Structure  The datapath and control block (the CPU) coordinates the activities of the system as well as performs computations and data manipulation operations.  We move signals into, out of, or throughout the system on paths called busses. Signals flowing on the wires making up the busses are classified into three major categories: address, data, and control. Dept.of ECE , CIT Ponnampet
  • 6. Bus width (Data movement over an 8 bit buses)  The width of a bus, that is, the number of signals or bits that it can carry simultaneously, provides an indirect measure of how quickly information can be moved.  The Figure illustrates moving such a set of data over an 8-bit bus from a source module to a destination module. Fig : Identifying the number of signals in a bus Dept.of ECE , CIT Ponnampet
  • 7. The microprocessor  CPUs differ in the internal architecture, including the internal registers number and structure , the overall control structure  Registers are small amounts of Highspeed memory that are used to temporarily store frequently used values Dept.of ECE , CIT Ponnampet
  • 8. The whole application: peripherals  To implement a complete (embedded) computer system, we must still include the input/output subsystems and the external (to the microprocessor) memory system. We also include a clock or timing reference as the basis for timing, scheduling, or measuring elapsed.  All such components are connected via a system bus or busses.  As regards the memory and the bus architecture, the CPU architecture can be von Neumann or Harvard. Dept.of ECE , CIT Ponnampet
  • 9. Harvard vs. Von Neumann • The Von Neumann architecture uses a single memory to hold both data and instructions. • In comparison, the Harvard architecture uses separate memories, • The Super Harvard Architecture adds an instruction cache and a dedicated I/O controller. • PM may contain secondary data… Dept.of ECE , CIT Ponnampet
  • 10. Microprocessors, Microcontrollers and DSPs  Microcontrollers and DSPs evolved from the original microprocessors.  Microprocessors – Processors for general purpose processing.  Microcontrollers – Processor specifically designed for control applications.  DSPs – Processors specifically designed for digital signal processing. Dept.of ECE , CIT Ponnampet
  • 11. The microcontroller  The microcontroller brings together the microprocessor core and a rich collection of peripherals and I/O capability into a single integrated circuit.  A memory subsystem may or may not be included. Dept.of ECE , CIT Ponnampet
  • 12. Microprocessor vs. Microcontroller Systems Dept.of ECE , CIT Ponnampet
  • 13. The DSP  The DSP is a specific processor ability to perform basic arithmetic computations such as multiply, add, and shift at the rate of millions of operations per second.  To support high-speed arithmetic, the device will often implement a multiply-accumulate (MAC) primitive  Arithmetic operations often utilize saturation arithmetic in which overflows (underflows) remain at the maximum (minimum) value rather than wrapping .  The DSP device is architected as a Harvard rather than the von Neumann machine and incorporates multiple computational units a large number of registers, and wide high-bandwidth data busses. Dept.of ECE , CIT Ponnampet
  • 14. The DSP Dept.of ECE , CIT Ponnampet
  • 15. Representing Information  In any embedded application, in addition to the expected numbers and symbols or characters, we must be able to represent both firmware instructions and the data that such instructions may be operating on.  Because these instructions are stored in memory, we also need to be able to represent addresses in memory where the data and instructions are stored.  WORD SIZE:  One of the terms that we use to characterize a microprocessor is its word size.  Word size refers to an integer.  If the word size is 32 bits ,then microprocessor is called 32 bit machine.  Data bus width will be 32 bit. Dept.of ECE , CIT Ponnampet
  • 16. Understanding numbers  In a embedded system, the integer and floating point numbers normally represented as binary values and are stored either in memory or in registers – small pieces of memory.  The effects of finite word size are on resolution,accuracy,errors and the propagation errors in the operation performed by the microprocessor.  Resolution: Dept.of ECE , CIT Ponnampet
  • 17. Example: Truncation v/s Rounding The number 2.3 can be represented in 4 bits with 2 bit resolution. 1. 10.10  2.5 error is 0.2 2. 10.01  2.25 error is -0.05 all the that can be resolved is 0.25 Dept.of ECE , CIT Ponnampet
  • 19. Propagation error: Example Dept.of ECE , CIT Ponnampet
  • 20. ADDRESSES  Addressing the memory:  In the earlier functional diagram as well as in the block diagram for a microprocessor, we earned that information is stored in memory.  Each location in memory has an associated address much like an index in an array  The microprocessor does not support negative addresses: an address does not look any different from an unsigned integer.  A memory location may point to another one: int myVar = 10; / / take the address of myVar // assign it to the pointer variable myvarptr int* myVarPtr = &myVar; For a word size of 32 bits,the addresses ranges from 00000000 to FFFFFFFF Dept.of ECE , CIT Ponnampet
  • 21. Instructions  The purpose of an instruction is to direct the hardware of the microprocessor to perform a series of actions.  Such actions are called operations. The entities that instructions operate on are denoted operands.  The number of operands that an instruction operates on at any time is called the arity of the operation. We may have the one-, two-, or three-operand instruction.  Instruction bits are aggregated into groups or fields. Some of the fields are interpreted as the operation to be performed, and others are seen as the operands involved in the operation.  Each instruction has an unique code: the op-code. Dept.of ECE , CIT Ponnampet
  • 22. Examples:  Binary operators and unary operators:  Example with C/C++,  Let us look code fragment: x=y + z; 1. X=Y 2. Z=X+Y 3.X=X+Y 4.++X OR X++ Dept.of ECE , CIT Ponnampet
  • 23. Instructions Dept.of ECE , CIT Ponnampet
  • 24. REGISTERS –A FIRST LOOK  If an instruction, containing even a single operand, in addition to the op- code, is 32 bits, a 32-bit piece of data will not fit into any of the field(s) allocated to hold the operand.  To solve this seemingly intractable problem, we utilize a hardware component that is called a register.  Depending on the architecture of the microprocessor, it may have a few registers-16 to 256 or so-or it may have over 1000. Those microprocessors in the former category are referred to as Complex Instruction Set Comp (CISC), and those in the latter are called reduced Instruction Set Computers (RISC).  The number of registers is not the only (or most significant) difference between the two architectures; another can be the number of native instructions. Dept.of ECE , CIT Ponnampet
  • 25. CISC vs RISC Dept.of ECE , CIT Ponnampet
  • 26. EMBEDDED SYSTEM - AN INSTRUCTION SET VIEW  The software (firmware) in an embedded system is generally written in  A high level language such as C/C++.  Assembly language for the machine on which the application is to run.  Or combination of two.  Machine language ----- the collections of 0’’s and 1’s that control the hardware components in the execution of an instruction.  Assembly language level ----- the mnemonic format of instructions that machine supports ... Is called instruction set of that machine.  Such a set drives the architecture ,the design underlying hardware of the processor. That architecture is called the instruction set architecture (ISA). Dept.of ECE , CIT Ponnampet
  • 27. EMBEDDED SYSTEM - AN INSTRUCTION SET VIEW  At the assembly language level, mnemonics are given to binary patterns expressed by the opcodes to make them easier to work with.  ASSEMBLER: The software tool which converts(translates) the program written in assembly language into machine code. That machine code reflects the binary encoding of the machine instructions or opcodes. Dept.of ECE , CIT Ponnampet
  • 28. Instruction set --- Instruction types  We can classify instructions into the following groups:  Data Transfer  Flow of Control  Arithmetic and Logic  Data transfer instructions provide the means and mechanism for moving data within the system and for executing exchanges with external devices, including memory.  The flow of control instructions determine the order in which instructions comprising the embedded application are executed.  The arithmetic and logical instructions provide the majority of the computational capabilities and useful functionality of a microprocessor. Dept.of ECE , CIT Ponnampet
  • 29. Data transfer instructions  Each such instruction must have three pieces of information: the data, the location of the source, and where the data is to be sent to the destination of the transfer. Dept.of ECE , CIT Ponnampet
  • 30. Addressing modes  The path to the actual selection of the operands is controlled by the addressing mode specified for the operand.  The address that is ultimately used to select the operand is called the effective address.  Some of the more commonly used addressing modes include:  Immediate  Direct and Indirect  Register Direct  Register Indirect  Indexed  Program Counter Relative Dept.of ECE , CIT Ponnampet
  • 31. Instruction types enhanced to include address mode information Dept.of ECE , CIT Ponnampet
  • 32. Immediate mode  An immediate mode instruction uses one of the operand fields to hold the value of the operand rather than a reference to it  The major advantage of such an instruction is that the number of memory accesses is reduced. Fetching the instruction retrieves the operand at the same time. Dept.of ECE , CIT Ponnampet
  • 33. Direct and Indirect modes  When using direct and indirect addressing modes, we are working with operand addresses rather than operand values.  In the direct mode, the contents of the operand field in the instruction are the address of the desired operand  In the indirect case, the field contains the address of the address of the operand  Because of the limited size of an operand field, the range of memory locations that can be addressed is small. Dept.of ECE , CIT Ponnampet
  • 34. Direct and Indirect modes Dept.of ECE , CIT Ponnampet
  • 35. Register Direct and Register Indirect modes  The memory range addressed can be increased using a register to store the operand address.  The distinction between the register direct and register indirect modes lies in the content of the referenced register.  In the former case, the register contains the value of the operand  in the latter case, the address (in memory) of the operand.  The major disadvantage of indirect addressing is that an additional memory access is necessary to retrieve the operand's value Dept.of ECE , CIT Ponnampet
  • 36. Register Direct and Register Indirect modes Dept.of ECE , CIT Ponnampet
  • 37. Indexed mode  The indexed or displacement addressing mode provides support for accessing data structures such as arrays.  The effective address is computed as the sum of a base address and the contents of the indexing register.  It is important to note here that following the execution of the instruction, neither the base address nor the index values are changed. Dept.of ECE , CIT Ponnampet
  • 38. Program counter relative flow  The program counter relative addressing is mechanically almost identical to the indexed addressing mode.  Nonetheless, there are several important differences.  First, the value in the program counter serves as the base address,  and second, the program counter is assigned the value of the computed effective address;  Finally, the offset that is added to the program counter is a signed number Dept.of ECE , CIT Ponnampet
  • 39. Program counter relative flow Dept.of ECE , CIT Ponnampet
  • 40. Execution flow  The execution flow or control flow captures the order of evaluation of each instruction comprising the firmware in an embedded application.  We identify these as: – Sequential – Branch – Loop – Procedure or function call Dept.of ECE , CIT Ponnampet
  • 41. Sequential flow  Sequential control flow describes the fundamental movement through a program.  Each instruction contained in the program is executed in sequence ,one after another. Dept.of ECE , CIT Ponnampet
  • 42. Branch flow  A branching construct terminates a sequential flow of control with a decision point.  At such a point ,one of several alternate paths for continued execution is taken based on the outcome of a test on some condition.  The branch construct is used to implement an if else, switch or case statement.  Branch can be conditional or unconditional  The conditional information is temporarily held as a collection of bits in a flag register or condition code register. Dept.of ECE , CIT Ponnampet
  • 43. Branch flow Dept.of ECE , CIT Ponnampet
  • 44. Loop  The loop construct permits the designer to repeatedly execute a set of instructions either forever or until some condition met.  The figure illustrate ,the decision to evaluate the body of the loop can be made before the loop is entered(entry condition loop) or after the body of the loop evaluated (exit condition loop)  The loop type of constructs in C/C++ are  Do  While  For loop  Do while statements. The above code fragment illustrate while loop ,the body of the loop continually evaluated as long as the loop variable is less than a specified value. This code fragment implements an entry condition loop. Assume that the variables myvar and index have been placed in R2 and R3 repectively. Dept.of ECE , CIT Ponnampet
  • 45. Procedure or Function call  The procedure or function invocation is the most complex of the flow of control constructs.  Such a invocation requires that the control flow leave the current context, execute a set of instructions and then return to the original context. Fig: The procedure call Fig: Common procedure call instructions Dept.of ECE , CIT Ponnampet
  • 46. The stack  The stack is a data structure that occupies an area in memory. It has finite size and supports several operations. Its structure is similar to an array except that, unlike an array, data can be entered or removed at only one location called the top.  Data entry is called a push and data removal is called a pop. Fig: Stack operations Dept.of ECE , CIT Ponnampet
  • 47. The stack  In reality, such a model is impractical because of the time burden in moving every piece of data each time a new entry is made.  A more practical implementation adds or removes data at the open end of the structure.  The memory address reflecting the current top of the stack is remembered and modified after each addition or removal. Such an address is called a stack pointer. Fig: Managing stack pointer Dept.of ECE , CIT Ponnampet
  • 48. Function Call Flow of Control  In the following code fragment, the program is initially loaded into memory and begins executing from address 3000.  Code is executed until the flow reaches address 3053, at which point the function call is encountered.  After that what does it happen? Fig: Function call construct Dept.of ECE , CIT Ponnampet
  • 49. Function Call Flow of Control Dept.of ECE , CIT Ponnampet
  • 50. Arithmetic and Logic  Arithmetic and logical operations are essential elements in affecting what the processor is to do.  Such operations are executed by any of several hardware components comprising the ALU.  The data brought into the ALU and held in local registers. the opcode is decoded, the appropriate operation is performed on the selected operands and the result is placed in another local register. Fig : An ALU block diagram Dept.of ECE , CIT Ponnampet
  • 51. Arithmetic and Logic  Arithmetic and logical operations are executed by any of several hardware components comprising the ALU  Typically, the processor will support the four basic arithmetic functions: add, subtract, multiply, and divide. Simpler processors will only implement the first two, relegating the last two to a software implementation.  Logical operations perform traditional binary operations on collections of bits or words.  Shift operations typically perform several different kinds of shifts on collections of bits or words. The major differences concern how the boundary values on either side of the shift are managed – A logical shift enters a 0 into the position emptied by the shift; the bit on the end is discarded. An arithmetic shift to the right propagates (and preserves) the sign bit into the vacated position; a shift to the left enters 0's on the right-hand side and overwrites the sign bit. The rotate shift circulates the end bit into the vacated bit Dept.of ECE , CIT Ponnampet
  • 52. Typical instructions Fig: Arithmetic instructions Fig: logical instructions Fig: shift instructions Dept.of ECE , CIT Ponnampet
  • 53. Embedded systems: A Register view  The instruction set expresses the machine's ability to transfer, store, operate on data, and make decisions, all of which are necessary to perform its ultimate task of aiding in solving problems.  Underlying the instruction set is the physical hardware necessary to implement the operations directed by the instructions.  The core hardware comprises a control unit and a data path – The data path is a collection of registers and an associated set of micro operations on the data held in the registers, – The control unit directs the ordered execution of the micro operations so as to effect the desired transformations of the data Dept.of ECE , CIT Ponnampet
  • 54. The control unit and the data path Dept.of ECE , CIT Ponnampet
  • 55. The basic register  A register is a storage device that is capable of holding the collection of one or more bits  Data is entered into the registers in parallel, or in serial Dept.of ECE , CIT Ponnampet
  • 56. Register operations  Registers support two basic operations: – Read – Write Dept.of ECE , CIT Ponnampet
  • 57. Register Transfer language  At the register transfer level, data transfers, operations on data and control flow are described using register transfer language.  Within the language ,individual operations and transfer are expressed using register transfer notation. Dept.of ECE , CIT Ponnampet
  • 58. Register Transfer language Dept.of ECE , CIT Ponnampet
  • 59. Register view of microprocessor  The datapath: The architecture of the datapath and the memory interface for a simple microprocessor at the register transfer level is shown in the next slide.  The typical microprocessor registers set is: Dept.of ECE , CIT Ponnampet
  • 60. The Datapath Dept.of ECE , CIT Ponnampet fig: RTN model for a Microprocessor Datapath and memory Interface
  • 61. Processor control Dept.of ECE , CIT Ponnampet The control of the microprocessor datapath comprises four fundamental operations defined as the instruction cycle
  • 62. Fetching and Decoding  The fetch operation retrieves an instruction from memory. That instruction is identified by its address, which is the contents of the program counter, PC.  At the RTL level, the fetch decomposes into the following steps:  The decode step is performed when the op-code field in the instruction is extracted from the instruction and decoded by the Instruction Decoder.  That information is forwarded to the control logic, which will initiate the execute portion of the instruction cycle. Dept.of ECE , CIT Ponnampet
  • 63. Executing  Based on the value contained in the op-code field, the control logic performs the sequence of steps necessary to execute the instruction.  An example is the following: Dept.of ECE , CIT Ponnampet
  • 64. Next  The address of the next instruction to be executed is dependent on the type of instruction to be executed and, potentially, on the state of the condition flags as modified by the recently completed instruction.  At the end of the day, most reduce to algebraically adding a value to the PC.  For short jumps, the displacement may be contained in one of the operand fields of the instruction; for longer jumps, the value may be contained in the memory location following the instruction. Dept.of ECE , CIT Ponnampet
  • 65. Finite state machines(FSM) The concept of state and time  The outputs of combinational circuitry are a function of inputs only. A combinational logic system has no notion of time or history. The present (static) output does not depend in any way on how the output values were achieved.  In contrast, the current output of a finite-state system depends both on the path the system took to reach the current state and, potentially, the present values of the input set.  The values that state variables assume over time characterize the behavior of such a sequential system Dept.of ECE , CIT Ponnampet States of a Digital Memory Device (1-bit)
  • 66. The state diagram  A more visual approach to describe a sequential circuit  Allows a rapid recognition of the possible transitions between states, and the conditions required for them to occur.  The following notation is used: Dept.of ECE , CIT Ponnampet The transition between two states is shown using a labeled directed arrow (arc). • The head or point of the arrow identifies the final state, and the tail or back of the arrow identifies the initial state. • Special arcs, such as the one labeled initial, reflect an external, overriding asynchronous event, as reset
  • 67. The state diagram  An example: Dept.of ECE , CIT Ponnampet State Diagram Textual Description of the Behavior expressed in the State Diagram
  • 68. FSM – A theoretical model  A sequential circuit, or more formally, a finite-state machine, is the means by which we ultimately transform the behavior expressed in the state diagram into a hardware.  We may have also software implementation.  A high level block diagram of a FSM appears as: Dept.of ECE , CIT Ponnampet A FSM that have no inputs other than a clock (we generally don't show it) and have only outputs is an autonomous clock. The outputs shown in the diagram may be the state values (e.g. counter…), combinations of the state variables, or combinations of the state variables and the inputs
  • 69. FSM – A theoretical model  If we continue increasing the level of detail in the model, we now include the storage elements comprising the machine and the combinational logic that implements the output functionality and the input equations to the storage elements. Dept.of ECE , CIT Ponnampet
  • 70. FSM – Mealy and Moore  We define our finite-state machine as a quintuple:  M = (I, O, S, λ, δ) I - Finite nonempty set or vector of inputs O - Finite nonempty set or vector of outputs S - Finite nonempty set or vector of states δ - Mapping I x S  S λ1 - Mapping I x S O Mealy Machine λ2 - Mapping S O Moore Machine  The operator “x” is the Cartesian or cross product. The Cartesian product of two vectors gives a matrix of all possible pairs among the element's two vectors.  Mealy machine: the output is a function of the present state and inputs  Moore machine: the output is a function of the present state only Dept.of ECE , CIT Ponnampet