Introducti
on
Nano
programming:
It is the lowest-level programming
within microcoded processors,
controlling the CPU's internal
operations at a granular level.
Objective of Nano
Programming
Higher Efficiency: Provides a more compact and optimized
representation of microinstructions.
Smaller Memory Requirements: The two-level hierarchy
reduces the size of the control memory compared to storing
all microinstructions directly.
Faster Execution: By explicitly controlling every signal at a
lower level, nanoprogramming ensures optimal utilization of
CPU cycles..
"Instruction > Microinstruction > Nano-instruction"
MICROPROGRAMMING VS
NANOPROGRAMMING
Microprogramming Nano programming
creates a control unit is even deeper,
with a higher-level where each
control over CPU microinstruction is
tasks, breaking down broken into nano
complex instructions. instructions that
control hardware
tasks precisely.
Example: A microinstruction like "ADD" will be divided into multiple nano
instructions specifying exact hardware actions.
What are Nano
Instructions?
Nano instructions are even smaller steps inside each
microinstruction.
They control specific hardware actions, like moving data
to a register or starting an ALU operation.
They provide direct control over specific hardware
actions, allowing fine-tuned optimization of tasks.
They help conserve power and memory by using only the
minimal necessary resources for each operation.
Nano instructions help reduce execution time by
enabling faster, streamlined processes.
Key Hardware
Components
Memory Accumulator Arithmetic
Memory
Data (ACC) Logic Unit
Address
Register (ALU)
Register
(MDR)
(MAR)
Overview of Components:
Memory Address Purpose: Acts like a
Register (MAR): pointer, directing the
Holds the memory CPU to specific
address of data locations in memory
that the CPU needs for reading or writing
to access. data.
Memory Data
Register (MDR): Purpose: Acts as a
Temporarily holds buffer for data
the actual data moving between
being transferred the CPU and
to or from memory. memory.
Overview of Components:
Accumulator (ACC): Purpose: Works as a
Holds intermediate temporary storage
results of area for calculations,
arithmetic and simplifying complex
logic operations. operations.
Purpose: The
Arithmetic Logic
"calculator" of the
Unit (ALU):
CPU, responsible for
Performs all
executing basic
arithmetic and
math and decision-
logic operations.
making operations.
Data Flow Between
Components
Data moves from MAR to MDR, then to
ALU, and finally to ACC.
During a nano instruction operation like
"ADD,data flows precisely through these
components, guided by control signals
Timing signals ensure that data moves
only when components are ready,
reducing errors in operations..
Intraction Between
Components
MAR and ACC and ALU
MDR Connection:
Interaction:
MAR points to ACC holds data that
addresses; MDR the ALU processes;
transfers data ALU sends results
between CPU and back to ACC.
memory.
Intraction Between
Components
COMBINED
WORKFLOW
MAR directs data location,
MDR transfers data, ALU
processes it, and ACC holds
results, creating a streamlined
workflow for executing
instructions.
Detailed Example of ADD
Operation
ADD Operation at the Microinstruction
Level:
⚬ ADD R1, R2:
⚬ Load value of R1.
⚬ Load value of R2.
⚬ Perform addition in ALU.
⚬ Store result.
For each micro-step, we use nano
instructions:
⚬ Load R1 to ALU.
⚬ Load R2 to ALU.
⚬ Activate ALU to ADD.
⚬ Store result in ACC.
Analyzing Each Nano
Instruction:
Nano instructions for
loading data:
⚬ Nano 1: Set MAR to R1's/R2's
location.
⚬ Nano 2: Move data from MAR to
MDR.
⚬ Nano 3: Load MDR data to ALU.
Nano instructions to execute addition and
atore the result::
⚬ Nano 7: Enable ALU for addition.
⚬ Nano 8: Transfer ALU result to
ACC.
The result is stored in ACC, and may be
sent back to memory or registers as
needed.
Real-World Applications:
Early CPU Designs: Embedded Digital Signal
Required nano Systems: Use nano Processors (DSPs):
programming for programming to Rely on nano
efficient hardware achieve specific programming for
usage. functions with precise control
minimal resources. over processing
tasks.
presented by :
Nandini Kodali-AP22110010537
Sankar Jai Pavan-AP22110010565
Ruchira Chukkapalli-AP22110010570
Nandini Devarapu-AP22110010585
Eeshatwayi Annabathuni-AP22110011002
Sujitha Namburu-AP22110011019