Unit 3
Unit 3
The silent workhorse of modern electronics, semiconductor memory stores data and
instructions and makes it possible for smartphones, computers, medical equipment, and
industrial automation to function. This little wonder, worked with silicon and inventiveness,
utilizes electrical charges to address double data, the "1s" and "0s" that structure the language
of advanced innovation.
The widespread use of semiconductor memory is fueled by its remarkable properties:
• High Storage Density: Semiconductor memory can store a lot of information in a
little space.
• Fast Access Time: Information can be gotten rapidly from semiconductor memory,
making it appropriate for elite execution applications.
• Lower Power Consumption: reduces environmental impact, extends battery life, and
minimizes energy consumption.
• Scalability: Compared to other kinds of memory, like magnetic storage,
semiconductor memory uses less power.
Semiconductor memory is the invisible foundation of our digital world and can be found in
everything from smartphones and computers to complex systems. Its steady development
guarantees significantly quicker, denser, and more effective methods for putting away and
controlling the data that characterizes our lives.
In this article we will go through Semi-Conductor Memory, First, we will start with Basic by
defining What is Semi-Conductor, we will go into the brief on the Types of Sem-Conductor
Memory such as RAM and ROM, and Then we will look at its working and Some Examples
of it. At last, we will conclude our Article With its Advantages, Disadvantages, and Some
FAQs.
Table of Content
• Semiconductor Memory
• Types
• Working
• Examples
• Memory Controller and Interfaces
• Advantages
• Disadvantages
• Applications
What is Semiconductor Memory?
A type of electronic memory known as semiconductor memory stores digital data by making
use of semiconductor materials, most commonly silicon. Data is stored in binary format in
this memory, with "1s" and "0s" representing electrical charges.
Semiconductor memory is a sort of computerized electronic memory that utilizes
semiconductor material, ordinarily silicon, to store and recover advanced information. It is
the essential sort of memory utilized in PCs, cell phones, and other electronic gadgets.
Types of Semiconductor Memory
There are two types of semi conductor memory
• Random Access Memory(RAM)
• Read-Only Memory(ROM)
Random Access Memory(RAM)
It permits information to be gotten to in any request, making it appropriate for brief capacity.
• Type: Unpredictable - information evaporates without power.
• Function: stores data for active applications on a temporary basis.
• Speed: lightning-fast access in a flash.
• Capacity: Normally more modest than ROM.
• Applications: Running projects, open documents, program tabs.
Read-only memory
Flash Memory: Used for permanent garage of statistics, which includes in USB drives and
strong-country drives (SSDs).
Flash memory
PPI 8255 is a general purpose programmable I/O device designed to interface the CPU with
its outside world such as ADC, DAC, keyboard etc. We can program it according to the given
condition. It can be used with almost any microprocessor. It consists of three 8-bit
bidirectional I/O ports i.e. PORT A, PORT B and PORT C. We can assign different ports as
input or output functions.
It consists of 40 pins and operates in +5V regulated power supply. Port C is further divided
into two 4-bit ports i.e. port C lower and port C upper and port C can work in either BSR (bit
set rest) mode or in mode 0 of input-output mode of 8255. Port B can work in either mode 0
or in mode 1 of input-output mode. Port A can work either in mode 0, mode 1 or mode 2 of
input-output mode. It has two control groups, control group A and control group B. Control
group A consist of port A and port C upper. Control group B consists of port C lower and port
B. Depending upon the value if CS’, A1 and A0 we can select different ports in different
modes as input-output function or BSR. This is done by writing a suitable word in control
register (control word D0-D7).
0 0 0 PORT A 80 H
0 0 1 PORT B 81 H
0 1 0 PORT C 82 H
0 1 1 Control Register 83 H
CS’ A1 A0 Selection Address
1 X X No Seletion X
Pin diagram –
• Mode 0 –In this mode all the three ports (port A, B, C) can work as simple
input function or simple output function. In this mode there is no interrupt
handling capacity.
• Mode 1 – Handshake I/O mode or strobed I/O mode. In this mode either port
A or port B can work as simple input port or simple output port, and port C
bits are used for handshake signals before actual data transmission. It has
interrupt handling capacity and input and output are latched. Example: A CPU
wants to transfer data to a printer. In this case since speed of processor is very
fast as compared to relatively slow printer, so before actual data transfer it will
send handshake signals to the printer for synchronization of the speed of the
CPU and the peripherals.
• Mode 2 – Bi-directional data bus mode. In this mode only port A works, and
port B can work either in mode 0 or mode 1. 6 bits port C are used as
handshake signals. It also has interrupt handling capacity.
Advantages
• Versatility: The PPI 8255 can be programmed to operate in a variety of modes, which
makes it a versatile component in many different systems. It provides three 8-bit ports
that can be configured as input or output ports, and supports multiple modes of
operation for each port.
• Ease of use: The PPI 8255 is relatively easy to use and program, even for novice
programmers. The control register of the PPI can be programmed using simple
commands, which makes it easy to interface with other devices.
• Compatibility: The PPI 8255 is widely used and has been around for many years,
which means that it is compatible with a wide range of devices and software.
• Low cost: The PPI 8255 is a relatively low-cost component, which makes it an
affordable option for many different applications.
Disadvantages
• Limited functionality: While the PPI 8255 is versatile, it has limited functionality
compared to newer I/O interface components. It is not capable of high-speed data
transfer and has limited memory capacity.
• Limited number of ports: The PPI 8255 provides only three 8-bit ports, which may
not be sufficient for some applications that require more I/O ports.
• Limited resolution: The PPI 8255 provides only 8 bits of resolution for each port,
which may not be sufficient for some applications that require higher resolution.
• Obsolete technology: While the PPI 8255 is still used in some applications, it is
considered an older technology and is being replaced by newer, more advanced I/O
interface components.
Example of Interfacing Seven Segments LED
Display with 8085
Interrupts in Detail
Interrupts are mechanisms that allow a computer's CPU to temporarily pause its current task
to respond to an urgent event. They improve efficiency by enabling multitasking and real-
time response to hardware or software requests. Interrupts can be classified into hardware
interrupts and software interrupts based on their origin and purpose.
1. Hardware Interrupts
Definition:
Hardware interrupts are signals sent by external devices or peripherals to the CPU, requesting
immediate attention. These interrupts occur asynchronously, independent of the CPU's
current operation.
Examples:
• Input Devices: A keyboard generates an interrupt when a key is pressed, and a mouse
triggers an interrupt when clicked or moved.
• Output Devices: A printer sends an interrupt to indicate that it has finished printing or
requires paper.
• Other Hardware: A network card might generate an interrupt when data is ready to
be received or sent.
Applications:
• Device Communication: Facilitates seamless interaction between hardware
components and the CPU.
• Real-Time Systems: Ensures timely response to critical hardware events, such as in
medical equipment or industrial control systems.
• Power Management: Devices can signal power state changes, like a laptop battery's
low charge.
Characteristics:
• Triggered by external hardware devices.
• Asynchronous in nature.
• Typically higher priority as they involve real-time events.
2. Software Interrupts
Definition:
Software interrupts are initiated by programs or instructions within the CPU. These occur
synchronously during program execution and are typically used to request operating system
services.
Examples:
• System Calls: Programs use software interrupts to access operating system functions,
such as file handling or process creation.
• Exceptions: Divide-by-zero errors or invalid memory access generate software
interrupts to handle these faults.
• Debugging: Debuggers use software interrupts to set breakpoints and analyze
program behavior.
Applications:
• Operating System Services: Programs use software interrupts to request resources
like memory, files, or devices.
• Error Handling: Detects and manages runtime errors through exception handling.
• Multitasking: Allows the OS to manage multiple processes effectively by switching
between user and kernel modes.
Characteristics:
• Triggered by software instructions.
• Synchronous with program execution.
• Used for controlled interaction with the operating system.
Examples Keypress, mouse click, network signal System calls, errors, breakpoints
Conclusion
• Hardware interrupts are essential for handling real-time events and ensuring smooth
hardware interaction.
• Software interrupts provide a structured way for programs to access system
resources or handle exceptional conditions.
Together, they enable efficient multitasking, resource sharing, and responsive
computing.
Suppose any device which is connected to input-output port wants to transfer data to memory,
first of all it will send input-output port address and control signal, input-output read to input-
output port, then it will send memory address and memory write signal to memory where data
has to be transferred. In normal input-output technique the processor becomes busy in
checking whether any input-output operation is completed or not for next input-output
operation, therefore this technique is slow.
This problem of slow data transfer between input-output port and memory or between two
memory is avoided by implementing Direct Memory Access (DMA) technique. This is faster
as the microprocessor/computer is bypassed and the control of address bus and data bus is
given to the DMA controller.
• Step-1: First of all the floppy drive will send a DMA request (DREQ) to the DMAC,
it means the floppy drive wants its DMA service.
• Step-2: Now the DMAC will send a HOLD signal to the CPU.
• Step-3: After accepting the DMA service request from the DMAC, the CPU will send
hold acknowledgment (HLDA) to the DMAC, it means the microprocessor has
released control of the address bus the data bus to DMAC and the
microprocessor/computer is bypassed during DMA service.
• Step-4: Now the DMAC will send one acknowledgement (DACL) to the floppy drive
which is connected at the input-output port. It means the DMAC tells the floppy drive
be ready for its DMA service.
• Step-5: Now with the help of input-output read and memory write signal the data is
transferred from the floppy drive to the memory.
Modes of DMAC:
1. Single Mode – In this only one channel is used, means only a single DMAC is
connected to the bus system.
2. Cascade Mode – In this multiple channels are used, we can further cascade more
number of DMACs.
Advantages:
Improved performance: DMA improves system performance by freeing up the CPU to
perform other tasks while data is being transferred between memory and I/O devices. This
allows for faster and more efficient data transfer.
Reduced CPU overhead: With DMA, the CPU is not required to be involved in data
transfer, which reduces the CPU overhead and allows it to focus on other tasks. This is
particularly useful in real-time systems where low latency and fast response times are
important.
Support for high-bandwidth devices: DMA can support high-bandwidth devices such as
graphics cards and network interfaces that require fast data transfer rates.
Efficient use of system resources: DMA allows multiple devices to access memory
simultaneously, which makes more efficient use of system resources.
Disadvantages:
Complexity: DMA requires specialized hardware and software to function, which can add to
the complexity of a system. This can make it difficult to implement and troubleshoot.
Security risks: DMA can be a security risk if not properly configured or secured. Hackers
can exploit vulnerabilities in DMA to gain unauthorized access to a computer system or steal
data.
Limited control: Since the CPU is not involved in data transfer with DMA, it has limited
control over the transfer process. This can lead to data corruption or errors if the transfer
process is not properly managed.
Resource conflicts: DMA can lead to resource conflicts if multiple devices attempt to access
memory simultaneously. This can cause system instability and performance issues if not
properly managed.
Stepper Motor
When we talk about energy conversion, the first device we can think of is a motor that
efficiently converts electrical energy to mechanical energy. These motors can be of different
types, one of which is the stepper motor. In this article, we will discuss about the stepper
motor in detail. This discussion will include talking about the principle of operation of
stepper motor with its applications in real-life.
What is a Stepper Motor?
The stepper motor is used for converting electrical energy to mechanical
energy using Faraday's law of magnetic induction. A stepper motor exploits this property to
generate the output voltage of the desired form by controlling the number of wheels in the
motor. In other words we can define as Stepper motor which is also known as step motor is
an electrical motor that rotates by small steps that can be specified by the design of the motor.
Working Principle of Stepper Motor
Let us see how a stepper motor works
Stepper Motor
As we can see in the diagram, the stepper motor is made of a stationary part known as the
stator and a rotating part known as the rotor. These components work together let us see how.
The stator can have as many teeth as needed and these teeth are covered with coils that can be
magnetized. The stator phase is energized to create a magnetic field as needed. The excited
stator phase magnetizes the coils and exerts a force on the stator that makes it align according
to the magnetic field generated. Now, the next stator phase is energized which further rotates
the rotor to align corresponding to the magnetic fields being generated in the coils. This
process continues resulting in a consistent rotation of the rotor with some angular speed.
By adding more teeth, we can increase the speed control of the stator.
Applications of Stepper Motor
Let us study some advantages of the stepper motor.
Stepper Motor in Machinery
The ability of the stepper motor to establish accurate controls makes it a device of importance
in many industrial machines. In CNC machines, its controls are used to position the cutting
tools at an accurate position. In different printers, the motor is used for controlling the printer
pin and moving it in the desired direction for prints. This precise control is achieved due to
the unique design of the stepper motor corresponding to discrete angular rotation. some of the
design parameters are the number of steps, the direction of steps, and the speed of stepping.
Stepper Motor in Textiles
Textile industries are largely dependent on the accuracy of stitching and cutting. The textiles
produced using machines should be good enough in terms of designs and stitching. The
stepper motor finds its application in the textile industry mainly due to its ability to provide
precise control over the cutting of fabric and stitching of fabric. By positioning the needle at
an accurate position, it can achieve quality designs resulting in higher rewards. This also
reduces human labor due to the automation of tools.
Stepper Motor in Medical Devices
Many medical surgeries need automated devices in order to perform critical operations. By
using a stepper motor, we can ensure that the movement of automated syringe pumps, blood
analyzers, and medical imaging devices can be controlled with utmost precision. These
motors are even used for controlling the movement of the table that the patient lies on during
the imaging process for CT scanners and MRI machines. These operations are very important
and therefore, the accuracy of the stepper motor matters a lot.
Stepper Motor in Automotive
Automotive stepper motors are used inside instrument clusters where they can provide
accurate gauge readings. These readings are used to generate alerts for drivers to fuel levels,
rate of speed, mileage measurements, and more. These devices were originally mechanically
managed but are now being digitized. These controls involve adjusting headlights, controlling
air conditioning vents, and throttle control. Motors are also installed in devices like smart
blinds, automated curtain systems, and motorized window openers.
Stepper Motor in Scientific Equipment
Scientific research involves designing instruments and testing them to give precise and
accurate results. These devices are installed in many laboratories and Manufacturing units to
ensure high quality testing and efficient working devices. Some of the examples are the use
of stepper motors in precise control of instruments like spectrometers and microscopes. The
motor is used for setting precise and focused samples.
Stepper Motor in Camera Platforms
Certain domains like photography, videography, surveillance, and robotics make use of
camera platforms that involve stepper motors. The camera platform has a mechanism that
allows to precisely control the camera's orientation using the Pan tilt method. This adds
significant functionality by allowing you to capture photos and record videos at different
angles and positions. By attaching the stepper motor to the base, the camera can be rotated
left or right accordingly. The additional stepper motor can be added to control tilt movement
for moving up and down which ensures better performance.
Stepper motor in Vending Machines
You might have wondered how vending machines are able to know which product to
dispense and where, stepper motor plays a significant role in controlling the mechanism
through which items from the machine are dispensed once payment is done. Stepper motors
can mimic the motion programmed in it by moving the dispensing path like a sliding machine
or conveyor belt ensuring that only one item is made available to the person. This avoids
jams in the vending machine. The correctness of stepper motors is why they are installed in
the vending machines.
Stepper motor in Smart Devices
Many smart devices need proper controls for achieving automation. Devices like smart lights
use stepper motors to add special lighting effects and control the rotation or intensity of light
on stages and at homes. Apart from this, smart blinds are also devices that use stepper
motors and are used in households using remotes or switches. The automated shower system
and motor controlled window openers are some other devices that are automated devices that
reduce manual work by controlling the operation using some buttons.
Difference between Stepper Motor and Servo Motor
Error More prone to error due to no Less prone to error due to internal
generation feedback system. feedback system.
Torque
Higher torque is generated. Lower torque is generated.
generated
• The value at the top of each sample in the graph shows the actual amplitude.
• The normalized pulse amplitude modulation(PAM) value is calculated using the
formula amplitude/d.
• After this we calculate the quantized value which the process selects from the middle
of each zone.
• The Quantized error is given by the difference between quantized value and
normalised PAM value.
• The Quantization code for each sample based on quantization levels at the left of the
graph.
• Encoding – The digitization of the analog signal is done by the encoder. After each
sample is quantized and the number of bits per sample is decided, each sample can be
changed to an n bit code. Encoding also minimizes the bandwidth used. Note that the
number of bits for each sample is determined from the number of quantization levels.
If the number of quantization levels is L, the number of bits is n bit = log 2 L.
• b. DELTA MODULATION
• Since PCM is a very complex technique, other techniques have been developed to
reduce the complexity of PCM. The simplest is delta Modulation. Delta Modulation
finds the change from the previous value. Modulator – The modulator is used at the
sender site to create a stream of bits from an analog signal. The process records a
small positive change called delta. If the delta is positive, the process records a 1 else
the process records a 0. The modulator builds a second signal that resembles a
staircase. The input signal is then compared with this gradually made staircase signal.
We have the
following rules for output:
• If the input analog signal is higher than the last value of the staircase signal, increase
delta by 1, and the bit in the digital data is 1.
• If the input analog signal is lower than the last value of the staircase signal, decrease
delta by 1, and the bit in the digital data is 0.
• Demodulator – The demodulator takes the digital data and, using the staircase maker
and the delay unit, creates the analog signal. The created analog signal, however,
needs to pass through a low-pass filter for smoothing.
• c. ADAPTIVE DELTA MODULATION
• The performance of a delta modulator can be improved significantly by making the
step size of the modulator assume a time-varying form. A larger step-size is needed
where the message has a steep slope of modulating signal and a smaller step-size is
needed where the message has a small slope. The size is adapted according to the
level of the input signal. This method is known as adaptive delta modulation (ADM).
• Applications
• Digital Signal Processing: In this process, the systems for processing, storing, or
transporting almost any analogue signal into digital format require ADCs to perform
well. Let’s an example, in TV tuner cards this is use as fast video analog-to-digital
converters.
• Recording Music System: The modern digital audio workstation-based sound
recording and music reproduction technologies both are basically rely heavily on
analog-to-digital converters.
• Scientific Instruments or Projects: The digital imaging systems are normally use
analog-to-digital converters for digitizing the instruments and projects pixels.
• The value at the top of each sample in the graph shows the actual amplitude.
• The normalized pulse amplitude modulation(PAM) value is calculated using the
formula amplitude/d.
• After this we calculate the quantized value which the process selects from the middle
of each zone.
• The Quantized error is given by the difference between quantized value and
normalised PAM value.
• The Quantization code for each sample based on quantization levels at the left of the
graph.
• Encoding – The digitization of the analog signal is done by the encoder. After each
sample is quantized and the number of bits per sample is decided, each sample can be
changed to an n bit code. Encoding also minimizes the bandwidth used. Note that the
number of bits for each sample is determined from the number of quantization levels.
If the number of quantization levels is L, the number of bits is n bit = log 2 L.
• b. DELTA MODULATION
• Since PCM is a very complex technique, other techniques have been developed to
reduce the complexity of PCM. The simplest is delta Modulation. Delta Modulation
finds the change from the previous value. Modulator – The modulator is used at the
sender site to create a stream of bits from an analog signal. The process records a
small positive change called delta. If the delta is positive, the process records a 1 else
the process records a 0. The modulator builds a second signal that resembles a
staircase. The input signal is then compared with this gradually made staircase signal.
We have the
following rules for output:
• If the input analog signal is higher than the last value of the staircase signal, increase
delta by 1, and the bit in the digital data is 1.
• If the input analog signal is lower than the last value of the staircase signal, decrease
delta by 1, and the bit in the digital data is 0.
• Demodulator – The demodulator takes the digital data and, using the staircase maker
and the delay unit, creates the analog signal. The created analog signal, however,
needs to pass through a low-pass filter for smoothing.
• c. ADAPTIVE DELTA MODULATION
• The performance of a delta modulator can be improved significantly by making the
step size of the modulator assume a time-varying form. A larger step-size is needed
where the message has a steep slope of modulating signal and a smaller step-size is
needed where the message has a small slope. The size is adapted according to the
level of the input signal. This method is known as adaptive delta modulation (ADM).
• Applications
• Digital Signal Processing: In this process, the systems for processing, storing, or
transporting almost any analogue signal into digital format require ADCs to perform
well. Let’s an example, in TV tuner cards this is use as fast video analog-to-digital
converters.
• Recording Music System: The modern digital audio workstation-based sound
recording and music reproduction technologies both are basically rely heavily on
analog-to-digital converters.
• Scientific Instruments or Projects: The digital imaging systems are normally use
analog-to-digital converters for digitizing the instruments and projects pixels.
• Conclusion
• The 8259 PIC is vital in any system with multiple interrupt sources. By prioritizing,
masking, and vectoring interrupts, it ensures smooth and efficient operation, enabling
the CPU to handle real-time tasks and peripheral interactions effectively.