Unit1-3 Supplementary Reading Material
Unit1-3 Supplementary Reading Material
1. WHAT IS COMPUTER?
• The word “computer” is comes from the word “TO COMPUTE” means to calculate.
• A computer is normally considered to be a calculation device which can perform the arithmetic
operations very speedily.
• A computer may be defined as a device which operates upon the data.
• Data can be in the form of numbers, letters, symbols, size etc. And it comes in various shapes
& sizes depending upon the type of computer application.
• A computer can store, process & retrieve data as and when we desired.
• The fact that computer process data is so fundamental that many people have started calling as
“Data Processor”.
• A computer first it gets the Data, does Process on it and then produces Information.
• DEFINATION OF COMPUTER
o A computer is an electronic device which takes input from the user, processes it
and gives the output as per user’s requirement.
o So the main tasks of performed by the computer are:
▪ Input
▪ Process
▪ Output
2. WRITE DOWN THE CHARACTERISTICS OF COMPUTER
Some important characteristics of the computer are as follow:
• Automatic:
o Computers are automatic machines because it works by itself without human
intervention.
o Once it started on a job they carry on until the job is finished.
o Computer cannot start themselves.
o They can works from the instructions which are stored inside the system in the form of
programs which specify how a particular job is to be done.
• Accuracy:
o The accuracy of a computer is very high.
o The degree of accuracy of a particular computer depends upon its design.
o Errors can occur by the computer. But these are due to human weakness, due to
incorrect data, but not due to the technological weakness.
• Speed:
o Computer is a very fact device. It can perform the amount of work in few seconds for
which a human can take an entire year.
o While talking about computer speed we do not talk in terms of seconds and
milliseconds but in microseconds.
o A powerful computer is capable of performing several billion (109) simple arithmetic
operations per second.
• Diligence:
o Unlike human beings, a computer is free from monotony, tiredness & lack of
concentration.
o It can continuously work for hours without creating any error & without grumbling.
o If you give ten million calculations to performed, it will perform with exactly the
same accuracy & speed as the first one.
• Versatility:
o It is one of the most wonderful features about the computer.
o One moment it is preparing the results of a particular examination, the next moment it is
busy with preparing electricity bills and in between it may be helping an office secretary
to trace an important letter in seconds.
• Power of remembering:
o Computer can store and recall any amount of data because of its high storage
capacity of its storage devices.
o Every piece of information can be retained as long as desired by the user and can be
recalled as and when required.
o Even after several years, if the information recalled, it will be as accurate as on the day
when it was filled to the computers.
• No I.Q.
o A computer is not a magical device; it processes no intelligence of its own.
o Its I.Q. is zero.
o It has to be told what to do & in what sequence.
o It cannot take its own decision.
• No Fallings:
o A Computer has no feelings because they are machines.
o Based on our feelings, task, knowledge and experience we often make certain
judgments in our day today life.
o But Computer goes exactly the way which we have given the instructions.
3. EXPLAIN THE DATA PROCESSING CYCLE OF COMPUTER.
• The computer Data Processing is any process that a computer program does to
enter data & summarise, analyse or convert data into useable information.
• The process may be automated & run on a computer.
• It involves recording, analysing, storing, summarising & storing data.
• Because data are most useful when it is well presented & informative. The Data
Processing Cycle:
• Data Processing cycle described all activities which are common to all data processing
systems from manual to electronic systems.
• These activities can be grouped in four functional categories, viz., data input, data processing,
data output and storage, constituting what is known as a data processing cycle.
• The main aim of data processing cycle is to convert the data into meaningful information.
• Data processing system are often referred to as Information System.
• The Information System typically take raw Data as Input to produce Information as Output.
Second Generation:
• Duration: 1955-1964
• Technology: transistor
o 10 times Smaller in size than 1st generation system.
o Less heat than 1st generation computers.
o Consumed less power than 1st generation system.
o Computers were done calculations in microseconds.
o Air-conditioner is also required.
o Easy to configure than 1st generation computers.
o More reliable in information.
o Wider commercial use.
o Large & fast primary/secondary storage than 1st generation computers.
Third Generation:
• Duration: 1965-1975
• Technology: IC chip
o Smaller in size than 1st & 2nd generation computers.
o Perform more fast calculations than 2nd generation systems.
o Large & fast primary/secondary storage than 2nd generation computers.
o Air –conditioner is required.
o Widely used for commercial applications.
o General purpose computers.
o High level languages like COBOL & FORTAN are allowed to write programs.
o Generate less heat & consumed less power than 2nd generation computer.
Fourth Generation:
• Duration: 1975-1989
• Technology: Microprocessor chip
o Based on LSI & VLSI microprocessor chip.
o Smaller in size.
o Much faster than previous generations.
o Minimum hardware maintenance is required.
o Very reliable as computer to previous generation computers.
o Totally general purpose computer.
o Easy to configure.
o Possible to use network concept to connect the computer together.
o NO requirement of air-conditioners.
o Cheapest in price.
Fifth Generation:
• Duration: 1989 to Present
• Technology: ULSI microprocessor chip
o Much smaller & handy.
o Based on the ULSI chip which contains 100 million electronic components.
o The speed of the operations is increased.
o Consumed less power.
o Air-conditioner is not required.
o More user friendly interface with multi-media features.
o High level languages are allowed to write programs.
o Larger & faster primary/secondary storage than previous generations.
o Notebook computers are the example of 5th generation computers.
• Memory Unit:
o The data & instruction have to store inside the computer before the actual processing start.
o Same way the result of the computer must be stored before passed to the output devices.
This tasks performed by memory unit.
• Control Unit:
o It controls the movement of data and program instructions into and out of the CPU, and to
control the operations of the ALU.
o In sort, its main function is to manage all the activities within the computer system.
o Controls the internal parts as well as the external parts related with the computer.
• CPU:
o The Unit where all the processing is done is called as Central Processing Unit.
o It contains many other units under it.
o Main of them are:- Control Unit And ALU (Arithmetic & Logic Unit)
INPUT DEVICES
1. MOUSE
• Mouse is Small hand-hold device Input device which is generally used for drawing
purpose.
• It’s a Pointing device.
• It contains two or three buttons
• Left button is used to point out or select any item by clicking.
• Right to generate context menu.
• When user moves mouse across flat surface, the graphic cursor moves on screen.
• Graphic cursor contains verity of symbols such as arrow, wrist, pointing finger etc.
• Depending on application text & graphic cursors are changed.
• The following 5 techniques are used to carry out various operations:
• POINT:
o To move the mouse on top of icon
• C LICK:
o To press & release the left button of mouse at once.
o Used to open any currently selected icon, menu.
• DOUBLE CLICK:
o To press & release the left button of mouse twice.
o Used to open any application or program.
• SIMULTANEOUS-CLICK:
o Press & release left & right button to gather.
o Used in some software package to added some functionality.
• DRAG:
o Press the left button down & moved the mouse on screen.
o Used to move the graphics on screen.
• Many types of mouse are available such as mechanical mouse, optical mouse, serial mouse,
wireless mouse which are used for different purpose.
2. TRACK BALL
3. JOYSTICK
• Joystick is a pointing device which is works on the same principle of track ball.
• It contains a stick which is placed on the spherical ball.
• The stick is used to move the cursor at desired position left or right or backward or forward.
• It also contain button that is clicked to make selection of currently pointed item.
• A joystick is similar to a mouse, except that with a mouse the cursor stops moving as
soon as you stop moving the mouse.
• With a joystick, the pointer continues moving in the direction the joystick is pointing.
• To stop the pointer, you must return the joystick to its upright position.
• Some of the systems using joysticks are
o Aircrafts, UAVs for flight control
o Motorized Wheelchairs as input device
o Microscopes
o Submarines
o Security Systems
o Video Games
• Joysticks are widely used for video games
• Advantages of joystick
• It is very easy to learn to use.
• Very simple design so they can be inexpensive.
• It has a big analogue stick in the middle so it’s easier to control.
4. LIGHT PEN
• Light pen is a pointing device which is used to draw directly draw on the screen.
• It is called light pen because it is similar to a pen & senses light.
• It’s an input device in the form of light-sensitive stick used in conjunction with a CRT display.
• The light pen allows the user to point out or draw any object on the screen.
• The user brings the pen to the desired point on screen and presses the pen button to make
contact.
• It has a switch on its top which allows the user to make contact with screen.
• It is useful for drawing or graphics in the program such as CAD (computer aided design).
• An engineer, architect or fashion designer can draw directly on screen.
• Used in application such as gaming, graphic arts, healthcare applications etc.
• Light pen cannot scratch or damage a screen.
Advantages of light pen;
o Less expensive than touch screen.
o give the user the full range of mouse capabilities, without the use of a pad or any
horizontal surface
o Cannot scratch or damage screen.
o Works on any size screen.
5. TOUCH SCREEN
• Touch screen is a pointing device.
• It is most simple & easiest to learn of all input devices.
• It allows the user to choose from available options by simply touching with their figure to the
desired icon or menu item displayed on the computer screen.
• A touch screen is an electronic visual display that can detect the presence and location of a
touch within the display area.
• The term generally refers to touching the display of the device with a finger or hand.
• Touch screens are common in devices such as computers, tablet computers & Smartphone.
• The touch screen has two main attributes::
o First, it enables one to interact directly with what is displayed.
o Secondly, it lets one do so without requiring any intermediate device that would need to
be held in the hand
• It’s a very easy to operate device which users can use the system without any formal training.
• Uses optical sensors that detect the touch of the finger on screen.
• Sensors communicate the position of touch to the computer which interprets the input made by the
users.
• It contains pressure sensitive monitors which are placed inside the base of computer
screen.
• Pressure sensitive monitors contain sensors to measure the monitor’s weight at many points.
• When user touches the screen, the changes on weights & forces transferred down to sensor
which allows the device to detect the location of the touch.
• This type of monitors required little pressure to transmit the desired input.
• Touch screen are commonly used in following places.
o An airport or railway station.
o Large departmental stores.
o In large museums or zoos to guide visitors to the locations of various attractions.
o Self service check out
o In ATM machines
o In I-phones or PDA’s
o Computer based training
• Any type of touch screen contains Three main components: A touch
screen sensor panel:
o Which sits above the display & generate appropriate voltage according to where
precisely it is touched?
A touch screen controller:
o Processes the signal received from the sensor & translates this touch event data & passed
to pc’s processor via serial or USB interface.
A soft ware driver:
o Provides an interface to the pc’s operating system & which translates the touch event
data into mouse event.
6. DIGITIZER
• An input device.
• Used for converting pictures, map & drawing into digital form.
• Allows one to hand-draw images and graphics, similar to the way one draws images with a
pencil and paper.
• Also be used to capture data or handwritten signatures.
• The device consists of a flat surface upon which the user may "draw" an image using an
attached stylus, a pen-like drawing tool.
• These devices are usually connected via a Serial port.
• Placed on the desk n connected with the computer.
• Digitizer consists of graphic tablets which are associated with a stylus.
• The stylus is like a pen with a button.
• Stylus connected with a tablet and can press down at a point on the tablet to input (x, y) co-
ordinates of point.
• It contains hundreds of copper wires forming a grid that receives electric pulsed.
• When stylus moves on tables the cursor on screen moves simultaneously.
• Allows the user to draw sketches directly.
• Commonly used in CAD by architects & engineers.
• Used in GIS (geographical information system) for digitizing maps.
7. MICROPHONE
• It’s an input device.
• Used to stores the voice data into the computer system.
• Microphones are a type of transducer - a device which converts energy from one form to another.
• Microphones convert sound waves into electrical energy.
• Different types of microphone have different ways of converting energy.
• All the microphones share one common thing: The diaphragm.
• Thin piece of material (such as paper, plastic or aluminium) which vibrates when it is struck by
sound waves.
• When the diaphragm vibrates, it causes other components in the microphone to vibrate.
• These vibrations are converted into an electrical current which becomes the audio signal.
• The microphones are divided in mainly two types The type
of conversion technology they use
o This refers to the technical method the mike uses to convert sound into electricity.
o The most common technologies are dynamic, condenser, ribbon and crystal.
The type of application they are designed for
o Some mikes are designed for general use and others are much specialised purpose.
8. WEB CAMERA
• It’s an input device.
• Used to feeds the image to a computer or computer network often via USB or Wi-Fi.
• Web camera is a hardware camera connected to a computer that allows everyone to
connect to internet to view either pictures or motion video.
• Most Web cameras are embedded to display with laptop computer or connected with USB or Wi-
Fi with a computer.
• Simple web cam. Consists a digital camera attached to your computer typically through USB.
• The camera part of web camera is just a digital camera.
• Web camera comes with software which preset interval & transfer it to another location of
viewing.
• Web camera system allows you to using video also for that you have web camera with high frame
rate.
• Web camera is a digital camera which taking picture over & over & again one after another.
• These images are stored image into the physical memory of camera in built in.
• After capture image & stored in memory it reduced the amount of data need to transmit.
• Web camera software takes image & converts data in jpeg (compressing format).
• OMR is a device that is capable of recognised pre-specified type of mark made by pencil or pen.
• The Optical Mark Reader is a device which can detect the presence or absence of a mark on a
paper.
• The OMR recognise the marks by focusing a light on the paper being scanned & detect the
reflected light pattern from mark.
• The present mark is detected due to intensity of light being reflected from the mark.
• Pencil marks made with soft lead pencil reflect the light which allowing the OMR to determine
which response are mark.
• OMR is used in reading answers sheets, questionnaires. ADVANTAGES
• Speedy and accurate to generate result.
• Cheap in cost.
DISADVANTAGE
• Cannot able to read characters.
• Erasing or cancellation is not possible.
• Good quality expensive paper is required.
OCR (OPTICAL CHARACTER READER) DEVICE
• OCR capable of recognizing alphabets & numbers printed on paper.
• It can also capable of recognise shape & identify character directly from source document.
• It is always used with character recognized software.
• It converts bitmap images of character to equivalent ASCII code.
• First it create bitmap image of document & OCR software translate into ASCII code which
computer interprets letter, symbol or number.
• The type of document must be type using OCR fonts.
• The software design to recognised the standard OCR-A(American standard) & OCR- B(European
standard)
ADVANTAGES
• Speedy entered data.
• Accept wide range of font using ordinary mark.
DISADVANTAGE
• Expensive
• Scanned properly only if the characters are standard size.
• Dusty paper cant scanned properly.
MICR (MAGNETIC INK CHARACTER RECOGNITION)
• MICR systems use special ink which can be magnetized, to print characters that can then be read and
decoded by special magnetic devices.
• The common E13B font is used to write these special kinds of cheques.
• E13B font contains 0-9 numbers & 4 symbols.
• Detection of characters is a two step process.
• First MICR Reader-Sorter reads the data on cheques & sorts the cheques for distribution for
further processing.
• The reading station is used to sense and identify the magnetic characters as they pass through.
• Magnetized characters are read by the head. E.g. MICR is used in Banks to cheques the MICR
systems use special ink which can be magnetized, to print characters cheques.
ADVANTAGES
• Speedy data entry.
• Accurate output.
• Folded or roughly handled cheques are also scanned with same accuracy.
DISADVANTAGE
• MICR software is required.
• Limited fonts are used so used in banking industries only.
BCR (BAR CODE READER) DEVICE
• Data can be coded in the form of small lines which are known as Bar Codes.
• Bar codes represent the alphanumeric data by combination of vertical lines which contains
different width & spacing between them.
• Bar Code Reader is a device which are used to recognized bar code data.
• It scanned the barcode image & converted into alphanumeric value & fed to computer.
• It uses laser-beam technology. Laser stroke across the pattern of bar which sensed by light sensitive
decoder & their reflection of light pattern are converted into electrical pulse which converted it into
alphanumeric value.
• Various barcodes are available for different use.
• Most common is UPC (UNIVERSAL PRODUCT CODE).
It contain 10 digit first 5 identify the manufacturer name & remaining identify a specific product.
Drum plotter:
• In the case design has to be made is placed over a drum.
• It consist one or more than penholders which are mounted to the drum surface.
• The drum plotter both the paper and the pen move.
• The paper is contained on two rollers and passes over a drum.
• The pen is driven along fixed arm set across the length of the drum.
• It is especially useful for plotting continuous line graph.
• The accuracy of the drum type depends on the paper transport mechanism, which in turn is
dependent on the width of the paper and it can also produce larger drawings.
Flatbed Plotter
• The Flatbed Plotter is generally more expensive and can produce very detailed and accurate
drawings.
• The paper is mounted on a stationary flatbed.
• The pen is mounted on a moveable arm.
• Colour drawing can be produced by some plotters through interchangeable pens.
• Able to draw output in small size as A4 size or can able to generate very large size can be up
to 20ft by 50ft.
• Specially used in the design of cars, ships, aircrafts, buildings, highways etc.
9. WRITE A BRIEF NOTE ON SPEAKER.
• The speaker is output device which is connected to computer’s soundcard.
• The speaker output the sound generated by the sound card.
• Audio data is generated by computer is send to audio card which is located inside
extension slot.
• It can translate data into audio signal which are sending to speaker.
• The speaker can able to produced series of different tones.
Interfaces and Connectors, Internal Computer Components
• Dual-core refers to a CPU that includes two complete execution cores per physical
processor.
• It has combined two processors and their caches and cache controllers onto a single integrated
circuit (silicon chip )
• Multi-core is similar to dual-core in that it is an expansion to the dual-core technology
which allows for more than two separate processors.
• Dual-core refers to a CPU that includes two complete execution cores per physical
processor.
• It combines two processors and their caches and cache controllers onto a single integrated
circuit (silicon chip).
• It is basically two processors, in most cases, residing reside side-by-side on the same die.
• Dual-core processors are well-suited for multitasking environments because there are two
complete execution cores instead of one.
• Each with an independent interface to the front side bus.
• Since each core has its own cache, the operating system has sufficient resources to handle most
compute intensive tasks in parallel.
ADVANTAGES:
• Performance is faster than single-core processors.
• Able to divide information for processing by multiple units.
• Core processor uses slightly less power than two coupled single-core processors
• Multi-core chips also allow higher performance at lower energy.
CORE 2 DUO
• Core 2 Duo is the name given by Intel to its second batch of dual core processors.
• Desktop PCs with the Intel® Core™2 processor family deliver faster performance, greater energy
efficiency, and more responsive multitasking.
• Intel’s dual core processors were simply 2 Pentium 3 processors that were fabricated in a
single chip.
• As they refined their product more, they decided to differentiate their second set of processors
from the Core Duo and decided to call it Core 2 Duo.
• The difference between dual core processors and the Core 2 Duo processors is just in the
semantics as Core 2 Duo is simply a name given to a more recent family of dual core
processors.
• If we translate this to the single core processors, we can say that Core Duo is Pentium 1
while Core 2 Duo is Pentium 2. But all these are still single core processors.
• We can therefore say that Core 2 Duo is simply a subset of all the dual core processors that
are out in the market today.
SRAM:
• Static Random Access Memory is also a volatile memory.
• Once data is written into the chip, it is maintained as long as power is supplied to it; it does not
need refreshing.
• However, SRAM is slower than DRAM and it is also more expensive.
ROM
• The complete name of ROM is read only memory.
• The data stored permanently & can’t be altered by the programmer.
• Data stored in RAM chip can be read & used but cannot be changed.
• This memory also known a field storage permanent storage or dead storage.
• It is basically used to store manufacturer programmed & user program.
• Most of the basic operations are carried out by electronic circuits which are known as
micro programs.
• These programs are stored in ROM. For ex. System Boot Loader.
ROM
• The complete name of ROM is read only memory.
• The data stored permanently & can’t be altered by the programmer.
• Data stored in RAM chip can be read & used but cannot be changed.
PROM
• Programmable Read Only Memory is a non-volatile memory which allows the user to
program the chip with a PROM writer.
• The chip can be programmed once, thereafter, it cannot be altered.
EPROM & EEPROM
• Erasable Programmable Read Only Memory and Electrically Erasable Programmable
Read Only Memory chips can be electrically programmed.
• Unlike ROM and PROM chips, EPROM chips can be erased and reprogrammed.
• EXPLAIN FOLLOWING PORTS SERIAL PORT
• Known as asynchronous port or RS-232-C port.
• This type of port is sends & receives data using only two line.
• Therefore this type of port is ideal for connection to the phone circuits which uses 2 data
lines.
• The communication process of data transfer is slower.
• Due to this reason it is not used for printer.
• It has high signal travelling capacity.
PARALLEL PORT
• Known as centronics or printer port.
• It’s a type of socket found on personal computer for connecting various types of computer
devices.
• Normally it is reserved for printer.
• They carry 8 bits at the same time so that communication becomes very faster.
• Due to the faster data communication capability it is used in input & output devices.
• The signal travel capacity is less than serial port.
USB PORT
• It’s a new interface technology which are used to connect computer peripherals such as
keyboard, mouse, scanner, joysticks, printer, web camera etc.
• USB operate at two speeds 1.5 mbps & 12 mbps.
• The speed is depending upon the devices which are attached with the port.
• For example the devices such as mouse, keyboard Use the law band while digital camera use high
speed channel/
• Main advantage is that when devices are attached the appropriate drivers are loaded
automatically.
PS/2 PORT
• Developed by IBM for connecting mouse or keyboard to PC.
• It supports the plug that contains 6 pins.
• Also called mouse port.
3. EXPLAIN FOLLOWING CABLES
Serial Cable
• Serial Cables are typically used for RS-232 communication.
• A serial cable is a cable that can be used to transfer information between two devices using
serial communication.
• The form of connectors depends on the particular serial port used.
• The maximum working length of a cable varies depending on the characteristics of the
transmitters and receivers.
• This cable has short transmission distance because of noise limiting the transmission of high
numbers of bits per second when the cable is more than 15 meters long.
• It is cheap to purchase and is simple to join and connect.
• It is suitable for unbalanced data standards.
• Only one device can be connected to the cable.
Parallel Cable
• On many legacy peripherals, the parallel cable utilized both the 25 pin Sub-D connector and
the 36 pin Centronics connector.
• This was a common printer interface and is still in service in great numbers.
• With the advent of "intelligent" laser and ink jet printers, the IEEE-1284 bi- directional
printer cable was introduced.
• This parallel interface allows for bi-directional communication resulting in speeds up to 10 times
faster than conventional cables.
USB Cable
• To Connecting a USB device to a computer is simple -- you find the USB connector on
the back of your machine and plug the USB connector into it.
• If it's a new device, the operating system auto-detects it and asks for the driver disk.
• If the device has already been installed, the computer activates it and starts talking to it.
• USB devices can be connected and disconnected at any time.
storage capacity of disk =number of recording surface * number of track per surface *
number of sector per tracks * number of bytes per sectors
TRACK
Advantages:
• Cheap in cost.
• Convenient offline storage for small computer users.
Disadvantages;
• Low storage capacity.
• A floppy disk drive device is required to use read/write data.
• It’s a high capacity, removable magnetic disk which can be read or write by ZIP drive.
• It is similar to floppy disk except that much faster & larger capacity.
• Zip disks are available in two size namely 100 megabytes & 250 megabytes. Advantages:
• Easy to use
• Large capacity than floppy disk.
• Faster than floppy disk
• Easy to carry.
Disadvantages:
• Expensive
• Data transfer between drive & computer is slow.
Windowsworkstation:setup,evaluation,andtroubleshooting,Exploringadditionaldesktopand mobileoperatingsystems
Introduction
• A computer can only do what a programmer asks it to do.
• To perform a particular task programmer writes a sequence, called the program.
• An instruction command given to the computer to perform a certain specified operation on the
given data.
• Now as we know only human languages and computer knows only machine language, we
need some media through which we can communicate with the computer.
• So we can complete our desired task. That media is Language.
• Languages are tools human can use to communicate with the hardware of a computer
system.
• Each language has a systematic method of using symbols of that language.
• In English, this method is given by the rules of grammar.
• Similarly, the symbols of particular one computer language must also be used as per set of rules
which are known as the “Syntax” of that language, the language which you are using.
• Computer Languages can be classified into three broad categories:
LANGUAGES
MACHINE ASSEMBLY HIGH-LEVEL
LANGUAGE LANGUAGES LANGUAGES
OPCODE OPERAND
(OPERATION CODE) (ADDRESS)
• The 1st part is the operation code which tells the computer what function to be performed.
• The 2nd part is the operand which tells the computer where to find & store data to be
manipulated.
• So each instruction tells the computer what operation to perform & the length & location of the
data field which are involved in the operation.
Advantages
• Programs can be executed immediately upon completion because it doesn’t require any
translation.
• Now extra storage space is needed.
• Programmer has complete control over the performance of the hardware. Disadvantage
• Tedious to program
• Difficult to program
• Difficult to modify
• Time consuming to code
• Error prone
• Operation codes have to be memorised
• Assignment of memory is done by programmer
• Time consuming for development
• Programs development are machine dependent
• Preparation of programs was slow and costly.
• Assembly language is a language which allows instruction & storage location to be represented
by letters & symbols, instead of number.
• A program written in an assembly language is called assembly language program or symbolic
program.
• Assembly language was introduced in 1952.
• Machine language was tedious to code and errors were expected to arise in bulk.
• To solve these problems mnemonic codes and symbolic addresses were developed.
• It allows using alphanumeric mnemonic codes instead of numeric code for the instructions in
instruction set. For example using ADD instead of 1110 or 14 to add.
• Storage locations are to be represented in the form of alphanumeric addresses instead of
numeric address.
• Format of assembly language is similar to machine language:
Compiler
• Compiler is a special program (translator) which translates high level programs into machine
codes.
Advantages:
• Machine independent.
• Easier to learn, use and understand.
• Easier to correct error.
• Easier to maintain.
• Less time & efforts.
• Easily relocatable.
• Program preparation cost is low.
• Few errors.
Disadvantages:
• Less flexible.
• Lower efficiency.
• Require more time & storage space.
4. SHORT NOTE: ASSEMBLER
• A computer can directly execute only machine language programs so the assembly
language program must be converted into its equivalent machine language program before
can be executed.
• This translation is done with the help of a translator program which is known as assembler.
• Assembler is a special program (translator) which translates symbolic operation codes into
machine codes, and symbolic address is addressed into an actual machine address.
Assembly Language Input Assembler Output Machine Language Program
• As shown in figure that the input to assembler is the assembly language program (source
program) and the output is the machine language program (object program).
• Assembler translates each assembly language instruction into equivalent machine
language instruction.
• There is one to one correspondence between the assembly language instructions of source
program & the machine language instruction of its equivalent object program.
• In case of assembly language program, the computer not only has to run the program but
also must first run assembler program to translate the original assembly language program
into machine language program.
• So the computer has to spend more time in getting desired answer.
• As shown in figure that the input to an interpreter is a source program & the
output is the result of an execution program.
• Interpreter translates & executes a high level language program statement-by-
statement.
• A program statement is reinterpreted every time it is encountered during
program execution.
• The main advantage of interpreter is that interpreter makes it easier & faster to
correct programs.
• The main disadvantage is that interpreter is slower than compilers when running a
finished program.
7. WHAT IS OPERATING SYSTEM?
• An operating system is a software program that provides an interface between user
& the computer and manages thousands of applications.
• It’s a collection of system software that co-ordinates between the hardware,
provides a platform for software to run on.
• An operating system is an integrated set of programs that the resources (the CPU,
memory, I/O devices etc) of computer system & provides an interface to the user
to run the machine.
• The main two primary objective of operating system are:
o Making a computer system convenient to use.
o Managing the resources of a computer system
INSTALLATION AND CONFIGURATION OF OPERATING SYSTEM:
Any computer system has an operating system. The user interacts with the machine via
the operating system. An operating system (OS) is the software that provides an
interface between the computer hardware and the application programs or users. An
operating system is responsible for the management and coordination of activities and
sharing of the resources in computer. The OS acts as a host for application programs
that are run on the machine. As a host, one of the purposes of an OS is to handle the
details of the operation of computer hardware. OS offers a number of services to
application programs and users. Users may also interact with the OS by commands or
using a graphical user interface (GUI). There are various types of operating systems,
but all of them essentially perform the same functions. This Unit gives an overview of
operating systems. Common OS include Microsoft Windows, Mac OS X, and Linux.
The installation process of Microsoft Windows 10 and Ubuntu Linux operating system
is illustrated in this Unit. This will enable the students to gain fundamental knowledge
and skills required to install and configure Windows 10 and Ubuntu Linux operating
systems
A computer cannot perform any tasks on its own. In any computing process, both the
hardware and software work together to accomplish a task. This applies to all the
computing devices, including basic calculators, watches, mobile devices, and any other
gadgets which use hardware components as well as integrated software components.
Different files which are interrelated and accomplish a certain set of tasks make up the
operating system. These files are system level files which do scheduling, interrupting,
data transferring, managing the flow of data, and are a low level software component of
the computer itself. The standard definition of an operating system would be—an
operating system is a set of program files which control the resources of the Unit 2.indd
67 09-Oct-19 9:59:33 AM 68 Installation Technician— Computing and Peripherals
computer system and allows the communication of hardware components of a
computer to the software components of the computer system. An operating system is
one of the essential and important software installed in every computer. A computer is
useless without an operating system. The operating system is like a resource manager.
It controls and manages all the computer resources including hardware and software.
Computer system mainly has four types of resources. These are CPU or processor,
main memory or RAM, secondary storage, and the input output devices.
When you start the computer, it is observed that some initial text information is
displayed on the screen. This is displayed by the firmware. The booting instructions are
stored in ROM (read-only memory). Then the booting process starts. After booting, an
operating system gets loaded in the main memory (RAM) of the computer. Let us
understand the complete booting process.
• When you power on the computer, the CPU (central processing unit) activates the
BIOS (basic input output system).
• The first program activated is POST (power on self test). Using the CMOS
(complementary metal oxide semiconductor) memory it checks all the hardware and
confirms that they are functioning properly.
• After that it reads the MBR (master boot record) in boot drive in accordance with the
firmware ‘bootstrap loader’ which is provided by the computer manufacturer.
• Then the computer loads in the operating system in boot drive to the RAM.
• Once this is performed, the operating system takes over the control of the computer
and displays a user interface to the user.
1) PROCESS MANAGEMENT
o The process management of OS taking care about the creation & deletion of
user & system process, providing mechanism for process synchronization &
process communication.
2) MEMORY MANAGEMENT
o The memory management of OS taking care about the allocation &
deallocation of memory space to the various programs in need of this
resource.
3) FILE MANAGEMENT
o The file management of OS is taking care about the file related activities
such as creation, storing, retrieving, naming, sharing & organization of
files.
4) SECURITY
o The security model of OS protects the resources & information of a
computer system against destruction & unauthorized access.
5) COMMAND INTERPRETATION
o This model taking care of interpreting user commands & directing the
system resources to handle the requests.
• In Batch operating system, data is collected over a period of time and the
processing of the data is deferred to a later time.
• This approach was used very commonly in the past when punch cards served as data
storage media and is used as input into the computer system for processing.
• In batch processing, the data have first to be captured, normally as a form of
source documents, like time cards, or alternatively, by RJE (Remote Job Entry)
where data is gathered through remote terminals.
• The data will then be transmitted to the computer or the source document will be
physically transported to the data centre where transcription (conversion of source
document data into machine readable form) is performed.
• The data is processed by the computer and the resulting output is given to the users.
• Batch processing is suitable in application where there are large amounts of data and
when the turnaround times are not critical.
• As data are transcribed into machine readable form before submitting for processing, the
speed of processing is therefore determined by the computer and not by the operator.
• Payroll processing is suitable for batch processing as it is only performed on a
regular basis. ( for example every month)
ADVANTAGES:
• Less complicated.
• After input process is over, while processing is going on, user can attend other jobs.
DISADVANTAGES:
• Long turnaround time.
• Access to one is not possible.
• Difficult to provide priority scheduling.
• Not convenient for program development.
• In multiprogramming operating system two or more programs are resides in the main
memory and it execute them concurrently.
• In this operating system the CPU can allocate time to several programs instead of
remaining idle when one program is busy with I/O operations the another program is
ready to utilize the CPU.
ADVANTAGES:
• Many programs can run simultaneously.
• Time is not wasted.
• Maximum use of
resources.
DISADVANTAGES:
• Required large memory.
• Required memory protection.
• Job of resources management & memory management increases.
ADVANTAGES:
• It improves the performance of computer.
• Less turnaround time.
• In case of failure of one CPU other can take over without any loss.
DISADVANTAGES:
• Large main memory required.
• Expensive
• Design of the system makes time consuming process.
13. EXPLAIN TYPES OF SOFTWARE PACKAGES
• The software is set of programs, procedure and associated documents which
describe the programs and how they are used.
• On the base of task performed by software it can be divided in following tasks.
• WORD PROCESSING SOFTWARE :
o It enables you to make use of computer system for creating, editing, and
viewing, formatting, storing, retrieving & printing documents.
• SPREAD SHEET SOFTWARE:
o Spreadsheet software is a numeric data analysis tool, which allows us to
create kinds of computerized ledger.
o Provides a predefined sheet which contains rows and columns.
• DATABASE SOFTWARE
o A database is a collection of related data stored & treated as a unit for
information retrieval purpose.
o Database software is a set of one or more programs which enables us to
create a database, maintain it, and organize it.
• GRAPHICS SOFTWARE:
o Graphic software enables you to use a computer system for creating,
editing, viewing, storing, retrieving and printing designs, drawings,
pictures, graphs.
• PERSONAL ASSITANCE SOFTWARE:
o It allows you to use personal computers for storing & retrieving your
personal information & planning & managing schedules, contacts,
inventory & important items.
• PRESENTATION SOFTWARE:
o It allows you to provide the tools which help you to develop a presentation on
specific subject.
• ANIMATION/VIDEO/SOUND PACKAGE:
o Provides the different kinds of application that allows you to generate
animation, watching or creating videos, playing or producing sound data.
Setting up a Windows workstation involves installing the operating system, configuring system
settings, and installing essential software. Here's how:
a) Pre-Installation Steps
b) Installation
• Install Windows:
o Insert the installation media (USB/DVD) and boot the PC.
o Select language preferences and click Install Now.
o Choose the version of Windows you want (e.g., Windows 10 or Windows 11).
o Accept the license terms, select Custom installation, and format the disk if necessary.
o Wait for Windows to install and restart the system.
c) First-Time Setup
d) Install Software
• Essential software: Install productivity tools like Microsoft Office, web browsers (e.g.,
Chrome, Firefox), security software (antivirus), and other utilities.
• Windows Updates: Always check for and install the latest updates after installation to keep
your system secure.
Evaluating a Windows workstation involves assessing its performance, usability, and security. Key
areas to check:
a) Performance Evaluation
• Task Manager: Use the Task Manager (Ctrl + Shift + Esc) to check CPU, memory, disk, and
network usage.
• System Information: Open System Information (msinfo32) to view detailed hardware and
software configurations.
• Windows Performance Monitor: Use the built-in Performance Monitor to track system metrics
over time.
b) Usability Evaluation
• User Interface: Check if the desktop, start menu, and taskbar are responsive and easy to use.
• Hardware Compatibility: Test the peripherals like printers, USB devices, and monitors for
proper function.
c) Security Evaluation
• Windows Defender: Ensure that Windows Defender Antivirus is active and regularly updated.
• Firewall: Check if the Windows Firewall is enabled.
• Update Status: Make sure the system is up to date with the latest security patches.
Troubleshooting involves diagnosing and resolving issues with Windows workstations. Here are
common issues and their fixes:
• Check Startup Programs: Use Task Manager to disable unnecessary startup programs.
• Disk Cleanup: Run Disk Cleanup (cleanmgr) to remove temporary files and system files.
• Defragmentation: For HDDs, use Defragment and Optimize Drives tool to optimize
performance (not needed for SSDs).
b) Application Crashes
• Check Network Adapter: Use Network Troubleshooter (Settings > Update & Security >
Troubleshoot > Internet Connections).
• Reset Network: Reset network settings by running netsh winsock reset in Command Prompt
(admin).
• Check IP Configuration: Use ipconfig /all to check if the computer has a valid IP address.
• Safe Mode: Try starting Windows in Safe Mode (press F8 or Shift + F8 during startup) to
troubleshoot without loading unnecessary services.
• Startup Repair: Use Windows Recovery Environment (WinRE) to run Startup Repair.
• System Restore: If a recent change caused the issue, use System Restore to revert the system to
a previous working state.
e) Driver Issues
• Update Drivers: Go to Device Manager (devmgmt.msc) to check if any drivers have issues
(yellow triangle) and update them.
• Rollback Drivers: If a recent driver update caused issues, use Rollback Driver in Device
Manager.
• Check Error Code: BSOD typically shows an error code (e.g., 0x0000007E). Look it up for
more details.
• Driver Conflicts: Update or uninstall recent drivers that might be causing the BSOD.
• Memory Test: Use Windows Memory Diagnostic (mdsched.exe) to check for faulty RAM.
Summary
• Setup: Install the OS, configure hardware and software, and update.
• Evaluation: Assess performance, usability, and security.
• Troubleshooting: Diagnose issues with common tools like Task Manager, Event Viewer, and
Device Manager.
By following these basic steps, you can set up, evaluate, and troubleshoot a Windows workstation
effectively.
Sample questions:
1. Which of the following is NOT considered a peripheral device?
a) Monitor
b) Printer
c) CPU
d) Keyboard
4. In Windows, which of the following is NOT a valid troubleshooting option when a system
fails to boot?
a) Safe Mode
b) Disk Cleanup
c) System Restore
d) Startup Repair
5. Which interface is primarily used to connect external storage devices such as hard drives to a
computer?
a) HDMI
b) USB
c) VGA
d) Ethernet
8. Which of the following operating systems is most commonly used on mobile devices?
a) Windows
b) macOS
c) Linux
d) Android
10. Which command in Windows can be used to check and repair file system errors?
a) ipconfig
b) chkdsk
c) ping
d) defrag
ANSWERS:
1. Answer: c) CPU
2. Answer: b) Transfer data between different components
3. Answer: b) RAM
4. Answer: b) Disk Cleanup
5. Answer: b) USB
6. Answer: a) It manages hardware resources and provides services for application software.
7. Answer: b) To allow hardware components to communicate with the operating system
8. Answer: d) Android
9. Answer: b) HDMI
10. Answer: b) chkdsk
UNIT – II
Digital Systems : Introduction to Digital Systems: Digital Systems, Digital System Description,
Digital Electronics Systems, Processor Specification, Examples of programs, Combinational
Circuits I: Combinational Circuits, Boolean Algebra, NAND NOR XOR and TRI-States,
Functional and structural specification, VerilUOC_Desktop tools: Introduction to
VerilUOC_Desktop (I). Logisim and VerilCirc, Introduction to VerilUOC_Desktop (II).
BoolMin and VerilChart, combinational Circuits II: Synthesis tools, propagation time, other
logic blocks, programming language structures, structure specification,
Digital System
Arithmetic components, and Introduction to VHDL, Large multiprocessors (Directory Protocols)
Many number systems are in use in digital technology. The most common are the decimal, binary,
octal, and hexadecimal systems. The decimal system is clearly the most familiar to us because it
is a tool that we use every day. Examining some of its characteristics will help us to better
understand the other systems. In the next few pages we shall introduce four numerical
representation systems that are used in the digital system. There are other systems, which we will
look at briefly.
• Decimal
• Binary
• Octal
• Hexadecimal
Decimal System
The decimal system is composed of 10 numerals or symbols. These 10 symbols are 0, 1, 2, 3, 4, 5, 6,
7, 8,
9. Using these symbols as digits of a number, we can express any quantity. The decimal system
is also called the base-10 system because it has 10 digits.
Binary System
In the binary system, there are only two symbols or possible digit values, 0 and 1. This base-2
system can be used to represent any quantity that can be represented in decimal or other base
system. In digital systems the information that is being processed is usually presented in binary
form. Binary quantities can be represented by any device that has only two operating states or
possible conditions.
E.g. A switch is only open or closed. We arbitrarily (as we define them) let an open switch
represent binary 0 and a closed switch represent binary 1. Thus we can represent any binary
number by using series of switches.
Octal System
The octal number system has a base of eight, meaning that it has eight possible
digits:0,1,2,3,4,5,6,7.
Octal to Decimal Conversion
2378 = 2 x (82) + 3 x (81) + 7 x (80) = 15910
24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510
11.18 = 1 x (81) + 1 x (80) + 1 x (8-1) = 9.12510
12.38 = 1 x (81) + 2 x (80) + 3 x (8-1) = 10.37510
Hexadecimal System
The hexadecimal system uses base 16. Thus, it has 16 possible digit symbols. It uses the digits 0
through 9 plus the letters A, B, C, D, E, and F as the 16 digit symbols.
Code Conversion
Converting from one code form to another code form is called code conversion, like converting
from binary to decimal or converting from hexadecimal to decimal.
Binary-To-Decimal Conversion
Any binary number can be converted to its decimal equivalent simply by summing together the
weights of the various positions in the binary number which contain a 1.e.g.
110112=24+23+01+21+20=16+8+0+2+1=2710
Octal-To-Binary Conversion
Each Octal digit is represented by three binary digits.
Example: 4 7 28= (100) (111) (010)2 = 100 111 0102
• Regroup the binary number by four bits per group starting from LSB if Hexadecimal is
required.
Arithmetic Operation using 1’s and 2’s Complement
1’s Complement
The 1’s complement of a binary number is defined as the value obtained by inverting all the bits
in the binary representation of the number (swapping 0’s for 1’s and vice versa). The 1’s
complement of the number then behaves like the negative of the original number in some
arithmetic operations.
Example: 1’s complement of 10111 is 01000.
2’s Complement
To get 2’s complement of a binary number we add one (1) to the 1’s complement of that same
binary number.
Arithmetic Operation
1. Using 1’s complement:
Example1: Subtract 134 from 168.
168-134 = 168 + (-134)
Binary representation of 168= 1010 1000
Binary representation of 134= 1000 0110
Binary representation of -134= 0111 1001
[Because 1’s complement represents the negative magnitude of a binary number] 168 + (-
134)= 1010 1000
+ 0111 1001
10010 0001
As a carry bit is present, 1 will be added to the result and it represents that the result is positive.
0010 0001 + 1 = 0010 0010
Decimal representation of 0010 0010 is 34. 168-
134=34; hence the result is correct.
Example2: Subtract 168 from 134.
134-168 = 134 + (-168)
Binary representation of 134= 1000 0110
Binary representation of 168= 1010 1000
Binary representation of -168= 0101 0111
[Because 1’s complement represents the negative magnitude of a binary number]
134 + (-168)= 1000 0110
+ 0101 0111
1101 1101
As a carry bit is absent, 1’s complement of this value will be the final result and absence of carry
bit represents that the result is negative.
1’s complement of 1101 1101 = 0010 0010
Decimal representation of 0010 0010 is 34. As carry bit is absent the result is negative i.e -34 134 -
168= -34; hence the result is correct.
2. Using 2’s complement:
Example 1: Subtract 96 from 118.
118-96 = 118 + (-96)
Binary representation of 118= 0111 0110
Binary representation of 96= 0110 0000
Here 2’s complement represents the negative magnitude of a binary number. Hence 2’s
complement of 96 represents -96.
So -96= 1001 1111
118 + (-96) = 0111 0110
+ 1001 1111
10001 0101
As a carry bit is present, 1 will be added to the result and presents of carry bit represents that the
result is positive.
0001 0101+ 1= 0001 0110
Decimal representation of 0001 0110 is 22. As carry bit is present the result is positive. Example 2:
Subtract 118 from 96.
118-96 = 96 + (-118)
Binary representation of 96= 0110 0000
Binary representation of 118= 0111 0110
Here 2’s complement represents the negative magnitude of a binary number. Hence 2’s
complement of 118 represents -118.
So -118= 1000 1010
96 + (-118) = 0110 0000
+ 1000 1010
1110 1010
As a carry bit is absent, 2’s complement of this value will be the final result and absence of carry
bit represents that the result is negative.
2’s complement of 1110 1010 = 0001 0110
Decimal representation of 0001 0110 is 34. As carry bit is absent the result is negative i.e -34.
Binary Codes
Binary codes are codes which are represented in binary system with modification from the original
ones. Below we will be seeing the following:
• Weighted Binary Systems
• Non Weighted Codes
Weighted Binary Systems
Weighted binary codes are those which obey the positional weighting principles, each position of
the number represents a specific weight. The binary counting sequence is an example.
8421 Code/BCD Code
The BCD (Binary Coded Decimal) is a straight assignment of the binary equivalent. It is possible
to assign weights to the binary bits according to their positions. The weights in the
BCD code are 8,4,2,1.
Example: The bit assignment 1001, can be seen by its weights to represent the decimal 9 because:
1x8+0x4+0x2+1x1 = 9
2421 Code
This is a weighted code, its weights are 2, 4, 2 and 1. A decimal number is represented in 4- bit
form and the total four bits weight is 2 + 4 + 2 + 1 = 9. Hence the 2421 code represents the decimal
numbers from 0 to 9.
5211 Code
This is a weighted code, its weights are 5, 2, 1 and 1. A decimal number is represented in 4- bit
form and the total four bits weight is 5 + 2 + 1 + 1 = 9. Hence the 5211 code represents the decimal
numbers from 0 to 9.
Reflective Code
A code is said to be reflective when code for 9 is complement for the code for 0, and so is for 8
and 1 codes, 7 and 2, 6 and 3, 5 and 4. Codes 2421, 5211, and excess-3 are reflective, whereas the
8421 code is not.
Excess-3 Code
Excess-3 is a non-weighted code used to express decimal numbers. The code derives its name from
the fact that each binary code is the corresponding 8421 code plus 0011(3).
Example: representation of 7 in Excess-3 code is :-
BCD code of 7 = 0111
Excess-3 code of 7 = BCD + 0011 = 1010
Gray Code
The gray code belongs to a class of codes called minimum change codes, in which only one bit in
the code changes when moving from one code to the next. The Gray code is non weighted code,
as the position of bit does not contain any weight. The gray code is are reflective digital code which
has the special property that any two subsequent numbers codes differ by only one bit. This is also
called a unit-distance code. In digital Gray code has got a special place.
Example: Write the Gray code of 7.
Step-1 BCD code of 7 = 0111
Step-2 Keep the MSB of BCD same and then add it with the next digit. Ignore the carry bit in each
case.
(0111)2 = (0100)G
+ + +
0 1 1 1 = 0100
• Even parity: Checks if there is an even number of ones; if so, parity bit is zero. When the
number of ones is odd then parity bit is set to 1.
• Odd Parity: Checks if there is an odd number of ones; if so, parity bit is zero. When number
of ones is even then parity bit is set to 1.
Error-Correcting Codes
Error correcting codes not only detect errors, but also correct them. This is used normally
in Satellite communication, where turn-around delay is very high as is the probability
of data getting corrupt.
ECC (Error correcting codes) are used also in memories, networking, Hard disk, CDROM,
DVD etc. Normally in networking chips (ASIC), we have 2 Error detection bits and 1
Error correction bit.
Hamming Code
Hamming code adds a minimum number of bits to the data transmitted in a noisy channel, to be
able to correct every possible one-bit error. It can detect (not correct) two bits errors and cannot
distinguish between 1-bit and 2-bits inconsistencies. It can't – in general – detect 3(or more)-bits
errors The idea is that the failed bit position in an n-bit string (which we'll call X) can be
represented in binary with log2 (n) bits, hence we'll try to get it adding just log2(n) bits.
ASCII Code
ASCII stands for American Standard Code for Information Interchange. It has become a world
standard alphanumeric code for microcomputers and computers. It is a 7-bit code representing 27
= 128 different characters. These characters represent 26 upper case letters
(A to Z), 26 lowercase letters (a to z), 10 numbers (0 to 9), 33 special characters and symbols and
33 control characters.
Boolean algebra and Logic Gates
The English mathematician George Boole (1815-1864) sought to give symbolic form to Aristotle’s
system of logic. Boole wrote a treatise on the subject in 1854, titled an Investigation of the Laws
of Thought, on Which Are Founded the Mathematical Theories of Logic and Probabilities, which
codified several rules of relationship between Mathematical quantities limited to one of two
possible values: true or false, 1 or 0. His Mathematical system became known as Boolean algebra.
All arithmetic operations performed with Boolean quantities have but one of two possible
Outcomes: either 1 or 0. There is no such thing as 2 or -1 or 1/2 in the Boolean
world.
It is a world in which all other possibilities are invalid by fiat. As one might guess, this is not the
kind of math you want to use when balancing a check book or calculating current through a resistor.
However, Claude Shannon of MIT fame recognized how Boolean algebra could be applied to on-
and-off circuits, where all signals are characterized as either high (1) or low (0). His1938
thesis, titled A Symbolic Analysis of Relay and Switching Circuits, put Boole’s theoretical work
to use in a way Boole never could have imagined, giving us a Powerful mathematical tool for
designing and analysing digital circuits.
Like normal algebra, Boolean algebra uses alphabetical letters to denote variables.
Unlike normal algebra, though, Boolean variables are always CAPITAL letters, never
lowercase.
Boolean Arithmetic
Let us begin our exploration of Boolean algebra by adding numbers together:
0+0=0
0+1=1
1+0=1
1+1=1
The first three sums make perfect sense to anyone familiar with elementary addition.
The Last sum, though, is quite possibly responsible for more confusion than any other
Single statement in digital electronics, because it seems to run contrary to the basic principles of
mathematics. Well, it does contradict principles of addition for real numbers, but not for Boolean
numbers. Remember that in the world of Boolean algebra, there are only two possible values for
any quantity and for any arithmetic operation: 1 or 0. There is no such thing as 2 within the
scope of Boolean values. Since the sum 1 + 1 certainly isn’t 0, it must be 1 by process of
elimination.
Principle of Duality
It states that every algebraic expression is deducible from the postulates of Boolean algebra and it
remains valid if the operators & identity elements are interchanged. If the inputs of a NOR gate
are inverted, we get a AND equivalent circuit. Similarly, when the inputs of a NAND gate are
inverted, we get an OR equivalent circuit. This property is called duality.
Theorems of Boolean algebra and Identities
The theorems of Boolean algebra can be used to simplify many a complex Boolean expression and
also to transform the given expression into a more useful and meaningful equivalent expression.
The theorems are presented as pairs, with the two theorems in a given pair being the dual of each
other. These theorems can be very easily verified by the method of ‘perfect induction’. According
to this method, the validity of the expression is tested for all possible combinations of values of
the variables involved. Also, since the validity of the theorem is based on its being true for all
possible combinations of values of variables, there is no reason why a variable cannot be replaced
with its complement, or vice versa, without disturbing the validity. Another important point is that,
if a given expression is valid, its dual will also be valid.
Hence, theorem 4(a) is proved. Since theorem 4(b) is the dual of theorem 4(a), its proof is implied.
The example below further illustrates the application of complementation laws:
A B A.B
De-Morgan’s Second Theorem
It states that the complement of the product of variables is equal to the sum of Complements of
each individual variables . Boolean expression for this theorem is
A.B A B
Boolean Function
Boolean functions are represented in various forms. The two popular forms are truth tables and
Venn diagram. Truth tables represent functions in a tabular form, while Venn diagram provide a
graphic representation. In addition, there are two algebraic representation known as the standard
form or canonical form.
Example: Truth table for Z= AB’ + A’C + A’B’C
There are three variables present in the equation; A, B, C. Hence, there will be 23 = 8
combinations of values. These eight combinations are shown in the first three columns of the truth
table. These combinations corresponds to binary numbers 000 through 111.
To evaluate Z in the example function, knowing the values for A,B,C at each row of the truth
table, we should first generate the values for A’ and B’ and then generate the values of AB’, A’C
and A’B’C by ANDing the values in the appropriate columns for each row. Finally, we should
derive the values of Z by ORing the values in the last three columns for each row. Note that
evaluating A’B’C corresponds to ANDing A’ and B’ values, followed by ANDing the value of C.
A Ā
0 1
1 0
Symbol:
A Ā
OR Operation
Let us consider there are two input bits, A and B. each of two bits can assume a value of 0 or 1. So
22=4 possible combinations can occur. This can be listed as AB= 00, 01, 10, 11.
A OR B can be restated as A + B. We usually employ the symbol “+” to denote OR operation.
A OR B = A + B
Example: If A=1, B=1 then,
A OR B = A + B = 1
Truth Table:
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
Symbol
A
A+B
B
AND Operation
This operation detects the situation where all of the inputs are equal to 1 for this case. For two
inputs A and B, we define the AND logic by writing
A AND B = A.B
If both A=1 and B=1, then
A AND B = 1
else
A AND B = 0
Truth Table:
A B A.B
0 0 0
0 1 0
1 0 0
1 1 1
Symbol
AB
A.B
Universal Logic Gates
NAND Logic Gate
The name NAND is the shorten form of NOT-AND and means the output is defined as the
complement of the AND gate. With the inputs A and B, the NAND operation is denoted as
This is equivalent to the statement A.B .
Symbol:
AB
A.B
Else
A B =0
Truth table
A B A B
0 0 1
0 1 0
1 0 0
1 1 0
Symbol:
Algebraic Reduction
One common problem in combinational logic design is reduction of a logic expression to the
“simplest” possible form; “simplest” usually means that we want to implement the function using
the smallest no of gates. The reduction is accomplished by applying the basic identities in a step-
by-step manner. Some basic rules are summarized in table given below to aid in the task.
( A B) A.B ( A.B) A B
A+A.B=A
A A.B A B
Product-of-Sums Expressions
A product-of-sums expression contains the product of different terms, with each term being either
a single literal or a sum of more than one literal. It can be obtained from the truth table by
considering those input combinations that produce a logic ‘0’ at the output. Each such input
combination gives a term, and the product of all such terms gives the expression.
Different terms are obtained by taking the sum of the corresponding literals. Here‘0’ and ‘1’
respectively mean the un-complemented and complemented variables, unlike sum-of products
expressions where ‘0’ and ‘1’ respectively mean complemented and un-complemented variables.
Since each term in the case of the product-of-sums expression is going to be the sum of literals,
this implies that it is going to be implemented using an OR operation. Now, an OR gate produces
a logic ‘0’only when all its inputs are in the logic ‘0’state, which means that the first term
corresponding to the second row of the truth table will be A+B+C. The product-of-sums Boolean
expression for this truth table is given by transforming the given product-of-sums expression into
an equivalent sum-of-products expression is a straight forward process. Multiplying out the given
expression and carrying out the obvious simplification provides the equivalent sum-of-products
expression:
F (x, y) (x y).(x y)
A B C f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
From the table output f can be represented as
f= f1+f2+f3+f4
where,
f1= ABC
f2 =
ABC
f3 =
ABC
f4=
ABC
ABC + ABC + ABC
Hence the complete expression
will be
f= ABC +
Minterms and Maxterms
A minterm is the product of N distinct literals where each literal occurs exactly any Boolean
expression may be expressed in terms of either minterms or maxterms. To do this we must first
define the concept of a literal. A literal is a single variable within a term which may or may not be
complemented. For an expression with N variables, minterms and maxterms are defined as follows
• once.
• A maxterm is the sum of N distinct literals where each literal occurs exactly once.
A B A B
0 0 0
0 1 1
1 0 1
1 1 0
Symbol:
The logical description of the gate can be extracted from the function table. The two cases that
results in a 1 at the output are AB=01 and AB=10, so the function is given by
A B A.B A.B
The complement of the XOR function is the exclusive NOR (XNOR) operation; which
can be
de
A nB . The function is given by
o
t
e A B A.B A.B
d
a
s
By reading off the SOP terms where the output is 1, this shows that it is only possible when bot
the inputs are same; i.e A=B. Because of this property, the XNOR is also referredto as the
“equivalence function”.
Function Table:
A B
A B
0 0 1
0 1 0
1 0 0
1 1 1
Symbol:
Karnaugh Map
Maurice Karnaugh, a telecommunications engineer, developed the Karnaugh map at Bell Labs in
1953 while designing digital logic based telephone switching circuits. Karnaugh maps reduce logic
functions more quickly and easily compared to Boolean algebra. By reduce we mean simplify,
reducing the number of gates and inputs. We like to simplify logic to a lowest cost form to save
costs by elimination of components. We define lowest cost as being the lowest number of gates
with the lowest number of inputs per gate. A Karnaugh map is a graphical representation of the
logic system. It can be drawn directly from either minterm (sum-of-products) or maxterm (product-
of-sums) Boolean expressions. Drawing a Karnaugh map from the truth table involves an
additional step of writing the minterm or maxterm expression depending upon whether it is desired
to have a minimized sum-of products or a minimized product of-sums expression.
Construction of a Karnaugh Map
An n-variable Karnaugh map has 2n squares, and each possible input is allotted a square. In the
case of a minterm Karnaugh map, ‘1’ is placed in all those squares for which the output is ‘1’ and
‘0’ is placed in all those squares for which the output is ‘0’. 0s are omitted for simplicity. An ‘X‘
is placed in squares corresponding to ‘don‘t care conditions. In the case of a maxterms Karnaugh
map, a ‘1’ is placed in all those squares for which the output is ‘0’, and a ‘0’ is placed for input
entries corresponding to a ‘1’ output. Again, 0s are omitted for simplicity, and an ‘X‘ is placed in
squares corresponding to ‘don’t care’ conditions. The choice of terms identifying different rows
and columns of a Karnaugh map is not unique for a given number of variables. The only condition
to be satisfied is that the designation of adjacent rows and adjacent columns should be the same
except for one of the literals being complemented. Also, the extreme rows and extreme columns
are consider adjacent. Some of the possible designation styles for two, three and four variable
minterm Karnaugh maps are shown in the figure below.
The style of row identification need not be the same as that of column identification as long as it
meets the basic requirement with respect to adjacent terms. It is, however, accepted practice to
adopt a uniform style of row and column identification. Also, the style shown in the figure below
is more commonly used. A similar discussion applies for maxterms Karnaugh maps. Having drawn
the Karnaugh map, the next step is to form groups of 1s as per the following guidelines:
➢ Each square containing a ‘1’ must be considered at least once, although it can be considered
as often as desired.
➢ The objective should be to account for all the marked squares in the minimum number of
groups.
➢ The number of squares in a group must always be a power of 2, i.e. groups can have 1, 2,
4, 8, 16, squares.
➢ Each group should be as large as possible, which means that a square should not be
accounted for by itself if it can be accounted for by a group of two squares; a group of two
squares should not be made if the involved squares can be included in a group of four
squares and so on.
➢ ‘Don’t care‘entries can be used in accounting for all of 1-squares to make optimum groups.
They are marked ‘X’ in the corresponding squares. It is, however, not necessary to account
for all ‘don’t care’ entries. Only such entries that can be used to advantage should be used.
Two Variable K-Map
An examination of the two expressions tells that there is no scope for further simplification. While
the first one representing the SUM output is that of an EX-OR gate, the second one representing
the CARRY output is that of an AND gate. However, these two expressions can certainly be
represented in different forms using various laws and theorems of Boolean algebra to illustrate the
flexibility that the designer has in hardware implementing as simple a combinational function as
that of a half-adder.
Although the simplest way to hardware-implement a half-adder would be to use a two input EX-
OR gate for the SUM output and a two-input AND gate for the CARRY output, as shown in Fig.
it could also be implemented by using an appropriate arrangement of either NAND or NOR gates.
Full Adder
A full adder circuit is an arithmetic circuit block that can be used to add three bits to produce a
SUM and a CARRY output. Such a building block becomes a necessity when it comes to adding
binary numbers with a large number of bits. The full adder circuit overcomes the limitation of the
half-adder, which can be used to add two bits only. Let us recall the procedure for adding larger
binary numbers. We begin with the addition of LSBs of the two numbers. We record the sum under
the LSB column and take the carry, if any, forward to the next higher column bits. As a result,
when we add the next adjacent higher column bits, we would be required to add three bits if there
were a carry from the previous addition. We have a similar situation for the other higher column
bits. Also until we reach the MSB. A full adder is therefore essential for the hardware
implementation of an adder circuit capable of adding larger binary numbers. A half-adder can be
used for addition of LSBs only.
Figure shows the truth table of a full adder circuit showing all possible input combinations and
corresponding outputs. In order to arrive at the logic circuit for hardware implementation of a full
adder, we will firstly write the Boolean expressions for the two output variables, that is, the SUM
and CARRY outputs, in terms of input variables. These expressions are then simplified by using
any of the simplification techniques described in the previous chapter. The Boolean expressions
for the two output variables are given in Equation below for the SUM output (S) and in above
Equation for the CARRY output (Cout):
Boolean expression above can be implemented with a two-input EX-OR gate provided that one of
the inputs is Cin and the other input is the output of another two-input EX-OR gate with A and B
as its inputs. Similarly, Boolean expression above can be implemented by ORing two minterms.
One of them is the AND output of A and B. The other is also the output of an AND gate whose
inputs are Cin and the output of an EX-OR operation on A and B. The whole idea of writing the
Boolean expressions in this modified form was to demonstrate the use of a half-adder circuit in
building a full adder. Figure shows logic implementation of Equations above.
A half-subtractor is a combinational circuit that can be used to subtract one binary digit from
another to produce a DIFFERENCE output and a BORROW output. The BORROW output here
specifies whether a ‘1’ has been borrowed to perform the subtraction. The truth table of a half-
subtractor, as shown in Fig. explains this further. The Boolean expressions for the two outputs are
given by the equations
Full-Subtractor
A full subtractor performs subtraction operation on two bits, a minuend and a subtrahend, and also
takes into consideration whether a ‘1‘ has already been borrowed by the previous adjacent lower
minuend bit or not. As a result, there are three bits to be handled at the input of a full subtractor,
namely the two bits to be subtracted and a borrow bit designated as Bin .There are two outputs,
namely the DIFFERENCE output D and the BORROW output Bo. The BORROW output bit tells
whether the minuend bit needs to borrow a ‘1’ from the next possible higher minuend bit. Figure
shows the truth table of a full subtractor. The Boolean expressions for the two output variables are
given by the equations
Binary Multiplier
Multiplication of binary numbers is usually implemented in microprocessors and microcomputers
by using repeated addition and shift operations. Since the binary adders are designed to add only
two binary numbers at a time, instead of adding all the partial products at the end, they are added
two at a time and their sum is accumulated in a register called the accumulator register. Also, when
the multiplier bit is ‘0’, that very partial product is ignored, as an all ‘0’ line does not affect the
final result. The basic hardware arrangement of such a binary multiplier would comprise shift
registers for the multiplicand and multiplier bits, an accumulator register for storing partial
products, a binary parallel adder and a clock pulse generator to time various operations.
Binary multipliers are also available in IC form. Some of the popular type numbers in the TTL
family include 74261 which is a 2 × 4 bit multiplier (a four-bit multiplicand designated
asB0, B1, B2, B3 and B4, and a two-bit multiplier designated as M0, M1 and M2.The MSBs
B4 and M2 are used to represent signs. 74284 and 74285 are 4 × 4 bit multipliers. They can be
used together to perform high-speed multiplication of two four-bit numbers. Figure shows the
arrangement. The result of multiplication is often required to be stored in a register. The size of
this register (accumulator) depends upon the number of bits in the result, which at the most can be
equal to the sum of the number of bits in the multiplier and multiplicand. Some multipliers ICs
have an in-built register.
Magnitude comparator
A magnitude comparator is a combinational circuit that compares two given numbers and
determines whether one is equal to, less than or greater than the other. The output is in the form of
three binary variables representing the conditions A = B,A>B and A<B, if A and B are the two
numbers being compared. Depending upon the relative magnitude of the two numbers, the relevant
output changes state. If the two numbers, let us say, are four-bit binary numbers and are designated
as (A3 A2 A1 A0) and (B3 B2 B1 B0), the two numbers will be equal if all pairs of significant
digits are equal, that is, A3= B3, A2 = B2, A1= B1 and A0 =B0. In order to determine whether A
is greater than or less than B we inspect the relative magnitude of pairs of significant digits, starting
from the most significant position. The comparison is done by successively comparing the next
adjacent lower pair of digits if the digits of the pair under examination are equal. The comparison
continues until a pair of unequal digits is reached. In the pair of unequal digits, if Ai = 1 and Bi =
0, then A > B, and if Ai = 0, Bi= 1 then A < B. If X, Y and Z are three variables respectively
representing the A =B, A > B and A < B conditions, then the Boolean expression representing
these conditions are given by the equations
Let us examine equations .x3 will be ‘1’ only when both A3 and B3 are equal. Similarly, conditions
for x2, x1 and x0 to be ‘1’ respectively are equal A2 and B2, equal A1 and B1 and equal A0 and
B0. ANDing of x3, x2, x1 and x0 ensures that X will be ‘1’ when x3, x2, x1 and x0 are in the logic
‘1’ state. Thus, X = 1 means that A = B. On similar lines, it can be visualized that equations and
respectively represent A> B and A < B conditions. Figure shows the logic diagram of a four-bit
magnitude comparator.
Magnitude comparators are available in IC form. For example, 7485 is a four bit magnitude
comparator of the TTL logic family. IC 4585 is a similar device in the CMOS family. 7485 and
4585 have the same pin connection diagram and functional table. The logic circuit inside these
devices determines whether one four-bit number, binary or BCD, is less than, equal to or greater
than a second four-bit number. It can perform comparison of straight binary and straight BCD (8-
4-2-1) codes. These devices can be cascaded together to perform operations on larger bit numbers
without the help of any external gates. This is facilitated by three additional inputs called cascading
or expansion inputs available on the IC. These cascading inputs are also designated as A = B, A >
B and A <B inputs. Cascading of individual magnitude comparators of the type 7485 or 4585 is
discussed in the following paragraphs. IC 74AS885 is another common magnitude comparator.
The device is an eight bit magnitude comparator belonging to the advanced Schottky TTL family.
It can perform high-speed arithmetic or logic comparisons on two eight-bit binary or 2‘s
complement numbers and produces two fully decoded decisions at the output about one number
being either greater than or less than the other. More than one of these devices can also be
connected in a cascade arrangement to perform comparison of numbers of longer lengths.
Decoders and Encoders
The previous section began by discussing an application: Given 2n data signals, the problem is to
select, under the control of n select inputs, sequences of these 2n data signals to send out serially
on a communications link. The reverse operation on the receiving end of the communications link
is to receive data serially on a single line and to convey it to one of 2noutput lines. This again is
controlled by a set of control inputs. It is this application that needs only one input line; other
applications may require more than one. We will now investigate such a generalized circuit.
Conceivably, there might be a combinational circuit that accepts n inputs (not necessarily 1, but a
small number) and causes data to be routed to one of many, say up to 2n, outputs. Such circuits
have the generic name decoder. Semantically, at least, if something is to be decoded, it must have
previously been encoded, the reverse operation from decoding. Like a multiplexer, an encoding
circuit must accept data from a large number of input lines and convert it to data on a smaller
number of output lines (not necessarily just one). This section will discuss a number of
implementations of decoders and encoders.
n-to-2n-Line Decoder
In the demultiplexer circuit in Figure, suppose the data input line is removed. (Draw the circuit for
yourself.) Each AND gate now has only n (in this case three) inputs, and there are 2n (in this case
eight) outputs. Since there isn’t a data input line to control, what used to be control inputs no longer
serve that function. Instead, they are the data inputs to be decoded.
This circuit is an example of what is called an n-to-2n-line decoder. Each output represents a
minterm. Output k is 1 whenever the combination of the input variable values is the binary
equivalent of decimal k. Now suppose that the data input line from the demultiplexer in Figure 16
is not removed but retained and viewed as an enable input. The decoder now operates only when
the enable x is 1. Viewed conversely, an n-to-2n-line decoder with an enable input can also be
used as a demultiplexer, where the enable becomes the serial data input and the data inputs of the
decoder become the control inputs of thedemultiplexer.7 Decoders of the type just described are
available as integrated circuits (MSI);n = 3 and n = 4 are quite common. There is no theoretical
reason why n can’t be increased to higher values. Since, however, there will always be practical
limitations on the fan-in (the number of inputs that a physical gate can support), decoders of higher
order are often designed using lower-order decoders interconnected with a network of other gates.
Encoder
An encoder is a combinational circuit that performs the inverse operation of a decoder. If a device
output code has fewer bits than the input code has, the device is usually called an encoder. e.g. 2n-
to-n, priority encoders. The simplest encoder is a 2n-to-n binary encoder, where it has only one of
2n inputs =1 and the output is the n-bit binary number corresponding to the active input.
Priority Encoder
A priority encoder is a practical form of an encoder. The encoders available in IC form are all
priority encoders. In this type of encoder, a priority is assigned to each input so that, when more
than one input is simultaneously active, the input with the highest priority is encoded. We will
illustrate the concept of priority encoding with the help of an example.
Let us assume that the octal to-binary encoder described in the previous paragraph has an input
priority for higher-order digits. Let us also assume that input lines D2, D4 and D7 are all
simultaneously in logic ‘1’ state. In that case, only D7 will be encoded and the output will be111.
The truth table of such a priority encoder will then be modified to what is shown above in truth
table. Looking at the last row of the table, it implies that, if D7 = 1, then, irrespective of the logic
status of other inputs, the output is 111 as D7 will only be encoded. As another example, Fig.
shows the logic symbol and truth table of a 10-line decimal to four-line BCD encoder providing
priority encoding for higher-order digits, with digit 9 having the highest priority. In the functional
table shown, the input line with highest priority having a LOW on it is encoded irrespective of the
logic status of the other input lines.
MULTIPLEXERS
Data generated in one location is to be used in another location; a method is needed to transmit it
from one location to another through some communications channel. The data is available, in
parallel, on many different lines but must be transmitted over a single communications link.
A mechanism is needed to select which of the many data lines to activate sequentially at any one
time so that the data this line carries can be transmitted at that time. This process is called
multiplexing. An example is the multiplexing of conversations on the telephone system. A number
of telephone conversations are alternately switched onto the telephone line many times per second.
Because of the nature of the human auditory system, listeners cannot detect that what they are
hearing is chopped up and that other people’s conversations are interspersed with their own in the
transmission process. Needed at the other end of the communications link is a device that will
undo the multiplexing: a demultiplexer. Such a device must accept the incoming serial data and
direct it in parallel to one of many output lines. The interspersed snatches of telephone
conversations, for example, must be sent to the correct listeners.
A digital multiplexer is a circuit with 2n data input lines and one output line. It must also have a
way of determining the specific data input line to be selected at any one time.
This is done with n other input lines, called the select or selector inputs, whose function is to select
one of the 2n data inputs for connection to the output. A circuit for n = 3 is shown in Figure below.
The n selector lines have 2n = 8 combinations of values that constitute binary select numbers
Demultiplexers
The demultiplexer shown there is a single-input, multiple-output circuit. However, in addition to
the data input, there must be other inputs to control the transmission of the data to the appropriate
data output line at any given time. Such a demultiplexer circuit having eight output lines is shown
in Figure 16a. It is instructive to compare this demultiplexer circuit with the multiplexer circuit in
Figure 13. For the same number of control (select) inputs, there are the same number of AND
gates. But now each AND gate output is a circuit output. Rather than each gate having its own
separate data input, the single data line now forms one of the inputs to each AND gate, the other
AND inputs being control inputs.
Synchronous Sequential logic
Latches
The following 3 figures are equivalent representations of a simple circuit. In general these are
called flip-flops. Specially, these examples are called SR (set-rese) flip-flops, or SR latches.
S R Q
S R Q
1 0 0 1 1 0
0 1 1 0 0 1
0 1 0 1 Prev. Prev.
value value
1 0 1 0 0 0
The state described by the last row is clearly problematic, since Q and Q should not be the same
value. Thus the S=R=1 inputs should be avoided.
From the truth table, we can develop a sequence such as the following:
R=0, S=1 => Q=1 (Set)
R=0, S=0 => Q=1 (Q=1 state retained) R=1, S=0 => Q=0 (Reset)
R=0, S=0 => Q=0 (Q= 0 state retained)
In alternative language, the first operation “writes” a true state into one bit of memory. It can
subsequently be “read” until it is erased by the reset operation of the third line.
Flip Flops
The flip-flop is an important element of such circuits. It has the interesting property of an SR Flip-
flop has two inputs: S for setting and R for Resetting the flip- flop : It can be set to a state which
is retained until explicitly reset.
R-S Flip-Flop
A flip-flop, as stated earlier, is a bistable circuit. Both of its output states are stable. The circuit
remains in a particular output state indefinitely until something is done to change that output status.
Referring to the bistable multivibrator circuit discussed earlier, these two states were those of the
output transistor in saturation (representing a LOW output) and in cut-off (representing a HIGH
output). If the LOW and HIGH outputs are respectively regarded as ‘0’ and ‘1’, then the output
can either be a ‘0’ or a ‘1’. Since either a ‘0’ or a ‘1’ can be held indefinitely until the circuit is
appropriately triggered to go to the other state, the circuit is said to have memory. It is capable of
storing one binary digit or one bit of digital information. Also, if we recall the functioning of the
bistable multivibrator circuit, we find that, when one of the transistors was in saturation, the other
was in cut-off. This implies that, if we had taken outputs from the collectors of both transistors,
then the two outputs would be complementary.
J-K Flip-Flop
A J-K flip-flop behaves in the same fashion as an R-S flip-flop except for one of the entries in the
function table. In the case of an R-S flip-flop, the input combination S =R = 1 (in the case of a flip-
flop with active HIGH inputs) and the input combination S = R= 0 (in the case of a flip-flop with
active LOW inputs) are prohibited. In the case of a J-K flip-flop with active HIGH inputs, the
output of the flip-flop toggles, that is, it goes to the other state, for J = K = 1 . The output toggles
for J = K = 0 in the case of the flip-flop having active LOW inputs. Thus, a J-K flip-flop overcomes
the problem of a forbidden input combination of the R-S flip-flop. Figures below respectively
show the circuit symbol of level-triggered J-K flip-flops with active HIGH and active LOW inputs,
along with their function tables.
The characteristic tables for a J-K flip-flop with active HIGH J and K inputs and a J-K flip-flop
with active LOW J and K inputs are respectively shown in Figs (a) and (b). The corresponding
Karnaugh maps are shown in Fig below for the characteristics table of Fig and in below for the
characteristic table below. The characteristic equations for the Karnaugh maps of below figure is
shown next FIG
FIG a. JK flip flop with active high inputs, b. JK flip flop with active low inputs
Toggle Flip-Flop (T Flip-Flop)
The output of a toggle flip-flop, also called a T flip-flop, changes state every time it is triggered at
its T input, called the toggle input. That is, the output becomes ‘1’ if it was
‘0’and ‘0’ if it was ‘1’. Positive edge-triggered and negative edge-triggered T flip-flops, along with
their function tables. If we consider the T input as active when HIGH, the characteristic table of
such a flip-flop is shown in Fig. If the T input were active when LOW, then the characteristic table
would be as shown in Fig. The Karnaugh maps for the characteristic tables of Figs shown
respectively. The characteristic equations as written from the Karnaugh maps are as follows:
Qn 1 T.Qn T.Qn
T(t) Q(t+T)
0 Q(t)
1
Q(t)
D Flip-Flop
A D flip-flop, also called a delay flip-flop, can be used to provide temporary storage of one bit of
information. Figure shows the circuit symbol and function table of a negative edge-triggered D
flip-flop. When the clock is active, the data bit (0 or 1) present at the D input is transferred to the
output. In the D flip-flop of Fig the data transfer from D input to Q output occurs on the negative-
going (HIGH-to-LOW) transition of the clock input. The D input can acquire new status.
Analysis of Clocked Sequential circuits
The analysis of a synchronous sequential circuit is the process of determining the functional
relation that exists between its output, its inputs and its internal state. The contents of all the flip-
flops in the circuit combined determine the internal state of the circuit. Thus, the circuit contains
n flip-flops, it can be in one of the 2n states. Knowing the present state of the circuit and the input
values at any time t, we should be able to derive its next state (i.e. the state at time t+1) and the
output produced by the circuit at t.
A sequential circuit can be described completely by a state table that is very similar to the one
shown for flip-flops. For a circuit with n flip-flops, there will be 2n rows in the state table. If
there are m inputs to the circuit then there will be 2m no of columns. In the intersection of each
row and column the next state and the output information will be recorded.
A state diagram is a graphical representation of state table, in which each state is represented as a
circle and the state transitions are represented as arrows. Analysing a sequential circuit thus
corresponds to generating the state table and state diagram for the circuit. The state table and state
diagram can be used to determine the output sequence generated by the circuit for a given input
sequence if the initial condition is known. Usually the power-up circuits are used to the appropriate
state when the power is turned on.
(a) Sequential circuit analysis (b) Transition table (c) State diagram
Counters
In digital logic and computing, a counter is a device which stores (and sometimes displays) the
number of times a particular event or process has occurred, often in relationship to a clock signal.
In practice, there are two types of counters:
➢ up counters which increase (increment) in value
➢ down counters which decrease (decrement) in value
Counters Types
In electronics, counters can be implemented quite easily using register-type circuits such as the
flip-flop, and a wide variety of designs exist, e.g:
Decade counters
Decade counters are a kind of counter that counts in tens rather than having a binary representation.
Each output will go high in turn, starting over after ten outputs have occurred. This type of circuit
finds applications in multiplexers and demultiplexers, or wherever a scanning type of behaviour is
useful. Similar counters with different numbers of outputs are also common.
Ring or Up-Down Counters
It is a combination of up counter and down counter, counting in straight binary sequence. There is
an up-down selector. If this value is kept high, counter increments binary value and if the value is
low, then counter starts decrementing the count. The Down counters are made by using the
complemented output to act as the clock for the next flip-flop in the case of Asynchronous
counters. An Up counter is constructed by linking the Q out of the J-K Flip flop and putting it into
a Negative Edge Triggered Clock input. A Down Counter is constructed by taking the Q output
and putting it into a Positive Edge Triggered input Ring Counters a ring counter is a counter that
counts up and when it reaches the last number that is designed to count up to, it will reset itself
back to the first number. For example, a ring counter that is designed using 3 JK Flip Flops will
count starting from 001 to 010 to 100 and back to 001. It will repeat itself in a 'Ring' shape and
thus the name Ring Counter is given.
State Diagram
In addition to graphical symbols, tables or equations, flip-flops can also be represented graphically
by a state diagram. In this diagram, a state is represented by a circle, and the transition between
states is indicated by directed lines (or arcs) connecting the circles. An example of a state diagram
is shown in Figure 3 below.
The binary number inside each circle identifies the state the circle represents. The directed lines
are labelled with two binary numbers separated by a slash (/). The input value that causes the state
transition is labelled first. The number after the slash symbol / gives the value of the output. For
example, the directed line from state 00 to 01 is labelled 1/0, meaning that, if the sequential circuit
is in a present state and the input is 1, then the next state is 01 and the output is 0. If it is in a present
state 00 and the input is 0, it will remain in that state. A directed line connecting a circle with itself
indicates that no change of state occurs. The state diagram provides exactly the same information
as the state table and is obtained directly from the state table.
Shift register
In digital circuits a shift register is a group of flip flops set up in a linear fashion which have their
inputs and outputs connected together in such a way that the data is shifted down the line when the
circuit is activated.
Classification of memories
Random Access Memory (RAM)
In general, refers to random access memory. All of the devices we are considering to be
“memories" (RAM, ROM, etc.) are random access. The term RAM has also come to mean memory
which can be both easily written to and read from.
RAM has three basic building blocks, namely an array of memory cells arranged in rows and
columns with each memory cell capable of storing either a ‘0’ or a ‘1’, an address decoder and a
read/write control logic. Depending upon the nature of the memory cell used, there are two types
of RAM, namely static RAM (SRAM) and dynamic RAM (DRAM). In SRAM, the memory cell
is essentially a latch and can store data indefinitely as long as the DC power is supplied. DRAM
on the other hand, has a memory cell that stores data in the form of charge on a capacitor.
Therefore, DRAM cannot retain data for long and hence needs to be refreshed periodically. SRAM
has a higher speed of operation than DRAM but has a smaller storage capacity.
Static RAM
These essentially are arrays of flip-flops. They can be fabricated in ICs as large arrays of tint flip-
flops.) “SRAM" is intrinsically somewhat faster than dynamic RAM.
Dynamic RAM.
Uses capacitor arrays. Charge put on a capacitor will produce a HIGH bit if its voltage V = Q=C
exceeds the threshold for the logic standard in use. Since the charge will “leak" through the
resistance of the connections in times of order 1 msec, the stored in formation must be continuously
refreshed (hence the term “dynamic"). Dynamic RAM can be fabricated with more bits per unit
area in an IC than static RAM. Hence, it is usually the technology of choice for most large-scale
IC memories.
Read-only memory.
Information cannot be easily stored. The idea is that bits are initially stored and are never changed
thereafter. As an example, it is generally prudent for the instructions used to initialize a computer
upon initial power-up to be stored in ROM. The following terms refer to versions of ROM for
which the stored bits can be over-written, but not easily.
Programmable ROM.
Bits can be set on a programming bench by burning fusible links, or equivalent. This technology
is also used for programmable array logic (PALs), which we will briefly discuss in class.
ROM Organization
A circuit for implementing one or more switching functions of several variables was described in
the preceding section and illustrated in Figure 20. The components of the circuit are
• The number of OR gates used would be fewer than the maximum number, the others
remaining unused.
• Not every decoder output would be connected to all OR gate inputs. This scheme would
be terribly wasteful and doesn’t sound like a good idea. Instead, suppose a smaller number, m, is
selected for the number of OR gates to be included, and an interconnection network is set up to
interconnect the 2n decoder outputs to the m OR gate inputs. Such a structure is illustrate in
above figure. It is an LSI combinational circuit with n inputs and m outputs that, for reasons that
will become clear shortly, is called a read-only memory (ROM).
A ROM consists of two parts:
• An n ×2n decoder
• A 2n × m array of switching devices that form interconnections between the 2n lines from the
decoder and the m output lines the 2n output lines from the decoder are called the word lines.
Each of the 2n combinations that constitute the inputs to the interconnection array corresponds to
a minterm and specifies an address. The memory consists of those connections that are actually
made in the connection matrix between the word lines and the output lines. Once made, the
connections in the memory array are permanent. So this memory is not one whose contents can be
changed readily from time to time; we write into this memory but once. However, it is possible to
read the information already stored (the connections actually made) as often as desired, by
applying input words and observing the output words. That’s why the circuit is called read-only
memory. Before you continue reading, think of two possible ways in which to fabricate a ROM so
that one set of connections can be made and another set left unconnected. Continue reading after
you have thought about it.
A ROM can be almost completely fabricated except that none of the connections are made. Such
a ROM is said to be blank. Forming the connections for a particular application is called
programming the ROM. In the process of programming the ROM, a mask is produced to cover
those connections that are not to be made. For this reason, the blank form of the ROM is called
mask programmable.
PLA differs from programmable array logic devices in that both AND and OR gate planes are
programmable.
Programmable Array Logic
The PAL device is a special case of PLA which has a programmable AND array and affixed OR
array. The basic structure of Rom is same as PLA. It is cheap compared to PLA as only the AND
array is programmable. It is also easy to program a PAL compared to PLA as only AND must be
programmed.
The figure below shows a segment of an un-programmed PAL. The input buffer with non-inverted
and inverted outputs is used, since each PAL must drive many AND Gates inputs. When the PAL
is programmed, the fusible links (F1, F2, F3…F8) are selectively blown to leave the desired
connections to the AND Gate inputs. Connections to the AND Gate inputs in a PAL are represented
by Xs, as shown here:
A basic circuit of an RTL NOR gate consists of two transistors Q1 andQ2, connected as the figure
above. When either input X or Y is driven HIGH, the corresponding transistor goes to saturation
and output Z is pulled to LOW.
Thus there is no current through the diodes connected in series to transistor base. Hence the
transistor does not conduct, thus remains in cut-off, and output out is high. If all the inputs X,Y,Z
are driven high, the diodes in series conduct, driving the transistor into saturation. Thus output out
is Low.
Transistor Transistor Logic
In Transistor Transistor logic or just TTL, logic gates are built only around transistors. TTL was
developed in 1965. Through the years basic TTL has been improved to meet performance
requirements. There are many versions or families of TTL.
➢ Standard TTL
➢ Schhottky TTL
➢ Tristate Output.
Before we discuss the output stage let's look at the input stage, which is used with almost all
versions of TTL. This consists of an input transistor and a phase splitter transistor. Input stage
consists of a multi emitter transistor as shown in the figure below. When any input is driven low,
the emitter base junction is forward biased and input transistor conducts. This in turn drives the
phase splitter transistor into cut-off.
Metal Oxide Semiconductor Logic (PMOS and NMOS)
MOS or Metal Oxide Semiconductor logic uses nmos and pmos to implement logic gates. One needs to
know the operation of FET and MOS transistors to understand the operation of MOS logic circuits transistor
does not conduct, and thus output is HIGH. But when input is HIGH,NMOS transistor conducts and thus
output is LOW.
VerilUOC_Desktop
VerilUOC_Desktop is a sort of tool located within the digital system virtual machine that you have installed in
your computer. It consists of four tools, Logism, VerilCirc, BoolMin, and VerilChart.
• Logisim is a tool to design circuits and enter the schematics.
• VerilCirc is a tool that checks whether the circuit designed with Logisim is the right one.
• BoolMin is the tool we'll use to grade those assignments whose answer is a Boolean expression.
• VerilChart is a tool to enter and check Time Charts.
As we know VerilUOC_Desktop is inside the DigitalSystem virtual machine. So the first thing we have to do
is to launch VirtualBox and start the virtual machine. To run VirtualBox in Windows, just double-click the
VirtualBox icon in your desktop. In OS X, double-click the VirtualBox icon in the Applications folder, and in
Linux, you should use a terminal to run the command virtualbox.
Visit and follow instructions for install of VerilUOC. LINK
https://crsrdigitalsystems.eu-central-1.linodeobjects.com/coursera/DigitalSystems/v2/Manuals/lista_Eng.htm
DOWNLOAD VIRTUAL MACHINE. Link is LINK
https://crsrdigitalsystems.eu-central-
1.linodeobjects.com/coursera/DigitalSystems/v2/VirtualMachine/DigitalSystemsVM.7z
THREE THINGS TO KEEP IN MIND WHILE MAKING CIRCUITS
• Add components such as logic gates, plexers, etc.
• You can change facing property in left hand pane for change of component orientation
In this screen you can see the VerilUOC_Desktop icon. (NOTE: As indicated in the installation manual of the
virtual machine, you should never update neither the virtual machine, nor VirtualBox.
VerilCIRC:
This tool allows to design a circuit and to automatically validate if the behaviour of the circuit corresponds to
the specification of the exercise.
This manual describes:
VerilCIRC Example
• Create the following circuit in LogiSim that corresponds to a two-input AND gate with the
inputs in1 and in2 and the output output.
• After drawing the circuit, go to VerilCIRC using the menu "Simulate"->"Verification" or selecting the
window of VerilCIRC on the task bar (if it is already opened). We select the circuit "and2" and press the button
"Verify" (a double-click on the exercise also starts the verification process). If we have designed the circuit
properly, the following message will be prompt.
• If it is not correct, description of the error will be prompt. We can modify the circuit to see different
errors (The types of errors are described in Output messages). Suppose the following change to the circuit:
• If we verify the circuit with the circuit "and2", we can see that it appears in the tab "Verification" a
vector of bits that when assigned to the inputs, the value of a output is wrong. Using LogiSim, the vector can
be assigned to the inputs to analize the erroneous behaviour.
• Besides, the application incorporates a visualization with time charts from version 1.10 to analyse
quickly which output has the error. The outputs are represented in two categories:
o In the case of single bit outputs, two lines are drawn. The discontinuous line corresponds to the
correct value.
o In the case of multi bit outputs, two values inside the hexagons are drawn that represent the
period of time that obtains this value. The second value corresponds to the correct value.
BoolMin:
BoolMin is a design tool to verify the answers to the weekly exercises related with Boolean functions and
expressions. In these exercises the student is asked to compute a Boolean expression from:
BoolMin computes the cost of the resulting expression in terms of the number of 2-input AND and OR
operations. INV operations are not computed.
In this documentation, we explain how to access BoolMin and how to use it to answer the course exercises.
Check the results you get when applying this set of values to the intermediate expressions that you have
obtained while doing the exercise. The first point in which you get an evaluation different form that obtained
applying these values to the initial element (0 in this case) will probably indicate you the location of the error.
• Use of BoolMin
Let’s assume we have performed one of this exercises and we want to check if the expression we got is the
correct one. We have to:
1. Click on the exercise identifier. The panel PDF Description will display the problem statement. If the
exercise statement includes a Boolean expression, it will appear in the Description panel, written accordingly
to BoolMin syntax (see next section).
2. Enter the answer in the box at the bottom. The Boolean expression must follow a special syntax explained in
the next section.
5. The result of the verification appears in the Verification panel. If the result is wrong, a message indicating
the causes of the error is displayed. When possible, the message includes a set of values of the variables that,
applied to the problem statement, and applied to the expression entered by the student, produces different
results.
In addition, BoolMin returns a 4 uppercase letters code that must be entered into the Coursera quiz answer box.
VerilChart?
VerilChart is a tool to support the analysis of circuits and finite state machines using time charts. This tool
allows to fill up the time chart of a circuit or a finite state machines and to automatically validate the solution.
To avoid the distribution of different applications, VerilChart has been integrated inside VerilUOC. Therefore,
no additional installation is required.
Utilisation of VerilChart
To access to the tool, the process is the same we used for VerilCIRC:
• At this moment, if there is a new version of the program, VerilUOC will offer to download it.
Depending on the network speed, it can take some time to download. Notice that, the new version does not
delete the old one. The new program will be copied at the same folder of the old one and the older version will
be saved in a folder called 'backupVerilUOC'.
• It
will appear
the
verification tools window. To access to VerilChart, select the tab with the same name.
o The left part serves to select the exercise that wants to be validated. His utilisation is identical to
VerilCIRC.In this screen, the user is able to choose the enrolled course (it will only appear 'MOOC' that
corresponds to this course). For this course, the exercises are grouped by the modules of the course. For each
module, the next table shows the list of exercises that can be verified with a small description. For each circuit,
the table summarizes the number of tries and the number of times that the exercise has been verified correctly
and with errors. Notice that, the correct tries are counted only once..
o The inferior button allows to hide the table of exercises to see more clearly the description
of the exercise and the result of the verification.
o The right part serves to solve the exercise and it is divided as follows:
1. Edition of the time chart: The outputs of the time chart can be edited for each time unit . The inferior
buttons allow to perform the next operations:
o This button adds values on signals of bigger size (the numerical value of the output is
asked). Notice that in case that the output represents the value of a state, instead of asking the numerical value,
the name of the state will be asked.
o This button deletes any type of value (lines, hexagons and states).
o This additional functionality allows to print the time chart in image format.
2. The tool also allows the user to define the degree of verification of the exercise:
o By transition: In case of error, the first transition where an error has been produced is prompt.
o By output: In case of error, the output where the first error has been detected is prompt.
Sometimes, some of these options are disabled. Depending of the type of exercise (e.g. exam), the team of
professors may decide to disable some degrees of verification. In this case, the user will have to perform the
exercise without this extra clues.
3. Finally, the exercises can be saved in file format and can be loaded by the tool anytime
VerilChart Example
button as it is explained in Time chart edition to enter the values of the signal. Suppose that we enter the
wrong values as we shown in the next figure where there is an error between the transition 3 and 4.
To verify the time chart, press the button "Verify". VerilCHART will ask to save the exercise in a file. We
select the name of the file and press "OK". In the Verification tab will see the following wrong answer:
If we want to know in which output there is an error (in this case, the time chart only has an output, but a time
chart may have multiple outputs), we can select the option of verification "By output". Now if we press again
the button to verify, we will see the output where there is the error.
We can also know the transition where there is the error by selecting the option "By transition". Now, if we
press the button "verify", VerilCHART shows the erroneous transition.
These options are very useful, but we recommend not to use it by default.
To solve the error, change the value between the transition 3 and 4 to 0. Now, if we perform the verification,
we will see that the solution is correct.
Synthesis tools are software tools used to translate high-level hardware descriptions (typically written in HDL
like VHDL or Verilog) into gate-level representations that can be implemented on physical hardware such as
FPGAs or ASICs.
Propagation time (or delay) refers to the time it takes for a signal to propagate through a logic gate or a circuit
from input to output. It is crucial to consider delay when designing high-speed combinational circuits, as it can
impact the overall performance of the system.
Types of delay:
• Gate delay: The inherent delay in a logic gate due to its physical properties.
• Wire delay: The delay due to the physical routing of signals between gates.
• Setup and Hold Time: Constraints that ensure signals are stable for reliable operation.
In addition to simple AND, OR, NOT gates, combinational circuits may use more complex logic blocks such
as:
• Multiplexers (MUX): A combinational circuit that selects one of many inputs based on a control signal.
• Encoders/Decoders: Convert data between different binary representations.
• Priority Encoders: Encodes a set of inputs into a binary value, with priority assigned to certain inputs.
• Arithmetic Logic Units (ALUs): Perform arithmetic operations (addition, subtraction, etc.).
• Adders/Subtractors: Implement binary addition (e.g., ripple carry adder, carry-lookahead adder).
HDLs like VHDL (VHSIC Hardware Description Language) and Verilog allow designers to model the
behavior and structure of digital systems at various levels of abstraction.
vhdl
Copy code
entity AND_gate is
port ( A, B : in bit;
Y : out bit);
end entity;
5. Structure Specification
Structure specification in VHDL refers to how components are interconnected to form a larger system. This
can include:
• Hierarchical design: Breaking down a large system into smaller, reusable components.
• Structural modeling: Describing the system in terms of its components and how they are interconnected.
Example: A 4-bit adder can be structured by combining multiple 1-bit full adders.
vhdl
Copy code
architecture behavioral of Adder_4bit is
component FullAdder
port (A, B, Cin : in bit;
Sum, Cout : out bit);
end component;
6. Arithmetic Components
Arithmetic components are fundamental for implementing various mathematical operations in digital circuits.
Some common arithmetic components include:
• Adders:
o Ripple Carry Adder: Simple but slower, where each bit's carry-out is passed to the next bit.
o Carry-Lookahead Adder: Faster than ripple carry by reducing carry propagation time.
o Manchester Carry Chain: An efficient carry propagation method.
• Subtractors:
o Binary Subtractors: Implement subtraction using a complement-based method (e.g., two's
complement).
o Subtract and borrow circuits are built similarly to adders but require additional logic for borrow
propagation.
• Multipliers:
o Array Multiplier: A simple multiplier that uses a 2D grid of AND and adder circuits.
o Booth’s Algorithm: Optimizes multiplication, particularly with signed numbers.
o Wallace Tree Multiplier: A fast multiplier that uses a tree structure to reduce the number of
adders.
• Dividers:
o Restoring Divider: A simple algorithm based on repeated subtraction.
o Non-Restoring Divider: More efficient than restoring division.
VHDL (VHSIC Hardware Description Language) is a strongly typed, case-insensitive language used for
describing the behavior and structure of digital systems. Like all programming languages, VHDL has specific
lexical rules and syntax for writing code.
• Keywords: Reserved words in VHDL that cannot be used as identifiers. Examples include entity,
architecture, process, if, end, etc.
• Identifiers: Names given to variables, signals, components, and other entities. An identifier must start
with a letter and can include letters, numbers, and underscores. VHDL is case-insensitive.
• Comments: Comments are written after two dashes (--), and they go until the end of the line. Example:
VHDL Syntax
• Statements: VHDL uses a statement-based structure where statements are separated by semicolons (;).
signal a : std_logic;
a <= '1';
Block Structure: VHDL code is organized into blocks, which are typically entity, architecture, and process.
VHDL designs are organized into several units, each serving a different purpose. The most commonly used
design units are:
Entity
An entity defines the interface of a component. It specifies the input and output ports and their types but
doesn't define the functionality.
entity AND_gate is
Y : out std_logic);
end AND_gate;
• Ports: Defined inside the port block, specifying input (in), output (out), or inout (inout) signal types.
Architecture
An architecture defines the internal implementation of the entity, such as how signals are processed or how
components are connected.
Sample questions:
1. What is the primary purpose of using Boolean algebra in digital system design?
A) To represent continuous signals
B) To facilitate the simplification of logic circuits
C) To design analog circuits
D) To improve signal propagation time
Note*: C) Maximum operating voltage because it's about the processor's power needs, not its core design.
Options A, B, and D relate directly to how the processor works and performs.
5. Which of the following tools from VerilUOC_Desktop is specifically used for digital circuit visualization and
simulation?
A) BoolMin
B) Logisim
C) VerilChart
D) VHDL Simulator
6. Which of the following is an essential feature of VHDL (VHSIC Hardware Description Language)?
A) VHDL is used only for simulating analog circuits.
B) It allows both functional and structural modeling of digital circuits.
C) It does not support concurrency.
D) It cannot be synthesized into hardware.
7. In combinational circuits, which component is most commonly used to minimize propagation delay?
A) Multiplexers
B) Arithmetic Logic Units (ALUs)
C) Buffers
D) Carry-lookahead adders
10. In the context of VerilUOC_Desktop tools, which of the following best describes the purpose of BoolMin?
A) To simulate large multiprocessor systems
B) To generate minimized Boolean expressions for logic circuit design
C) To visualize VHDL programs
D) To model and simulate propagation delay in circuits
ANSWERS:
1. B) To facilitate the simplification of logic circuits
2. B) Their output depends solely on the current inputs, not past inputs.
3. C) Maximum operating voltage
4. B) To control data flow by allowing three possible states: 0, 1, and high impedance
5. B) Logisim
6. B) It allows both functional and structural modeling of digital circuits.
7. D) Carry-lookahead adders
8. A) To manage cache coherence in a distributed system
9. C) Full adder
10. B) To generate minimized Boolean expressions for logic circuit design
Unit-III
Sequential Circuits: Sequential Circuits I: Sequential Circuits, Latches, and flip-flops, Explicit
Functional Description, Synthesis from the table and an example of synthesis, Combinational blocks,
Sequential blocks, Sequential Circuits II: Registers, Counters, Memories, sequential blocks, Finite
State Machines, and their examples, Sequential implementation of algorithms, Instructions control
complete circuits, Implementation of digital systems: Physical implementation, implementation
strategies, and synthesis tools, test and design methods, Multiprocessor interconnect-I,
Multiprocessor interconnect-II
I. Sequential Circuits
Digital circuits are classified into two major categories namely, combinational circuits and sequential circuits.
A sequential circuit is a type of digital logic circuit whose output depends on present inputs as well as past
operation of the circuit.
A sequential circuit is a logic circuit that consists of a memory element to store history of past operation of the
circuit. Therefore, the output of a sequential circuit depends on present inputs as well as past outputs of the
circuit.
The block diagram of a typical sequential circuit is shown in the following figure −
Here, it can be seen that a sequential circuit is basically a combination of a combinational circuit and a memory
element. The combinational circuit performs the logical operations specified, while the memory element
records the history of operation of the circuit. This history is then used to perform various logical operations in
future.
The sequential circuits are named so because they use a series of latest and previous inputs to determine the
new output.
1. Logic Gates
The logic gates like AND, OR, NOT, etc. are used to implement the data processing mechanism of the
sequential circuits. These logic gates are basically interconnected in a specific manner to implement
combinational circuits to perform logical operations on input data.
2. Memory Element
In sequential circuits, the memory element is another crucial component that holds history of circuit operation.
Generally, flip-flops are used as the memory element in sequential circuits.
In sequential circuits, a feedback path is provided between the output and the input that transfers information
from output end to the memory element and from memory element to the input end.
All these components are interconnected together to design a sequential circuit that can perform complex
operations and store state information in the memory element.
Based on structure, operation, and applications, the sequential circuits are classified into the following two
types −
A type of sequential circuit whose operation does not depend on the clock signals is known as an asynchronous
sequential circuit. This type of sequential circuits operates using the input pulses that means their state changes
with the change in the input pulses.
The main components of the asynchronous sequential circuits include un-clocked flip flops and combinational
logic circuits. The block diagram of a typical asynchronous sequential circuit is shown in the following figure.
From this diagram, it is clear that an asynchronous sequential circuit is similar to a combinational logic circuit
with a feedback mechanism.
Asynchronous sequential circuits are mainly used in applications where the clock signals are not available or
practical to use. For example, in conditions when speed of the task execution is important.
Asynchronous sequential circuits are relatively difficult to design and sometimes they produce uncertain output.
A synchronous sequential circuit is a type of sequential circuit in which all the memory elements are
synchronized by a common clock signal. Hence, synchronous sequential circuits take a clock signal along with
input signals.
In synchronous sequential circuits, the duration of the output pulse is equivalent to the duration of the clock
pulse applied. Below is the block diagram of a typical synchronous sequential circuit −
In this figure, it can be seen that the memory element of the sequential circuit is synchronized by a clock signal.
The major disadvantage of the synchronous sequential circuits is that their operation is quite slow. This is
because, every time the circuit has to wait for a clock pulse for the operation to take place. However, the most
significant advantage of synchronous sequential circuits is that they have a reliable and predictable operation.
Some common examples of synchronous sequential circuits include counters, registers, memory units, control
units, etc.
Given below is a list of some of the main advantages of using sequential circuits over combinational logic
circuits −
• Sequential circuits can retain the operation history which is important in various applications like data
storage, feedback control systems, etc.
• Sequential circuits exhibit dynamic behavior and can execute complex operation in real time.
• Sequential circuits comprise a feedback mechanism which improves the stability and optimizes the
system performance.
• Synchronous sequential circuits use a common clock signal for synchronization that ensures reliable
operation of the circuit.
• Sequential circuits can perform more complex operations using simpler circuit designs than
combinational circuits. Hence, their hardware complexity is lesser.
Disadvantages of Sequential Circuits
Sequential circuits do have several disadvantages too. Some of the key disadvantages of using sequential
circuits are listed below −
• Sequential circuits have higher propagation delay because the input signal passes through multiple
stages of logic circuits and memory elements.
• Sequential circuits are relatively complicated and time taking process to design and analyze.
• Sequential circuits require a proper synchronization and clock distribution to work as intended.
• As compared to combinational circuits, sequential circuits consume relatively more power due to
complex design and use of additional components like clock and memory element.
Sequential circuits are used in a wide range of applications in the field of digital electronics.The following are
some common examples of applications of sequential circuits −
• Sequential circuits are used in digital counters employed in applications like frequency division, event
counting, time keeping, and more.
• Sequential circuits are also used in digital memory devices like flip-flops, registers, etc. to store and
retrieve data.
• Sequential circuits are used to design control circuits in digital systems.
• Sequential circuits play an important role in sequential logic and state-based data processing operations.
• Sequential circuits are also used in automation systems to control the operation of machines based on
predefined logics.
• In communication systems, sequential circuits are used to implement communication protocols and data
transmission standards.
II. Latches
A latch is an asynchronous sequential circuit whose output changes immediately with the change in the applied
input. A latch is used to store 1 bit information in a digital system, so it is considered as the most elementary
memory element.
What is a Latch?
In digital electronics, a latch is an asynchronous sequential circuit that can store 1-bit information. It is used as
the fundamental memory element in digital circuits. A latch can have two stable states namely, set and reset.
The set state is denoted by the logic 1 and the
reset state is represented by the logic 0. Due to these two stable states, a latch is also known as a bistable-
multivibrator. The state of a latch toggles according to the applied input.
The most important thing to be noted about latches is that they do not have a clock signal for synchronization.
That is why they are called asynchronous sequential circuits.
The logic gates are the fundamental building blocks of latches. Since there is no synchronization and clock
signal used. Hence, the latches operate immediately on the application of input signals.
Characteristics of Latches
Types of Latches
The following are the main types of latches that used in digital circuits and systems −
• SR Latch
• JK Latch
• D Latch
• T Latch
1. SR Latch
The SR latch is a type of latch which has two input lines designated as S and R. Where, S represents the Set
input and R represents the Reset input. Thus, it is also known as Set-Reset
Latch.
The SR latch has two stable states namely Set state (S) and Reset state (R). The block diagram of the SR latch
is shown in the following figure.
In the case of SR latch, the S input sets the output Q to 1 and Q' to 0. On the other hand, the R input sets the
output Q to 0 and Q' to 1. In case, when both S and R inputs are high, the latch is said to be in forbidden state.
The complete operation of the SR latch for different input combinations is described in the following truth
table −
Inputs Outputs
Comment
S R Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 1 0 Set state
1 1 X X Forbidden state
The SR latch can be implemented by connecting two NOR gates in a cross-coupled manner as shown in the
following figure.
JK Latch
The JK latch is another type of latch which has two inputs namely, J and K. Here, the input J is similar to S
input and the input K is similar to R input in an SR latch.
The operation of the JK latch is similar to that of the SR latch but it does not have the forbidden state. Instead,
it has a toggle state in which the outputs Q and Q' swap their states when both inputs J and K are 1.
Therefor, the JK latch is mainly designed to overcome the problem of forbidden state in the SR latch.
The truth table given below describes the operation of the JK latch for different input combinations −
Inputs Outputs
Comment
J K Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 1 0 Set state
1 1 Q' Q Toggle state
From this truth table, it is clear that the problem of forbidden state is addressed by implementing the toggle
state.
The logic circuit of the JK latch consists of a combination of two NOR gates and two AND gates as shown in
the following figure.
D Latch
The D Latch, also known as Data latch or transparent latch, is a type of bistable multivibrator which has two
input signals namely, D (Data) input and E (Enable) input.
The output Q of the D latch is same as the input applied at the D input line as long as the E input is high. When
the E input goes low, the output of the D latch is held as it is until the new input is applied to the D input.
The truth table given below explains the operation of the D latch −
Inputs Outputs
Comment
D E Q Q'
0 0 Q Q' No change
0 1 0 1 Reset state
1 0 Q Q' No change
1 1 1 0 Set state
The logic circuit diagram of the D latch is depicted in the following figure −
T Latch
T latch is a type of latch that toggles its output state (Q) when a logic 1 is applied to its input line. Hence, it is
also known as toggle latch.
The T latch is implemented by connecting the J and K inputs of the JK latch together as shown in the following
block diagram.
The truth table describing the operation of the T latch is shown below −
The logic circuit diagram of the T latch is shown in the following figure −
Applications of Latches
The latches find several applications in the field of digital electronics. They are most elementary storage
components used to store one bit of information in digital systems.
III. Flip-Flops
The flip-flops are basically the circuits that maintain a certain state unless and until directed by the input for
changing that state. We can construct a basic flip-flop using four-NOR and four-NAND gates.
Types of Flip-Flops
The flip-flops are of the following types:
1. S-R Flip Flop
2. J-K Flip Flop
3. T Flip Flop
4. D Flip Flop
Below, you can find the logic diagrams along with the truth tables of all the various types of flip-flops:
S-R Flip Flop
J-K Flip Flop
T Flip Flop
D Flip Flop
Converting Flip-Flops
Here are the steps that one must use to convert one given flip-flop to another one. Let us assume that we have
the required flip-flops that are to be constructed using the sub-flip-flops:
1. Drawing of the truth of the required flip-flop.
2. Writing of the corresponding outputs of those sub-flip-flops that are to be used from the given excitation
table.
3. Drawing of the K-Maps using the required inputs of the flip-flops and then obtaining the excitation functions
for the inputs of the sub-flip-flops.
4. Construction of the logic diagram in accordance with the functions that we have obtained.
Conversion of SR to JK Flip-Flop
Excitation Functions
Conversion of SR to D FlipFlop
Excitation Functions
R = D‘
S=D
Applications of Flip-Flops
• Frequency dividers
• Counters
• Storage registers
• Shift registers
• Data storage
• Bounce elimination switch
• Latch
• Data transfer
• Memory
• Registers
In digital design, synthesis refers to the process of translating a high-level design description (such as a truth
table, Boolean expression, or hardware description language like VHDL or Verilog) into a gate-level netlist.
This netlist represents the actual digital components (gates, flip-flops, multiplexers, etc.) that will be used to
implement the system in hardware.
A truth table is a key tool for synthesizing combinational logic. It provides a comprehensive mapping of all
possible input combinations to their corresponding output values. From the truth table, the synthesis tool (or
manual synthesis process) will derive a Boolean expression or circuit implementation that realizes the desired
logic.
1. Create the Truth Table: The first step is to create a truth table based on the system's input and output
specifications. This table lists all possible combinations of inputs and the corresponding output for each
combination.
2. Simplify the Boolean Expression: Once you have the truth table, the next step is to derive the Boolean
equation for the system. This is typically done by identifying the rows where the output is 1 (for sum-of-
products) or 0 (for product-of-sums), and then simplifying the Boolean expression using Boolean algebra or
Karnaugh maps (K-maps).
3. Generate Logic Gates: Once the Boolean expression is derived and simplified, you can synthesize the
logic by converting the Boolean expression into an actual gate-level representation. This involves translating
logical operations into standard logic gates (AND, OR, NOT, NAND, NOR, etc.).
4. Translate to Hardware Description Language (HDL) or Gate-Level Circuit: The simplified Boolean
expression is then translated into a hardware description (HDL like Verilog/VHDL), which can be used to
generate a gate-level netlist or directly synthesized into a digital circuit.
Consider a simple 2-input logic function where the inputs are A and B, and the output is Y.
From the truth table, observe that the output Y is 1 when either:
• A = 0 and B = 1
• A = 1 and B = 0
We can express these conditions as the sum of products (SOP):
This is the XOR (exclusive OR) function, which is the simplified Boolean expression for this truth table.
The Boolean expression can also be written in a hardware description language like Verilog:
module xor_gate (
input A, B, // Inputs
output Y // Output
);
endmodule
Combinational logic refers to circuits where the output is solely dependent on the current inputs, and there is
no memory or feedback. These types of circuits do not have any state or history; the output is a direct function
of the present input values. Combinational logic is fundamental in digital design, where the primary task is to
implement various logical functions and arithmetic operations.
• No Memory or State: The output depends only on the current input values.
• Instantaneous Output: The output will change immediately as the inputs change (ignoring propagation
delays).
• No Feedback: There are no feedback loops or internal state retention; inputs do not depend on past
states.
1. Logic Gates
Logic gates are the fundamental building blocks of digital circuits. These gates perform basic logical
operations.
Example: Y = A AND B
Example: Y = A OR B
NOT Gate: Inverts the input (output is the opposite of the input).
Example: Y = NOT A
Example: Y = A NAND B
NOR Gate: Output is 1 only when all inputs are 0 (inverse of OR).
Example: Y = A NOR B
Example: Y = A XOR B
XNOR Gate (Exclusive NOR): Output is 1 when inputs are the same (inverse of XOR).
Example: Y = A XNOR B
2. Multiplexers (MUX)
A Multiplexer is a combinational circuit that selects one of many inputs based on the values of the select lines
and outputs the selected input. It works like a digital switch, directing one of the inputs to the output.
2-to-1 MUX: Selects between two inputs (I0, I1) based on a select line (S).
3. Demultiplexers (DEMUX)
A Demultiplexer performs the inverse operation of a multiplexer. It takes a single input and directs it to one of
several output lines based on the values of the select lines.
VII. Sequential
Blocks
In digital circuits, sequential circuits are those whose output depends not only on the current input but also on
the previous inputs or states. This is because sequential circuits have memory elements that store the past state
of the system. The presence of these memory elements (like flip-flops, latches, registers) means that sequential
circuits can store information and exhibit time-dependent behavior.
• State-Dependent: The output depends on both the current inputs and the previous state(s) of the system.
• Memory Elements: These circuits contain components that store information, such as flip-flops or
latches.
• Clocked or Unclocked: Sequential circuits can be either synchronous (clock-driven) or asynchronous
(unclocked).
• Time Dependency: The system has memory, meaning it can "remember" past states, and output may
change in response to the clock or other signals.
1. Memory Elements:
o Flip-Flops: The basic building blocks of sequential circuits. These store a single bit of data and
change state based on clock signals or input conditions.
o Latches: Similar to flip-flops but operate asynchronously or with simpler control signals. They
are typically level-sensitive (hold data when the control signal is active).
2. Combinational Logic: In sequential circuits, combinational logic blocks process the current inputs and
the current state to generate the next state and the output. The output depends on both the input and the state.
3. Clock: Synchronous sequential circuits use a clock to control the timing of changes in the state. The
circuit only updates its state on a specific clock edge (rising or falling).
A Counter is a device which stores (and sometimes displays) the number of times a particular event or process
has occurred, often in relationship to a clock signal. Counters are used in digital electronics for counting
purpose, they can count specific event happening in the circuit. For example, in UP counter a counter increases
count for every rising edge of clock. Not only counting, a counter can follow the certain sequence based on our
design like any random sequence 0,1,3,2… .They can also be designed with the help of flip flops. They are
used as frequency dividers where the frequency of given pulse waveform is divided. Counters are sequential
circuit that count the number of pulses can be either in binary code or BCD form. The main properties of a
counter are timing , sequencing , and counting. Counter works in two modes
• Up counter
• Down counter
Counter Classification
Counters are broadly divided into two categories
1. Asynchronous counter
2. Synchronous counter
Asynchronous Counter
In asynchronous counter we don’t use universal clock, only first flip flop is driven by main clock and the clock
input of rest of the following flip flop is driven by output of previous flip flops. We can understand it by
following diagram-
It is evident from timing diagram that Q0 is changing as soon as the rising edge of clock pulse is encountered,
Q1 is changing when rising edge of Q0 is encountered(because Q0 is like clock pulse for second flip flop) and
so on. In this way ripples are generated through Q0,Q1,Q2,Q3 hence it is also called RIPPLE counter and
serial counter. A ripple counter is a cascaded arrangement of flip flops where the output of one flip flop drives
the clock input of the following flip flop
Synchronous Counter
Unlike the asynchronous counter, synchronous counter has one global clock which drives each flip flop so
output changes in parallel. The one advantage of synchronous counter over asynchronous counter is, it can
operate on higher frequency than asynchronous counter as it does not have cumulative delay because of same
clock is given to each flip flop. It is also called as parallel counter.
From circuit diagram we see that Q0 bit gives response to each falling edge of clock while Q1 is dependent on
Q0, Q2 is dependent on Q1 and Q0 , Q3 is dependent on Q2,Q1 and Q0.
Decade Counter
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).
Clock
Q3 Q2 Q1 Q0
pulse
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 0 0 0 0
Truth table for simple decade counter
We see from circuit diagram that we have used nand gate for Q3 and Q1 and feeding this to clear input line
because binary representation of 10 is—
1010
And we see Q3 and Q1 are 1 here, if we give NAND of these two bits to clear input then counter will be
clear at 10 and again start from beginning.
Important point: Number of flip flops used in counter are always greater than equal to (log2 n) where
n=number of states in counter.
Ripple counter is a cascaded arrangement of flip-flops where the output of one flip-flop drives the clock input
of the following flip-flop. The number of flip flops in the cascaded arrangement depends upon the number of
different logic states that it goes through before it repeats the sequence a parameter known as the modulus of
the counter. A n-bit ripple counter can count up to 2n states. It is also known as MOD n counter. It is known as
ripple counter because of the way the clock pulse ripples its way through the flip-flops. Some of the features of
ripple counter are:
• It is an asynchronous counter.
• Different flip-flops are used with a different clock pulse.
• All the flip-flops are used in toggle mode.
• Only one flip-flop is applied with an external clock pulse and another flip-flop clock is obtained from
the output of the previous flip-flop.
• The flip-flop applied with an external clock pulse act as LSB (Least Significant Bit) in the counting
sequence.
A counter may be an up counter that counts upwards or can be a down counter that counts downwards or can
do both i.e.count up as well as count downwards depending on the input control. The sequence of counting
usually gets repeated after a limit. When counting up, for the n-bit counter the count sequence goes from 000,
001, 010, … 110, 111, 000, 001, … etc. When counting down the count sequence goes in the opposite manner:
111, 110, … 010, 001, 000, 111, 110, … etc.
A 3-bit Ripple counter using a JK flip-flop is as follows:
In the circuit shown in the above figure, Q0(LSB) will toggle for every clock pulse because JK flip-flop works
in toggle mode when both J and K are applied 1, 1, or high input. The following counter will toggle when the
previous one changes from 1 to 0.
Truth Table is as follows:
The 3-bit ripple counter used in the circuit above has eight different states, each one of which represents a
count value. Similarly, a counter having n flip-flops can have a maximum of 2 to the power n states. The
number of states that a counter owns is known as its mod (modulo) number. Hence a 3-bit counter is a mod-8
counter. A mod-n counter may also be described as a divide-by-n counter. This is because the most significant
flip-flop (the furthest flip-flop from the original clock pulse) produces one pulse for every n pulses at the clock
input of the least significant flip-flop (the one triggers by the clock pulse). Thus, the above counter is an
example of a divide-by-4 counter.
Timing diagram
Let us assume that the clock is negative edge triggered so the above the counter will act as an up counter
because the clock is negative edge triggered and output is taken from Q.
Counters are used very frequently to divide clock frequencies and their uses mainly involve digital clocks and
in multiplexing. The widely known example of the counter is parallel to serial data conversion logic.
A ring counter is a typical application of the Shift register. The ring counter is almost the same as the shift
counter. The only change is that the output of the last flip-flop is connected to the input of the first flip-flop in
the case of the ring counter but in the case of the shift register it is taken as output. Except for this, all the other
things are the same.
In this diagram,
we can see that the clock pulse (CLK) is applied to all the flip-flops simultaneously. Therefore, it is a
Synchronous Counter. Also, here we use Overriding input (ORI) for each flip-flop. Preset (PR) and Clear
(CLR) are used as ORI. When PR is 0, then the output is 1. And when CLR is 0, then the output is 0. Both PR
and CLR are active low signal that always works in value 0.
PR = 0, Q = 1
CLR = 0, Q = 0
These two values are always fixed. They are independent of the value of input D and the Clock pulse
(CLK). Working – Here, ORI is connected to Preset (PR) in FF-0 and it is connected to Clear (CLR) in FF-1,
FF-2, and FF-3. Thus, output Q = 1 is generated at FF-0, and the rest of the flip-flop generates output Q = 0.
This output Q = 1 at FF-0 is known as Pre-set 1 which is used to form the ring in the Ring Counter.
This Preseted 1 is generated by making ORI low and that time Clock (CLK) becomes don’t care. After that
ORI is made to high and apply low clock pulse signal as the Clock (CLK) is negative edge triggered. After that,
at each clock pulse, the preseted 1 is shifted to the next flip-flop and thus forms a Ring. From the above table,
we can say that there are 4 states in a 4-bit Ring Counter.
4 states are:
1000
0100
0010
0001
In this way can design a 4-bit Ring Counter using four D flip-flops.
Straight Ring Counter: It is also known as One hot Counter. In this counter, the output of the last flip-flop is
connected to the input of the first flip-flop. The main point of this Counter is that it circulates a single one (or
zero) bit around the ring.
Here, we use Preset (PR) in the first flip-flop and Clock (CLK) for the last three flip-flops.
Twisted Ring Counter – It is also known as a switch-tail ring counter, walking ring counter, or Johnson
counter. It connects the complement of the output of the last shift register to the input of the first register and
circulates a stream of ones followed by zeros around the
ring.
Here, we use Clock (CLK) for all the flip-flops. In the Twisted Ring Counter, the number of states = 2 X the
number of flip-flops.
A register serves as a quick memory for accepting, storing, and sending data and instructions that the CPU will
need right away. A register is a collection of flip-flops, Single bit digital data is stored using flip-flops. By
combining many flip-flops, the storage capacity can be extended to accommodate a huge number of bits. We
must utilize an n-bit register with n flip flops if we wish to store an n-bit word.
The gates govern the flow of information, i.e., when and how the information is sent into a register, whereas
the flip-flops store the binary information.
Working of Registers:
When we provide the system with input, that input is stored in registers, and when the system returns results
after processing, those results are also drawn from the registers. so that the CPU can use them to process the
data that the user provides.
Registers are performed based on three operations:
• Fetch: The Fetch Operation is used to retrieve user-provided instructions that have been stored in the
main memory. Registers are used to fetch these instructions.
• Decode: The Decode Operation is used to interpret the Instructions, which means that the CPU will
determine which Operation has to be carried out on the Instructions after the Instructions have been decoded.
• Execute: The CPU manages the Execute Operation. The results that the CPU generates are then stored in
the memory before being presented on the user screen.
Types of Registers:
• Status and control registers.
• General-purpose data registers.
• Special purpose register.
Status and Control Register:
Status and Control registers report and allow modification of the state of the processor and of the program
being executed.
General purpose registers are extra registers that are present in the CPU and are utilized anytime data or a
memory location is required. These registers are used for storing operands and pointers. These are mainly used
for holding the following:
• Operands for logical and arithmetic operations
• Operands for address calculation
• Memory pointers
There are 3 types of General-purpose data registers they are:
Data registers: Data registers consists of four 32-bit data registers, which are used for arithmetic, logical and
other operations. Data registers are again classified into 4 types they are:
• AX: This is known as the accumulator register. Its 16 bits are split into two 8-bit registers, AH and AL,
allowing it to execute 8-bit instructions as well. In 8086 microprocessors, it is used in the arithmetic, logic, and
data transfer instructions. One of the numbers involved in manipulation and division must be in AX or AL.
• BX: This is called a Base register. It has 16 bits and is split into two registers with 8 bits each, BH and
BL. An address register is the BX register. It typically includes a data pointer for indirect addressing that is
based, based indexed, or register-based.
• CX: This is known as the Count register. Its 16 bits are split into two 8-bit registers, CH and CL,
allowing it to execute 8-bit instructions as well. This acts as a counter for loops. It facilitates the development
of program loops. Shift/rotate instructions and string manipulation both allow the use of the count register as a
counter.
• DX: This is known as the Data register. Its 16 bits are split into two 8-bit registers, DH and DL so that it
can execute 8-bit instructions as well. In I/O operations, the data register can be used as a port number. It is
also applied to division and multiplication.
Pointer registers: The pointer registers consist of 16-bit left sections (SP, and BP) and 32-bit ESP and EBP
registers.
• SP: This is known as a Stack pointer used to point the program stack. For accessing the stack segment, it
works with SS. It has a 16-bit size. It designates the item at the top of the stack. The stack pointer will be
(FFFE)H if the stack is empty. The stack segment is relative to its offset address.
• BP: This is known as the Base pointer used to point data in the stack segments. We can utilize BP to
access data in the other segments, unlike SP. It has a 16-bit size. It mostly serves as a way to access parameters
given via the stack. The stack segment is relative to its offset address.
Index registers: The 16-bit rightmost bits of the 32-bit ESI and EDI index registers. SI and DI are sometimes
employed in addition and sometimes in subtraction as well as for indexed addressing.
• SI: This source index register is used to identify memory addresses in the data segment that DS is
addressing. Therefore, it is simple to access successive memory locations when we increment the contents of
SI. It has a 16-bit size. Relative to the data segment, it has an offset.
• DI: The function of this destination index register is identical to that of SI. String operations are a
subclass of instructions that employ DI to access the memory addresses specified by ES. It is generally used as
a Destination index for string operations.
Flip flops can be used to store a single bit of binary data (1 or 0). However, in order to store multiple bits of
data, we need multiple flip-flops. N flip flops are to be connected in order to store n bits of data. A Register is a
device that is used to store such information. It is a group of flip-flops connected in series used to store
multiple bits of data. The information stored within these registers can be transferred with the help of shift
registers.
Shift Register is a group of flip flops used to store multiple bits of data. The bits stored in such registers can be
made to move within the registers and in/out of the registers by applying clock pulses. An n-bit shift register
can be formed by connecting n flip-flops where each flip-flop stores a single bit of data. The registers which
will shift the bits to the left are called “Shift left registers”. The registers which will shift the bits to the right
are called “Shift right registers”. Shift registers are basically of following types.
The shift register, which allows serial input (one bit after the other through a single data line) and produces a
serial output is known as a Serial-In Serial-Out shift register. Since there is only one output, the data leaves the
shift register one bit at a time in a serial pattern, thus the name Serial-In Serial-Out Shift Register. The logic
circuit given below shows a serial-in serial-out shift register. The circuit consists of four D flip-flops which are
connected in a serial manner. All these flip-flops are synchronous with each other since the same clock signal
is applied to each flip-flop.
The above circuit is an example of a shift right register, taking the serial data input from the left side of the flip
flop. The main use of a SISO is to act as a delay element.
The above circuit is an example of a shift right register, taking the serial data input from the left side of the
flip-flop and producing a parallel output. They are used in communication lines where demultiplexing of a data
line into several parallel lines is required because the main use of the SIPO register is to convert serial data into
parallel data.
A Parallel in Serial Out (PISO) shift register is used to convert parallel data to serial data.
A Parallel in Parallel out (PIPO) shift register is used as a temporary storage device and like SISO Shift
register it acts as a delay element.
N-bit universal shift register consists of flip-flops and multiplexers. Both are N in size. In this, all the n
multiplexers share the same select lines and this select input selects the suitable input for flip-flops.
Ring Counter
A ring counter is basically a shift register counter in which the output of the first flip-flop is connected to the
next flip-flop and so on and the output of the last flip-flop is again fed back to the input of the first flip-flop,
thus the name ring counter. The data pattern within the shift register will circulate as long as clock pulses are
applied. The logic circuit given below shows a Ring Counter.
The circuit consists of four D flip-flops which are connected. Since the circuit consists of four flip-flops the
data pattern will repeat after every four clock pulses as shown in the truth table. A Ring counter is generally
used because it is self-decoding. No extra decoding circuit is needed to determine what state the counter is in.
Ring Counter
Johnson Counter
A Johnson counter is basically a shift register counter in which the output of the first flip flop is connected to
the next flip flop and so on and the inverted output of the last flip flop is again fed back to the input of the first
flip flop. They are also known as twisted ring counters. The logic circuit given below shows a Johnson Counter.
The circuit consists of four D flip-flops which are connected.
An n-stage Johnson counter yields a count sequence of 2n different states, thus also known as a mod-2n
counter. Since the circuit consists of four flip-flops the data pattern will repeat every eight clock pulses as
shown in the truth table. The main advantage of the Johnson counter is that it only needs n number of flip-flops
compared to the ring counter to circulate a given data to generate a sequence of 2n states.
Johnson Counter
Applications of Shift Registers
• The shift registers are used for temporary data storage.
• The shift registers are also used for data transfer and data manipulation.
• The serial-in serial-out and parallel-in parallel-out shift registers are used to produce time delay to
digital circuits.
• The serial-in parallel-out shift register is used to convert serial data into parallel data thus they are used
in communication lines where demultiplexing of a data line into several parallel lines is required.
• A Parallel in Serial out shift register is used to convert parallel data to serial data.
X. Computer Memory
Computer memory is just like the human brain. It is used to store data/information and instructions. It is a data
storage unit or a data storage device where data is to be processed and instructions required for processing are
stored. It can store both the input and output can be stored here.
1. Primary Memory
It is also known as the main memory of the computer system. It is used to store data and programs or
instructions during computer operations. It uses semiconductor technology and hence is commonly called
semiconductor memory.
Primary memory is of two types:
RAM (Random Access Memory): It is a volatile memory. Volatile memory stores information based on the
power supply. If the power supply fails/ interrupted/stopped, all the data and information on this memory will
be lost. RAM is used for booting up or start the computer. It temporarily stores programs/data which has to be
executed by the processor. RAM is of two types:
o S RAM (Static RAM): S RAM uses transistors and the circuits of this memory are capable of
retaining their state as long as the power is applied. This memory consists of the number of flip flops with each
flip flop storing 1 bit. It has less access time and hence, it is faster.
o D RAM (Dynamic RAM): D RAM uses capacitors and transistors and stores the data as a charge
on the capacitors. They contain thousands of memory cells. It needs refreshing of charge on capacitor after a
few milliseconds. This memory is slower than S RAM.
ROM (Read Only Memory): It is a non-volatile memory. Non-volatile memory stores information even when
there is a power supply failed/ interrupted/stopped. ROM is used to store information that is used to operate the
system. As its name refers to read-only memory, we can only read the programs and data that is stored on it. It
contains some electronic fuses that can be programmed for a piece of specific information. The information
stored in the ROM in binary format. It is also known as permanent memory.
2. Secondary Memory
It is also known as auxiliary memory and backup memory. It is a non-volatile memory and used to store a large
amount of data or information. The data or information stored in secondary memory is permanent, and it is
slower than primary memory. A CPU cannot access secondary memory directly. The data/information from the
auxiliary memory is first transferred to the main memory, and then the CPU can access it.
1. Magnetic Tapes: Magnetic tape is a long, narrow strip of plastic film with a thin, magnetic coating on it that
is used for magnetic recording. Bits are recorded on tape as magnetic patches called RECORDS that run along
many tracks. Typically, 7 or 9 bits are recorded concurrently. Each track has one read/write head, which allows
data to be recorded and read as a sequence of characters. It can be stopped, started moving forward or
backward, or rewound.
2. Magnetic Disks: A magnetic disk is a circular metal or a plastic plate and these plates are coated with
magnetic material. The disc is used on both sides. Bits are stored in magnetized surfaces in locations called
tracks that run in concentric rings. Sectors are typically used to break tracks into pieces.
Hard discs are discs that are permanently attached and cannot be removed by a single user.
3. Optical Disks: It’s a laser-based storage medium that can be written to and read. It is reasonably priced and
has a long lifespan. The optical disc can be taken out of the computer by occasional users.
DVDs
• The term “DVD” stands for “Digital Versatile/Video Disc,” and there are two sorts of DVDs:
o DVDR (writable)
o DVDRW (Re-Writable)
• DVD-ROMS (Digital Versatile Discs): These are read-only memory (ROM) discs that can be used in a
variety of ways. When compared to CD-ROMs, they can store a lot more data. It has a thick polycarbonate
plastic layer that serves as a foundation for the other layers. It’s an optical memory that can read and write
data.
• DVD-R: DVD-R is a writable optical disc that can be used just once. It’s a DVD that can be recorded.
It’s a lot like WORM. DVD-ROMs have capacities ranging from 4.7 to 17 GB. The capacity of 3.5 inch disk is
1.3 GB.
3. Cache Memory
It is a type of high-speed semiconductor memory that can help the CPU run faster. Between the CPU and the
main memory, it serves as a buffer. It is used to store the data and programs that the CPU uses the most
frequently.
Finite State Machines are the fundamental building blocks of various digital and computing systems. They
provide a systematic approach to model the behavior of sequential circuits. They also help to control various
processes in digital systems.
A Finite State Machine (FSM) is a mathematical model that is used to explain and understand the behavior of a
digital system. More specifically, it is a structured and systematic model that helps to understand the behavior
of a sequential circuit that exists in a finite number of states at a given point of time.
In more simple words, a synchronous sequential circuit is also called as Finite State Machine FSM, if it has a
finite number of states.
The transition of these finite states takes place based on the internal or external inputs that results in the
predictable and systematic changes in the behavior of the system.
Finite States
The finite states are nothing but the distinct modes or conditions in the given system. Each of these finite states
represents a specific behavior. In digital system representation, these finite states are generally represented
through symbols or labels.
State Transitions
In terms of finite state machines, the state transition can be defined as the change from one state to another.
This change in state or state transition takes placed based on some specific inputs or conditions. These state
transitions are generally triggered by events which are associated with some rules or conditions and determine
the next state of the system.
State Diagram
The state transition and the behavior of a finite state machine can be represented in a graphical form that is
known as state diagram of the finite state machine.
Inputs
The inputs to the finite state machines are the external signals that trigger the state transitions in the system.
These inputs are to be entered into the finite state machine by using sensors, user input devices like mic,
keyboard, etc.
Outputs
The results produced by the system as per the inputs and current states are known as outputs. These outputs of
the system can be used to trigger events, control actuators, or to provide feedback to the external environment.
Let us now discuss these two types of finite state machines in detail.
As shown in the figure, there are two main parts presents in the Mealy state machine. Those are combinational
logic circuit and memory element. The memory element is useful to provide some part of previous outputs and
present states as inputs to the combinational logic circuit.
Based on the present inputs and present states, the Mealy state machine produces outputs. Therefore, the
outputs will be valid only at positive or negative transition of the clock signal.
The state diagram of Mealy state machine is shown in the following figure.
In the above figure, there are three states, namely A, B and C. These states are labelled inside the circles and
each circle corresponds to one state. State transitions between these states are represented with directed lines.
Here, 0 / 0, 1 / 0 and 1 / 1 denote the input / output. In the above figure, there are two state transitions from
each state based on the value of input.
In general, the number of states required in Mealy state machine is less than or equal to the number of states
required in Moore state machine. There is an equivalent Moore state machine for each Mealy state machine.
A Finite State Machine is said to be a Moore state machine, if its outputs depend only on the present states.
The block diagram of the Moore state machine is shown in the following figure −
As shown in above figure, there are two parts presents in a Moore state machine. Those are combinational
logic and memory. In this case, the present inputs and present states determine the next states. So, based on
next states, Moore state machine produces the outputs. Therefore, the outputs will be valid only after transition
of the state.
The state diagram of Moore state machine is shown in the following figure −
In the above figure, there are four states, namely A, B, C, and D. These states and the respective outputs are
labelled inside the circles. Here, only the input value is labeled on each transition. In the above figure, there are
two transitions from each state based on the value of input.
In general, the number of states required in Moore state machine is more than or equal to the number of states
required in Mealy state machine. There is an equivalent Mealy state machine for each Moore state machine. So,
based on the requirement we can use one of them.
The Finite State Machines have several advantages in the field of digital electronics. All these advantages
make them a crucial tool for modeling and implementing various digital systems.
• Finite state machines provide a simple and systematic way to model and understand the behavior of
digital systems with discrete finite states and transitions between them.
• Finite state machines support modular designs that help to breakdown the complex digital systems into
smaller components. Each component of the finite state machine can represent a specific task of the entire
system. This allows for easier design, testing, and maintenance.
• Finite state machines provide ease in terms of scalability that allows for addition of new states and
transitions, and logics to the existing system without altering its fundamental structure or operation. This
becomes essential when the system requirement evolve or expand.
• Fundamentally, finite state machines have a deterministic or predictable behavior. That means, we can
easily determine the next state of the system from its current state and the inputs. This predictable behavior
helps us to ensure the reliable and consistent operation of the system. It also makes the finite state machines
best suited for real-time and safety-critical applications.
• Finite state machines are considered highly efficient in terms of both hardware and software
implementations, as they require minimal hardware and software resources such as logic gates, memory, and
other processing resources.
• Finite state machines support parallelism. This technology allows the occurrence of multiple states and
state transitions simultaneously within the system. It also optimizes the performance and improves the
responsiveness of the system.
• Finite state machines are versatile tools in the field of digital electronics and computer science, as they
find their applications in various fields such as digital system design, control system design, software
development, development of artificial intelligence, etc.
• Finite state machines are commonly used in designing and implementation of different types of
sequential logic circuits, such as digital counters, timers, control units, etc.
• Finite state machines are used in digital control systems to control and regulate the behavior of complex
automated systems, like robots, industrial control and automation systems, etc.
• Finite state machines are used in the implementation of communication protocols like network protocols
and state-based digital systems like data transmission and protocol converters.
• Finite state machines are also used in the field of software development to model and define the
behavior of state-based systems in applications, to create user interfaces, to implement game mechanics, and to
develop workflow management systems.
Finite State Machines (FSMs) are widely used in digital systems for controlling sequences of operations based
on inputs and states.
Sequential implementation of algorithms:
The sequential implementation of algorithms is a fundamental approach in computer science and engineering,
where instructions are executed one after the other in a predefined order. This method is foundational to
traditional computing models and underpins the design of central processing units (CPUs), programming
languages, and algorithmic problem-solving. Unlike parallel or distributed implementations, sequential
execution processes a single operation at a time, making it straightforward to implement and debug.
Characteristics of Sequential Implementation
1. Linear Execution Flow: Algorithms in sequential implementation are executed step-by-step. Each
instruction must complete before the next one begins.
2. Deterministic Behavior: The outcome of sequential algorithms is predictable and repeatable because
operations follow a strict order.
3. Single Processor Utilization: Only one processor or core is used, and resources are not shared among
multiple threads or processes.
4. Ease of Debugging: The simplicity of execution order reduces complexity, making it easier to identify
and correct errors.
Steps in Sequential Implementation
1. Algorithm Design: The algorithm is designed to break down the problem into discrete, ordered steps.
2. Translation into Code: The algorithm is implemented in a programming language using constructs like
loops, conditionals, and function calls.
3. Execution on a Single Core: The program runs on a processor that executes one instruction at a time.
4. Result Validation: The output is checked for correctness by comparing it with expected results.
Advantages
• Simplicity: Sequential algorithms are easier to understand and implement compared to parallel
implementations.
• Low Overhead: No need for synchronization mechanisms or inter-process communication.
• Deterministic Output: Sequential implementations avoid race conditions, ensuring consistent results.
Limitations
• Performance Bottleneck: Sequential execution can be slow for large-scale computations as it does not
leverage multiple cores or processors.
• Inefficient for Concurrency: It cannot handle tasks that benefit from parallelism, such as real-time
systems or massive data processing.
Applications
Sequential implementation is well-suited for tasks where simplicity and determinism are priorities, such as:
• Small-scale or computationally inexpensive algorithms.
• Tasks requiring strict order, like simulations or control systems.
• Educational settings for teaching algorithm fundamentals.
Execution Cycle
Instructions are executed in cycles typically consisting of the following steps:
1. Fetch: The instruction is retrieved from memory.
2. Decode: The control unit deciphers the instruction and generates appropriate control signals.
3. Execute: The hardware components perform the operation specified by the instruction, such as an
arithmetic calculation or memory access.
4. Write-Back: The results are stored in the designated location, such as a register or memory.
Instruction Types and Circuit Control
1. Data Transfer Instructions: These control circuits responsible for moving data between memory,
registers, and I/O devices.
o Example: MOV instruction moves data from one register to another.
2. Arithmetic and Logic Instructions: These trigger the ALU to perform calculations or logical operations.
o Example: ADD instruction adds two values and stores the result.
3. Control Flow Instructions: These modify the sequence of instruction execution, such as branches or
loops.
o Example: JMP changes the program counter to a new address.
4. I/O Instructions: These manage data exchange between the processor and peripherals.
o Example: IN or OUT instructions control I/O circuits.
Implementation of Digital Systems: Physical Implementation, Implementation Strategies, and Synthesis Tools
The implementation of digital systems involves translating a high-level design or specification into a functional
hardware system. This process requires careful planning and execution across various stages, ensuring that the
final system meets the desired functionality, performance, and cost objectives. It includes physical
implementation, implementation strategies, and the use of synthesis tools, each playing a crucial role in the
realization of the system.
1. Physical Implementation
The physical implementation of a digital system transforms an abstract design, such as a hardware description
language (HDL) representation, into a tangible hardware entity. This stage involves mapping the system onto
physical components such as transistors, gates, and interconnects on an integrated circuit (IC).
1. Stages of Physical Implementation:
o Partitioning: Dividing the design into smaller, manageable blocks or modules.
o Placement: Assigning physical locations to the components of the design within the IC.
o Routing: Establishing connections between these components using wires.
o Layout Design: Creating a geometric representation of the design, defining the placement of
components, interconnections, and layers.
o Fabrication: Using the layout to manufacture the IC through semiconductor fabrication
processes.
2. Physical Design Considerations:
o Performance: Ensuring that the system meets timing constraints, such as setup and hold times.
o Power Efficiency: Minimizing power consumption through techniques like low-power design
and efficient routing.
o Area Optimization: Reducing the chip area to lower manufacturing costs and improve density.
o Thermal Management: Ensuring heat dissipation through design techniques that prevent thermal
hotspots.
3. Tools for Physical Implementation: Tools like Cadence Virtuoso, Synopsys IC Compiler, and Mentor
Graphics Calibre are used for tasks such as placement, routing, and verification of the physical design.
2. Implementation Strategies
Digital system implementation can follow different strategies depending on the application requirements,
design complexity, and available resources. The primary implementation strategies include:
1. Full-Custom Design:
o In full-custom design, every aspect of the digital system is meticulously crafted, including the
individual logic gates and interconnections.
o Advantages:
▪ Optimal performance, power efficiency, and area utilization.
▪ Best suited for high-performance applications like microprocessors and GPUs.
o Challenges:
▪ Extremely time-consuming and resource-intensive.
▪ High cost of design and fabrication.
2. Semi-Custom Design:
o Semi-custom designs use pre-designed components, such as standard cells or intellectual
property (IP) blocks, to simplify the design process.
o Advantages:
▪ Balances performance and development effort.
▪ Faster time-to-market compared to full-custom designs.
o Examples: Application-Specific Integrated Circuits (ASICs).
3. Programmable Logic Devices (PLDs):
o PLDs like Field-Programmable Gate Arrays (FPGAs) offer flexibility by allowing designs to be
programmed after fabrication.
o Advantages:
▪ Rapid prototyping and reconfigurability.
▪ No need for custom fabrication, reducing initial costs.
o Challenges:
▪ Lower performance and higher power consumption compared to ASICs.
4. System-on-Chip (SoC):
o An SoC integrates various components, such as processors, memory, and peripherals, onto a
single chip.
o Advantages:
▪ High integration and compactness.
▪ Widely used in consumer electronics and mobile devices.
5. Hardware-Software Co-Design:
o This approach involves designing hardware and software in tandem to optimize the overall
system performance.
o Advantages:
▪ Efficient partitioning of tasks between hardware and software.
▪ Flexibility in balancing performance and programmability.
3. Synthesis Tools
Synthesis tools play a crucial role in the digital system design process by automating the translation of high-
level design descriptions into lower-level hardware representations. These tools enhance productivity and
ensure that the design meets specific requirements.
1. Role of Synthesis Tools:
o Translate behavioral descriptions (e.g., Verilog, VHDL) into gate-level representations.
o Optimize the design for performance, power, and area.
o Generate netlists for physical implementation.
2. Types of Synthesis:
o Logic Synthesis:
▪ Converts a register-transfer level (RTL) description into a gate-level netlist.
▪ Tools like Synopsys Design Compiler and Cadence Genus are commonly used.
o High-Level Synthesis (HLS):
▪ Automates the transformation of algorithms written in high-level languages (e.g., C/C++)
into RTL code.
▪ Tools like Xilinx Vivado HLS and Intel High-Level Synthesis Compiler are popular.
o Physical Synthesis:
▪ Maps gate-level designs onto physical components, considering timing, area, and power
constraints.
3. Key Features of Synthesis Tools:
o Optimization:
▪ Synthesis tools optimize the design for timing, ensuring that the critical path meets the
clock cycle requirements.
▪ They minimize area and power consumption through advanced algorithms.
o Constraint Handling:
▪ Designers can specify constraints like clock frequency, setup time, and power budgets,
which the tools use to guide optimization.
o Error Detection:
▪ Tools perform checks to identify errors such as logic conflicts, timing violations, and
unconnected components.
4. Verification and Validation:
o Synthesis tools integrate with verification platforms to ensure that the generated design matches
the original specification.
o Formal verification techniques are often employed to guarantee correctness.
2. Types of Interconnects
Interconnects are broadly classified into shared and point-to-point configurations, with several variants in each
category:
2.1 Shared Bus Interconnects
A shared bus allows multiple processors to connect to a single communication medium. While cost-effective
and easy to implement, this topology faces bandwidth limitations and contention as the number of processors
increases.
• Advantages:
o Simple design and low cost.
o Well-suited for small systems.
• Challenges:
o Scalability is limited due to bus contention.
o Increased latency as more processors are added.
2.2 Crossbar Interconnects
A crossbar switch provides direct connections between processors and memory modules. Each input
(processor) can connect to any output (memory), enabling high parallelism.
• Advantages:
o High throughput and low latency.
o Suitable for high-performance systems.
• Challenges:
o Expensive due to the need for numerous switches.
o Complexity grows quadratically with the number of processors and memory modules.
2.3 Multistage Interconnect Networks (MINs)
MINs use a series of switching stages to connect processors and memory modules. Examples include
the Omega Network and Butterfly Network.
• Advantages:
o Reduced hardware complexity compared to crossbars.
o Moderate scalability with efficient routing algorithms.
• Challenges:
o Contention at switches can degrade performance.
o Requires careful mapping of processor-memory connections.
2.4 Point-to-Point Interconnects
These interconnects establish direct links between processors and other components, forming complex network
topologies like mesh, hypercube, and torus.
• Mesh Networks:
o Processors are arranged in a grid structure.
o Provides scalability but increases communication delays for distant nodes.
• Hypercube Networks:
o Connect processors in a binary n-dimensional cube.
o Offers efficient routing with logarithmic distance scaling.
• Torus Networks:
o Extend the mesh topology by connecting edge nodes, reducing latency for distant
communications.
3. In a finite state machine (FSM), the transition between states is determined by:
A) The current state only
B) The current state and inputs
C) The clock signal only
D) The outputs of the FSM
4. Which of the following sequential circuits is used to count the number of pulses in a signal?
A) Counter
B) Multiplexer
C) Decoder
D) Register
8. **Which of the following statements is true about Finite State Machines (FSMs)?
A) An FSM can have infinite states.
B) An FSM’s output depends only on the current state.
C) FSMs can be used to model both combinational and sequential circuits.
D) An FSM’s output can depend on both current state and inputs.
9. In the physical implementation of digital systems, synthesis tools are used to:
A) Simulate the behavior of sequential circuits
B) Optimize the design and map it onto physical hardware
C) Generate test cases for verification
D) Visualize the flow of data between components
10. In a multiprocessor interconnect, what is the primary purpose of the interconnect architecture?
A) To control the execution of individual instructions
B) To manage cache coherence between processors
C) To facilitate communication between processors and memory
D) To increase the number of instructions processed per second
ANSWERS:
1. B) Sequential circuits have memory elements that store past inputs.
2. B) It is used to store a single bit of information.
3. B) The current state and inputs
4. A) Counter
5. B) To store multiple bits of data
6. C) On the edge of the clock signal
7. D) 4
8. D) An FSM’s output can depend on both current state and inputs.
9. B) Optimize the design and map it onto physical hardware
10. C) To facilitate communication between processors and memory
Sample Numerical questions:
1. How many address bits are needed to select all memory locations in the 16K × 1 RAM?
a. 14
b. 16
c. 10
d. 12
3. How many 2K × 8 ROM chips would be required to build a 16K × 8 memory system?
a. 2
b. 4
c. 8
d. 16
4. How many 2K × 8 ROM chips would be required to build a 16K × 8 memory system?
a. 3192
b. 1024
c. 4096
d. 2048
5. Calculate the A-B, A= 101001102 and B=110011002
a. 11011010
b. 00100110
c. 10100110
d. 10110000
6. Consider a 4-bit up counter with terminal count output TC. The frequency of input Clock, CK1 is equal to
128KHz. What is the frequency of output Clock, CK2 = TC?
a. 16 Khz
b. 1KHz
c. 8 KHz
d. 4 kHz
7. How many 256-word, 4 bits per word, memory blocks are necessary to implement a 256-word, 64 bits per
word, memory bank?
a. 8 blocks
b. 16 blocks
c. 32 blocks
d. 64 blocks
8. A 4-bit binary up counter has an input clock frequency of 20 kHz. Calculate the frequency of the most
significant bit.
a. 1.25 kHz
b. 2.50 kHz
c. 1.75 kHz
d. 5 kHz
9. Suppose that a certain semiconductor memory chip has a capacity of 8K × 8. How many bytes could be
stored in this device?
a. 8,000
b. 64,000
c. 65,536
d. 8,192
10. Calculate the address bits required for a 4096-bit memory organized as a 512 × 8 memory.
a. 2
b. 4
c. 8
d. 9
11. Consider the setoff 5-veriable functions f(e,d,c,b,a). Note that the order of variable is : e,d,c,b,a. What
cube is represented by 1x01x?
a. a.c.d
b. a.c.d
c. e.c.b
d. b.e
12. How many 256-word, 4 bits per word, memory blocks are necessary to implement a 1024-word, 4 bits per
word memory bank?
a. 2
b. 4
c. 8
d. 16
Answer:
1. a
2. b
3. c
4. d
5. a
6. c
Hint: CK2= CK1/16, 16 for 4-bits = 8 Khz
7. b
Hint: Memory Block=256 words x 4 bits =1024 bits/block
Memory bank= 256 words x 64 bits =16384 bits
No. of Blocks = Memory bank/Memory blocks =16384/1024 =16 blocks
8. a
Hint:
The most significant bit (MSB) of a binary counter toggle at half the frequency of the complete count
cycle, fCK=20/2=10 kHz
No. of States for MSB is 24-1=8
fMSB= fCK/No. of States
fMSB=10/8 =1.25 kHz
9. d
Hint: 8K×8 bits=(8×1024) bytes=8192 bytes
10. d
11. c
12. b