Computer Architecture
Computer Architecture
ARCHITECTURE
FLIP FLOPS
• A Flip Flop is an electronic device/ memory component that can hold one
bit of data. A flip flop has two states, that is “SET” and “RESET”. Those
states are represented with the binary values 0 and 1. The flip flop
remains in its current state until it receives a signal that switches it to
opposite state. A clock or pulse signal may “trigger” the flip flop to
change state.
• Flip flops may be synchronous, or edge triggered.
S-R FLIP
• These are set-reset flipflops.
•
FLOPS
It is a Flip Flop with two inputs, one is S (set) and
other is R (reset). Set indicates output 1 and reset
indicates output 0. Here clock pulse is supplied to
operate this flip flop, hence it is clocked flip flop.
• Used in: Register: SR Flip Flop used to create
register. Designer can create any size of register by
combining SR Flip Flops. Counters: SR Flip Flops
used in counters. Counters counts the number of
events that occurs in a digital system. Memory: SR
Flip Flops used to create memory which are used to
store data, when the power is turned off.
Synchronous System: SR Flip Flop are used in
synchronous system which are used to synchronise
T FLIP FLOPS
• Known as a toggle flip flop since it can change
its output, i.e. the bit will be flipped i.e., either
from 1 to 0 or from 0 to 1. A clock pulse is
supplied to operate this flop, hence it is a
clocked flip-flop.
• Used in: Counters. Data Storage.
Synchronous logic circuits. Frequency
division: It is used to divide the frequency of a
clock signal by 2. Flip-flop will toggle its
output every time the clock signal transitions
from high to low or low to high, hence dividing
the clock frequency by 2. Shift registers: T
flip-flops can be used in shift registers which
are used to shift binary data in one direction.
D FLIP FLOPS
• D flip flop is an electronic devices that is known
as “delay flip flop” or “data flip flop” which is
used to store single bit of data. D flip flops are
synchronous or asynchronous. The D flip flop has
two inputs, data and clock input which controls
the flip flop. When clock input is high, the data is
transferred to the output of the flip flop and when
the clock input is low, the output of the flip flop is
held in its previous state.
• Can be used in: Memory: D flip flop is used to
create memory circuits. Registers: By using the
D flip flop the designer can built any size of
register as per the requirement. Counters: D flip
flops are used to create the counters which
counts the number of events occurring in the
digital system. Synchronous System
JK FLIP FLOPS
• Inputs are Set(J) & Reset(K) and their
corresponding outputs are Q and Q’. JK flipflop
has two modes of operation. In synchronous
mode, the state will be changed with the
clock(clk) signal, and in asynchronous mode, the
change of state is independent from its clock
signal.
• Can be used in: Counters: These are very
essential components for the application of
frequency dividers and event sequencers where
there is a need of storing and propagating the
count value. Shift registers: Registers can store
and shift the binary data in a sequential manner.
We can design it by JK-flipflops. Memory Units: JK-
flipflop itself act as a memory unit to store binary
information. By making a sequential chain of JK-
So basically....
REGISTER
A register is a tiny, fast storage memory within the central processing unit
S
(CPU) or the arithmetic logic unit (ALU) of a computer. Registers are utilized
for a variety of functions in handling and controlling instructions and data and
play an important role in the operation of a computer’s CPU.
• Accumulator Register: The accumulator acts as a central point for arithmetic and
logical operations within the CPU. It fetches data from memory and stores
intermediate results during calculations. Arithmetic operations such as addition,
subtraction, multiplication, and division often take place in the accumulator. The
final result may be stored in the accumulator or transferred to other registers or
memory locations
• Program Counter (PC) Register: The program counter is a special register that
keeps track of the memory address of the next instruction to be fetched and
executed. As the CPU executes each instruction in sequence the program
counter is updated to indicate the next instruction’s address in memory. This
process continues until the program’s execution is complete.
• General-Purpose Registers: General-purpose registers are versatile because they
can hold data and memory addresses. They are used for various calculations
and data manipulation tasks during program execution. General-purpose
registers are essential for performing arithmetic and logical operations on data
• Instruction Register (IR): The instruction register holds the currently fetched
instruction from memory. It allows the CPU to decode and execute the
instruction based on its opcode and operands.
• Memory Address Register (MAR): The memory address register stores the
memory address of data or instructions to be accessed or written in memory. It
plays a crucial role in memory operations by indicating the location of the data
or instruction the CPU needs to access.
• Memory Data Register (MDR): The Memory Data Register holds the actual data
fetched from or written to memory. When the CPU retrieves data from memory,
it is temporarily stored in the MDR before being processed further.
• Stack Pointer (SP): The stack pointer is used in stack-based memory
operations. It keeps track of the top of the stack. which is a region of memory
used for temporary storage of data and return addresses during function calls.
• Floating-Point Registers: The Floating-point registers are specialized for
handling floating-point numbers and performing floating-point arithmetic
operations. These registers can store and manipulate floating-point numbers
COUNTERS
This is a type of register that stores the address of the next instruction to be
executed. The value of the counter automatically increments after one address is
passed, resulting in the address of the next instruction being stored in.
A decade counter counts ten different states and then reset to its initial states. A
simple decade counter will count from 0 to 9 but we can also make the decade
counters which can go through any ten states between 0 to 15(for 4 bit counter).
MULTIPLEXORS
This is a digital device that selects between a set of input signals and
produces a single output signal on an output line.
This can be used in some CCTVs, as there are several CCTV cameras
but only one CCTV monitor.
4x1
MULTIPLEXOR
ENCODER
S
An encoder is a digital circuit that changes a set of signals into a binary
code. An encoder has 2^n input signals and n output signals.
Only one of the input signals can be logic one. All others must be zero.
Output lines produce the binary code equivalent to the active input.
8x3
ENCODER
DECODERS
This is a digital circuit that decodes an input code. It takes n inputs and
produces 2^n outputs.
A decoder has n input lines, 2^n output lines and en enable signal. This
enable signal is responsible for making the the decoder active. If the enable
signal is zero, then all output signals will be zero. If enable is one, decoder
will perform normally.