This document discusses memory and I/O interfacing with the 8085 microprocessor. It defines interfaces as points of interaction between components that allow communication. Memory interfacing requires address decoding and multiplexing of address and data lines. I/O devices can be interfaced either through memory mapping or I/O mapping. Common memory types include RAM, ROM, SRAM and DRAM. RAM can be static or dynamic. ROM includes PROM, EPROM and EEPROM. A stack is a reserved part of memory used to temporarily store information during program execution.
This document discusses memory and I/O interfacing with microprocessors. It begins by defining an interface as the point of interaction between components, allowing independent functioning through input/output systems. It then provides examples of addressing schemes like multiplexing address and data lines, and decoding techniques like exhaustive and partial decoding. Finally, it covers interfacing various memory chips like RAM, ROM and interfacing I/O devices through parallel and serial communication.
The document discusses input/output organization and accessing I/O devices. There are three key components to a computer system: the processor, memory, and I/O modules. I/O modules interface between peripheral devices and the system bus, controlling the transfer of data. I/O modules perform functions like control and timing, processor/device communication, data buffering, and error detection to facilitate input and output.
This document discusses input/output organization and peripheral devices. It covers the following key points in 3 sentences:
Peripheral devices allow input and output between the computer and external environment. The document outlines different types of input devices, output devices, and input/output devices. It also discusses the input/output interface which provides communication between the CPU, memory, and peripheral devices by resolving differences in data formats, transfer rates, and operating modes.
The document discusses basic I/O in the 8085 microprocessor, including memory interfaces and devices. It describes the common components of memory, such as address pins to select locations, data pins for reading and writing, selection pins to enable operations, and control pins. The main types of memory discussed are ROM, RAM, EPROM, and examples of addressing schemes using decoders to map memory chips into the microprocessor's address space.
This document discusses different types of memory devices and interfaces. It describes ROM, EEPROM, SRAM, and DRAM memory types. It discusses address decoding and provides examples of memory interfaces for the 8088, 8086, 80386, and Pentium processors. The document also covers error detection techniques like parity checking, checksums, and cyclic redundancy checks (CRC). It provides an example of how Hamming codes can be used for error correction in memory.
The primary purpose of memory interfacing is to facilitate the transfer of da...Sindhu Mani
The document discusses memory interfacing concepts. It begins by outlining key concepts in memory interfacing such as the address bus, data bus, control signals, and memory decoding. It then discusses microprocessor interfacing, specifically I/O addressing using port-based and bus-based approaches. The document also covers interrupts, direct memory access (DMA), and the universal asynchronous receiver/transmitter (UART) component.
Memory mapped I/O and isolated I/O are two methods for interfacing I/O devices with the CPU. With isolated I/O, memory and I/O devices have separate address spaces and control lines, allowing special I/O instructions. With memory mapped I/O, memory and I/O share the same address space and instructions, treating I/O as memory, but reducing available memory addresses. Both methods have advantages like flexibility and speed, but also disadvantages regarding complexity and available address space.
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systemscmkandemir
The 8085 microprocessor uses three separate busses - the address bus, data bus, and control bus - to perform operations. The 16-bit address bus allows the 8085 to access up to 64K memory locations. The 8-bit data bus transfers data between the microprocessor and memory or I/O devices in 8-bit chunks. The control bus consists of individual control signals that coordinate operations. Memory is organized into chips that are selected using address lines and chip select signals. This allows the microprocessor to access multiple memory chips within its 64K address range.
- Memory interfacing in microprocessor systems involves two main types of memory: read-only memory (ROM) and random access memory (RAM).
- Memory is made up of semiconductor devices with each bit stored in a memory cell consisting of transistors. The capacity of a memory chip depends on the number of address pins determining the number of memory locations and data pins determining the number of bits stored per location.
- The two major types of memory are RAM, which can be read from and written to, and ROM, which can only be read from. Common ROM types include PROM, EPROM, and EEPROM, while common RAM types are SRAM and DRAM.
This document discusses input/output (I/O) hardware and file systems. It describes how operating systems control I/O devices and provide an interface between devices and software. I/O devices are divided into block devices, which store and transfer data in fixed-size blocks, and character devices, which transfer data as character streams. Device controllers connect devices to the computer and convert data between device and memory formats. Memory-mapped I/O and port-mapped I/O are approaches for CPU communication with controllers. Direct memory access allows high-speed transfer of data directly between devices and memory without CPU involvement.
The document discusses the architecture of the 8085 microprocessor. It describes that the 8085 is an 8-bit microprocessor introduced by Intel in the mid-1970s. It has 40 pins and can address up to 64KB of memory. The 8085 uses three buses - address bus, data bus, and control/status bus - to perform memory read, memory write, I/O read, and I/O write operations. It has registers like accumulator, flags, program counter, stack pointer and temporary registers. The arithmetic logic unit performs arithmetic and logic operations. It also describes the address buffer, interrupt control, and serial I/O capabilities of the 8085 microprocessor.
The document provides information on the architecture of the 8085 microprocessor. It discusses the different busses used - the address bus, data bus and control bus. It describes the internal architecture of the 8085 including registers like the accumulator, flags, program counter and stack pointer. It also discusses the different types of operations like memory read/write, I/O read/write. Memory organization and addressing are explained along with the concept of memory mapping.
The document discusses input/output organization in computers. It explains that all input/output devices connect to the computer via a bus that allows exchange of address, data and control signals. Each device is assigned a unique address. When the processor requests a read or write, the requested data is placed on the data lines and the address is sent to the address lines. Commonly used I/O mechanisms include interrupts and direct memory access. Memory mapped I/O allows I/O devices and memory to share the same address space.
The document discusses the 8086 system bus structure. It describes the various signals of the 8086 microprocessor like the address/data bus, control signals, and clock. It explains the minimum and maximum modes of the 8086. The system bus consists of data, address, and control buses. Interrupt-driven and programmed I/O as well as direct memory access transfers are introduced. Multiprogramming and various multiprocessor configurations like coprocessor, closely coupled, and loosely coupled systems are summarized.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
The document provides information on the architecture and programming of the 8051 microcontroller. It describes the key features of the 8051 including its CPU components like the accumulator, registers, timers, ports, and instruction set. The architecture of the 8051 is explained, outlining its 64K program memory, 64K data memory, 128 bytes of internal RAM, and 32 I/O pins organized into four 8-bit ports. The document also covers the different addressing modes supported by the 8051 like direct, register, indexed, and indirect addressing.
Microprocessors and microcontrollers short answer questions and answersAbhijith Augustine
The document contains questions and answers related to microprocessors and computer architecture. It defines a microprocessor as a CPU fabricated on a single chip that fetches and executes instructions. The basic units of a microprocessor are described as an ALU, registers, and a control unit. Key features of the Intel 8086 microprocessor from 1978 are provided, such as its 16-bit architecture, instruction set, and pin configuration. The differences between a microprocessor and microcontroller are explained. [END SUMMARY]
The system unit contains the main electronic components of a computer. It includes a metal or plastic case, motherboard, processor, memory, ports, and expansion slots. The processor fetches and executes instructions using its control unit and ALU. It relies on memory, registers, buses, and a system clock to function. Heat sinks and fans help keep components cool during operation.
This document provides an overview of core hardware components and PC maintenance. It discusses external data buses, CPU registers like the program counter and accumulator, computer memory types, and the Intel 8086 and 80286 CPU families. Registers are used to store small amounts of data during processing. Memory can be volatile RAM or non-volatile ROM. The 8086 was a 16-bit processor that could address 1MB of memory, while the 80286 had improvements like a non-multiplexed bus and faster performance.
The document discusses various concepts related to microprocessors including their basic components and architecture. It defines key terms like microprocessor, ALU, registers, bus, memory mapping and interrupts. It also describes the architecture of 8086 microprocessor including its registers, addressing modes, functional units and interrupts. Interfacing I/O devices using ports is discussed along with examples like 8255 programmable port. Direct memory access and its initiation process are also summarized.
A peripheral device provides input/output functions for a computer as an auxiliary device without core computing functionality. Peripheral devices are classified into input devices, output devices, and storage devices. An input/output interface helps transfer information between internal storage and external peripheral devices. It resolves differences in data formats and speeds between the CPU and peripheral devices. The interface provides control signals and buffers data to synchronize operations. Computers can use separate I/O and memory buses or a common bus with separate control lines or common control lines to communicate with peripherals and memory.
Memory mapped I/O and isolated I/O are two methods for interfacing I/O devices with the CPU. With isolated I/O, memory and I/O devices have separate address spaces and control lines, allowing special I/O instructions. With memory mapped I/O, memory and I/O share the same address space and instructions, treating I/O as memory, but reducing available memory addresses. Both methods have advantages like flexibility and speed, but also disadvantages regarding complexity and available address space.
Chapter 2-8085 Microprocessor Architecture and Microcomputer Systemscmkandemir
The 8085 microprocessor uses three separate busses - the address bus, data bus, and control bus - to perform operations. The 16-bit address bus allows the 8085 to access up to 64K memory locations. The 8-bit data bus transfers data between the microprocessor and memory or I/O devices in 8-bit chunks. The control bus consists of individual control signals that coordinate operations. Memory is organized into chips that are selected using address lines and chip select signals. This allows the microprocessor to access multiple memory chips within its 64K address range.
- Memory interfacing in microprocessor systems involves two main types of memory: read-only memory (ROM) and random access memory (RAM).
- Memory is made up of semiconductor devices with each bit stored in a memory cell consisting of transistors. The capacity of a memory chip depends on the number of address pins determining the number of memory locations and data pins determining the number of bits stored per location.
- The two major types of memory are RAM, which can be read from and written to, and ROM, which can only be read from. Common ROM types include PROM, EPROM, and EEPROM, while common RAM types are SRAM and DRAM.
This document discusses input/output (I/O) hardware and file systems. It describes how operating systems control I/O devices and provide an interface between devices and software. I/O devices are divided into block devices, which store and transfer data in fixed-size blocks, and character devices, which transfer data as character streams. Device controllers connect devices to the computer and convert data between device and memory formats. Memory-mapped I/O and port-mapped I/O are approaches for CPU communication with controllers. Direct memory access allows high-speed transfer of data directly between devices and memory without CPU involvement.
The document discusses the architecture of the 8085 microprocessor. It describes that the 8085 is an 8-bit microprocessor introduced by Intel in the mid-1970s. It has 40 pins and can address up to 64KB of memory. The 8085 uses three buses - address bus, data bus, and control/status bus - to perform memory read, memory write, I/O read, and I/O write operations. It has registers like accumulator, flags, program counter, stack pointer and temporary registers. The arithmetic logic unit performs arithmetic and logic operations. It also describes the address buffer, interrupt control, and serial I/O capabilities of the 8085 microprocessor.
The document provides information on the architecture of the 8085 microprocessor. It discusses the different busses used - the address bus, data bus and control bus. It describes the internal architecture of the 8085 including registers like the accumulator, flags, program counter and stack pointer. It also discusses the different types of operations like memory read/write, I/O read/write. Memory organization and addressing are explained along with the concept of memory mapping.
The document discusses input/output organization in computers. It explains that all input/output devices connect to the computer via a bus that allows exchange of address, data and control signals. Each device is assigned a unique address. When the processor requests a read or write, the requested data is placed on the data lines and the address is sent to the address lines. Commonly used I/O mechanisms include interrupts and direct memory access. Memory mapped I/O allows I/O devices and memory to share the same address space.
The document discusses the 8086 system bus structure. It describes the various signals of the 8086 microprocessor like the address/data bus, control signals, and clock. It explains the minimum and maximum modes of the 8086. The system bus consists of data, address, and control buses. Interrupt-driven and programmed I/O as well as direct memory access transfers are introduced. Multiprogramming and various multiprocessor configurations like coprocessor, closely coupled, and loosely coupled systems are summarized.
A microprocessor is an electronic component that is used by a computer to do its work. It is a central processing unit on a single integrated circuit chip containing millions of very small components including transistors, resistors, and diodes that work together.
The document provides information on the architecture and programming of the 8051 microcontroller. It describes the key features of the 8051 including its CPU components like the accumulator, registers, timers, ports, and instruction set. The architecture of the 8051 is explained, outlining its 64K program memory, 64K data memory, 128 bytes of internal RAM, and 32 I/O pins organized into four 8-bit ports. The document also covers the different addressing modes supported by the 8051 like direct, register, indexed, and indirect addressing.
Microprocessors and microcontrollers short answer questions and answersAbhijith Augustine
The document contains questions and answers related to microprocessors and computer architecture. It defines a microprocessor as a CPU fabricated on a single chip that fetches and executes instructions. The basic units of a microprocessor are described as an ALU, registers, and a control unit. Key features of the Intel 8086 microprocessor from 1978 are provided, such as its 16-bit architecture, instruction set, and pin configuration. The differences between a microprocessor and microcontroller are explained. [END SUMMARY]
The system unit contains the main electronic components of a computer. It includes a metal or plastic case, motherboard, processor, memory, ports, and expansion slots. The processor fetches and executes instructions using its control unit and ALU. It relies on memory, registers, buses, and a system clock to function. Heat sinks and fans help keep components cool during operation.
This document provides an overview of core hardware components and PC maintenance. It discusses external data buses, CPU registers like the program counter and accumulator, computer memory types, and the Intel 8086 and 80286 CPU families. Registers are used to store small amounts of data during processing. Memory can be volatile RAM or non-volatile ROM. The 8086 was a 16-bit processor that could address 1MB of memory, while the 80286 had improvements like a non-multiplexed bus and faster performance.
The document discusses various concepts related to microprocessors including their basic components and architecture. It defines key terms like microprocessor, ALU, registers, bus, memory mapping and interrupts. It also describes the architecture of 8086 microprocessor including its registers, addressing modes, functional units and interrupts. Interfacing I/O devices using ports is discussed along with examples like 8255 programmable port. Direct memory access and its initiation process are also summarized.
A peripheral device provides input/output functions for a computer as an auxiliary device without core computing functionality. Peripheral devices are classified into input devices, output devices, and storage devices. An input/output interface helps transfer information between internal storage and external peripheral devices. It resolves differences in data formats and speeds between the CPU and peripheral devices. The interface provides control signals and buffers data to synchronize operations. Computers can use separate I/O and memory buses or a common bus with separate control lines or common control lines to communicate with peripherals and memory.
Relations and Functions – Understanding the Foundation of Mathematics.pptxsrmvalliammaicse2
Title: Relations and Functions – Understanding the Foundation of Mathematics
This presentation provides a comprehensive overview of relations and functions, which are core concepts in algebra and essential tools in various fields such as computer science, physics, engineering, and economics. The goal is to help students understand how data and variables interact through rules and mappings.
We begin with the definition of a relation, explaining it as a set of ordered pairs that connects elements from one set (domain) to another (codomain). The presentation covers different ways to represent relations—through arrow diagrams, tables, graphs, and set notation. It also highlights important types of relations: reflexive, symmetric, transitive, and equivalence relations, with clear examples to illustrate each type.
Moving on to functions, we explore the idea of a special kind of relation in which every input has exactly one output. The presentation explains the criteria that distinguish a function from a general relation and elaborates on various types of functions such as linear, quadratic, polynomial, exponential, logarithmic, and piecewise functions. Special attention is given to domain and range, how to determine them, and their importance in real-world scenarios.
Graphical interpretation plays a significant role in this presentation. We illustrate how graphs of functions help in visualizing behavior, trends, and continuity. The Vertical Line Test is explained as a method to identify whether a graph represents a function. The concept of one-to-one functions and inverse functions is introduced, with examples showing how to find inverses algebraically and graphically.
To bridge theory with application, the presentation includes practical examples where relations and functions are used, such as tracking population growth, measuring speed over time, and modeling financial interest.
Finally, the presentation ends with a recap of key differences between relations and functions, a summary of important properties, and a few interactive problems to test understanding.
This PowerPoint is designed to not only provide theoretical knowledge but also foster critical thinking and real-world application of mathematical concepts related to relations and functions.
Input to Code Generator
Output of Code Generator
Memory Management
Instruction Selection
Register Allocation
Evaluation Order
Approaches to code generation
YJIT can make Ruby code run faster, but this is a balancing act, because the JIT compiler itself must consume both memory and CPU cycles to compile and optimize your code while it is running. Furthermore, in large-scale production environments such as those of GitHub, Shopify and Stripe, we end up in a situation where YJIT is compiling the same code over and over again on a very large number of servers, which seems very inefficient.
In this presentation, we will go over the design of ZJIT, a next generation Ruby JIT which aims to save and reuse compiled code between executions. We hope that this will help us eliminate duplicated work while also allowing the compiler to spend more time optimizing code so that we can get better performance.
PRIZ Academy - Functional Modeling In Action with PRIZ.pdfPRIZ Guru
This PRIZ Academy deck walks you step-by-step through Functional Modeling in Action, showing how Subject-Action-Object (SAO) analysis pinpoints critical functions, ranks harmful interactions, and guides fast, focused improvements. You’ll see:
Core SAO concepts and scoring logic
A wafer-breakage case study that turns theory into practice
A live PRIZ Platform demo that builds the model in minutes
Ideal for engineers, QA managers, and innovation leads who need clearer system insight and faster root-cause fixes. Dive in, map functions, and start improving what really matters.
Efficient Algorithms for Isogeny Computation on Hyperelliptic Curves: Their A...IJCNCJournal
We present efficient algorithms for computing isogenies between hyperelliptic curves, leveraging higher genus curves to enhance cryptographic protocols in the post-quantum context. Our algorithms reduce the computational complexity of isogeny computations from O(g4) to O(g3) operations for genus 2 curves, achieving significant efficiency gains over traditional elliptic curve methods. Detailed pseudocode and comprehensive complexity analyses demonstrate these improvements both theoretically and empirically. Additionally, we provide a thorough security analysis, including proofs of resistance to quantum attacks such as Shor's and Grover's algorithms. Our findings establish hyperelliptic isogeny-based cryptography as a promising candidate for secure and efficient post-quantum cryptographic systems.
Cloud Platform Architecture over Virtualized Datacenters: Cloud Computing and
Service Models, Data Center Design and Interconnection Networks, Architectural Design of Compute and Storage Clouds, Public Cloud Platforms: GAE, AWS and Azure, Inter-Cloud
Resource Management.
Computer Graphics: Application of Computer Graphics.
OpenGL: Introduction to OpenGL,coordinate reference frames, specifying two-dimensional world coordinate
reference frames in OpenGL, OpenGL point functions, OpenGL line functions, point attributes, line attributes,
curve attributes, OpenGL fill area functions, OpenGL Vertex arrays, Line drawing algorithm- Bresenham'S
Design of Variable Depth Single-Span Post.pdfKamel Farid
Hunched Single Span Bridge: -
(HSSBs) have maximum depth at ends and minimum depth at midspan.
Used for long-span river crossings or highway overpasses when:
Aesthetically pleasing shape is required or
Vertical clearance needs to be maximized
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...Infopitaara
A Boiler Feed Pump (BFP) is a critical component in thermal power plants. It supplies high-pressure water (feedwater) to the boiler, ensuring continuous steam generation.
⚙️ How a Boiler Feed Pump Works
Water Collection:
Feedwater is collected from the deaerator or feedwater tank.
Pressurization:
The pump increases water pressure using multiple impellers/stages in centrifugal types.
Discharge to Boiler:
Pressurized water is then supplied to the boiler drum or economizer section, depending on design.
🌀 Types of Boiler Feed Pumps
Centrifugal Pumps (most common):
Multistage for higher pressure.
Used in large thermal power stations.
Positive Displacement Pumps (less common):
For smaller or specific applications.
Precise flow control but less efficient for large volumes.
🛠️ Key Operations and Controls
Recirculation Line: Protects the pump from overheating at low flow.
Throttle Valve: Regulates flow based on boiler demand.
Control System: Often automated via DCS/PLC for variable load conditions.
Sealing & Cooling Systems: Prevent leakage and maintain pump health.
⚠️ Common BFP Issues
Cavitation due to low NPSH (Net Positive Suction Head).
Seal or bearing failure.
Overheating from improper flow or recirculation.
https://www.infopitaara.in/
In tube drawing process, a tube is pulled out through a die and a plug to reduce its diameter and thickness as per the requirement. Dimensional accuracy of cold drawn tubes plays a vital role in the further quality of end products and controlling rejection in manufacturing processes of these end products. Springback phenomenon is the elastic strain recovery after removal of forming loads, causes geometrical inaccuracies in drawn tubes. Further, this leads to difficulty in achieving close dimensional tolerances. In the present work springback of EN 8 D tube material is studied for various cold drawing parameters. The process parameters in this work include die semi-angle, land width and drawing speed. The experimentation is done using Taguchi’s L36 orthogonal array, and then optimization is done in data analysis software Minitab 17. The results of ANOVA shows that 15 degrees die semi-angle,5 mm land width and 6 m/min drawing speed yields least springback. Furthermore, optimization algorithms named Particle Swarm Optimization (PSO), Simulated Annealing (SA) and Genetic Algorithm (GA) are applied which shows that 15 degrees die semi-angle, 10 mm land width and 8 m/min drawing speed results in minimal springback with almost 10.5 % improvement. Finally, the results of experimentation are validated with Finite Element Analysis technique using ANSYS.
Reese McCrary_ The Role of Perseverance in Engineering Success.pdfReese McCrary
Furthermore, perseverance in engineering goes hand in hand with ongoing professional growth. The best engineers never stop learning. Whether improving technical skills or learning new software tools, they understand that innovation doesn’t stop with completing one project. They habitually stay current with the latest advancements, seeking continuous improvement and refining their expertise.
2. • Whether simple or complex, every
microprocessor-based system has a memory
system. The Intel family of microprocessors is no
different from any other in this respect. Almost
all systems contain two main types of memory:
read-only memory (ROM) and random access
memory (RAM) or read/write memory.
Read-only memory contains system software
and permanent system data, while RAM
contains temporary data and application
software
3. Memory Pin Connections
• Pin connections common to all memory
devices are the address inputs, data outputs
or input/outputs, some type of selection
input, and at least one control input used to
select a read or write operation
4. Address Connections
• All memory devices have address inputs that select
a memory location within the memory device.
Address inputs are almost always labeled from A0,
the least significant address input, to An where
subscript n can be any value but is always labeled
as one less than the total number of address pins.
For example, a memory device with 10 address
pins has its address pins labeled from A0 to A9.
The number of address pins found on a memory
device is determined by the number of memory
locations found within it
5. • Today, the more common memory devices have between 1K
(1024) to 1G (1,073,741,824) memory locations, with 4G
and larger memory location devices on the horizon.
A 1K memory device has 10 address pins (A0–A9);
therefore, 10 address inputs are required to select any of its
1024 memory locations. It takes a 10-bit binary number
(1024 different combinations) to select any single location
on a 1024-location device.
6. If a memory device has 11 address connections (A0–
A11), it has 2048 (2K) internal memory locations. The
number of memory locations can thus be extrapolated
from the number of address pins.
• For example, a 4K memory device has 12 address
connections, an 8K device has 13, and so forth. A device
that contains 1M locations requires a 20-bit address
(A0–A19).
7. Data Connections.
• All memory devices have a set of data outputs or
input/outputs. The device illustrated in Figure 10–
1 has a common set of input/output (I/O)
connections.
Today, many memory devices have bidirectional
common I/O pins.
• The data connections are the points at which data
are entered for storage or extracted for reading.
Data pins on memory devices are labeled D0
through D7 for an 8-bit-wide memory device
8. • In this sample memory device there are 8 I/O connections, meaning
that the memory device stores 8 bits of data in each of its memory
locations. An 8-bit-wide memory device is often called a byte-wide
memory.
• Although most devices are currently 8 bits wide, some devices
are 16 bits, 4 bits, or just 1 bit wide. Catalog listings of memory devices
often refer to memory locations times bits per location.
• For example, a memory device with 1K memory locations and 8 bits in
each location is often listed as a 1K × 8 by the manufacturer
• A 16K × 1 is a memory device containing 16K 1-bit memory locations.
Memory devices are often classified according to total bit capacity. For
example, a 1K × 8-bit memory device is sometimes listed as an 8K
memory device, or a 64K × 4 memory is listed as a 256K device. These
variations occur from one manufacturer to another
9. Selection Connections
• Each memory device has an input—sometimes more than
one—that selects or enables the memory device. This type
of input is most often called a chip select(CS ), chip enable
(CE ), or simply select (S ) input.
• RAM memory generally has at least one CS or S input, and
ROM has at least one CE. If the CE,CS , or S input is active (a
logic 0, in this case, because of the over bar),
• the memory device performs a read or write operation; if it
is inactive (a logic 1, in this case), the memory device cannot
do a read or a write because it is turned off or disabled. If
more than one CS connection is present, all must be
activated to read or write data.
10. Control Connections
• All memory devices have some form of control input or
inputs. A ROM usually has only one control input, while a
RAM often has one or two control inputs.
• The control input most often found on a ROM is the
output enable (OE ) or gate ( g) connection, which allows
data to flow out of the output data pins of the ROM.
• If OE and the selection input ( CE) are both active, the
output is enabled; if OE is inactive, the output is disabled
at its high-impedance state.
• The OE connection enables and disables a set of three-
state buffers located within the memory device and must
be active to read data.
11. ADDRESS DECODING
• In order to attach a memory device to the
microprocessor, it is necessary to decode the
address
sent from the microprocessor. Decoding makes
the memory function at a unique section or
partition of the memory map.
Without an address decoder, only one memory
device can be connected to a microprocessor,
which would make it virtually useless.
12. Why Decode Memory?
• When the 8088 microprocessor is compared to the 2716 EPROM, a
difference in the number of address connections is apparent—the
EPROM has 11 address connections and the microprocessor has 20.
• This means that the microprocessor sends out a 20-bit memory address
whenever it reads or writes data. Because the EPROM has only 11
address pins, there is a mismatch that must be corrected. If only 11 of
the 8088’s address pins are connected to the memory, the 8088 will see
only 2K bytes of memory instead of the 1M bytes that it “expects” the
memory to contain.
• The decoder corrects the mismatch by decoding the address pins that do
not connect to the memory component.
13. Interfacing Flash Memory
• Flash memory (EEPROM) is becoming commonplace for storing
setup information on video cards, as well as for storing the
system BIOS in the personal computer. It even finds application
in MP3 audio players and USB pen drives. Flash memory is also
found in many other applications to store information that is
only changed occasionally.
• The only difference between a flash memory device and SRAM is
that the flash memory device requires a 12V programming
voltage to erase and write new data.
• The 12V can be available either at the power supply or a 5V to
12V converter designed for use with flash memory can be
obtained. The newest versions of flash memory are erased with
a 5.0V or even a 3.3V signal so that a converter is not needed.
14. • EEPROM is available as either a memory
device with a parallel interface or as devices
that are serial. The serial device is extremely
small and is not suited for memory expansion,
but as an I/O device it can store information
such as in a flash drive.
15. Basic I/O Interface
• A microprocessor is great at solving problems,
but if it can’t communicate with the outside
world, it is of little worth. In this section of the
text I/O instructions (IN, INS, OUT, and OUTS)
are explained. Also explained here is the
concept of isolated (sometimes called direct
orI/O mapped I/O) and memory-mapped I/O,
the basic input and output interfaces, and
handshaking.
16. The I/O Instructions
• The instruction set contains one type of
instruction that transfers information to an I/O
device(OUT) and another to read information
from an I/O device (IN). Instructions (INS and
OUTS, found on all versions except the
8086/8088) are also provided to transfer
strings of data between the memory and an
I/O device.
17. • Instructions that transfer data between an I/O device and the
microprocessor’s accumulator (AL, AX, or EAX) are called IN
and OUT.
• The I/O address is stored in register DX as a 16-bit I/O
address or in the byte (p8) immediately following the opcode
as an 8-bit I/O address.
• Intel calls the 8-bit form (p8) a fixed address because it is
stored with the instruction, usually in a ROM. The 16-bit I/O
address in DX is called a variable address because it is stored
in a DX, and then used to address the I/O device. Other
instructions that use DX to address I/O are the INS and OUTS
instructions.
• I/O ports are 8 bits in width so whenever a 16-bit port is
accessed two consecutive 8-bit ports are actually addressed.
18. Isolated and Memory-Mapped I/O
• There are two different methods of interfacing I/O to the
microprocessor: isolated I/O and memory-mapped I/O.
• In the isolated I/O scheme, the IN, INS, OUT, and OUTS
instructions transfer data between the microprocessor’s
accumulator or memory and the I/O device.
• In the memory-mapped I/O scheme, any instruction
that references memory can accomplish the transfer.
• Both isolated and memory-mapped I/O are in use.
• The PC does not use memory-mapped I/O.
19. Isolated I/O.
• The most common I/O transfer technique used in the
Intel microprocessor-based system is isolated I/O.
• The term isolated describes how the I/O locations are
isolated from the memory system in a separate I/O
address space.
• (Figure11-1 isolated and memory-mapped address)
• The addresses for isolated I/O devices, called ports, are
separate from the memory. Because the ports are
separate, the user can expand the memory to its full
size without using any of memory space for I/O
devices.
20. • A disadvantage of isolated I/O is that the data transferred between
I/O and the microprocessor must be accessed by the IN, INS, OUT,
and OUTS instructions.
• Separate control signals for the I/O space are developed (using
M/IO and W/R ), which indicate an I/O read (IORC ) or an I/O write
( IOWC) operation. These signals indicate that an I/O port address,
which appears on the address bus, is used to select the I/O device.
• In the personal computer, isolated I/O ports are used for
controlling peripheral devices. An 8-bit port address is used to
access devices located on the system board, such as the timer and
keyboard interface, while a 16-bit port is used to access serial and
parallel ports as well as video and disk drive systems.
21. Memory-Mapped I/O.
• Unlike isolated I/O, memory-mapped I/O does not use the IN, INS,
OUT, or OUTS instructions. Instead, it uses any instruction that
transfers data between the microprocessor and memory. A
memory-mapped I/O device is treated as a memory location in the
memory map.
• The main advantage of memory-mapped I/O is that any memory
transfer instruction can be used to access the I/O device. The main
disadvantage is that a portion of the memory system is used as the
I/O map. This reduces the amount of memory available to
applications.
• Another advantage is that the and signals have no function in a
memory mapped I/O system and may reduce the amount of
circuitry required for decoding.
22. Handshaking
• Many I/O devices accept or release information at a much
slower rate than the microprocessor.
• Another method of I/O control, called handshaking or
polling, synchronizes the I/O device with the microprocessor.
• An example of a device that requires handshaking is a parallel
printer that prints a few hundred characters per second
(CPS).
• It is obvious that the microprocessor can send more than a
few hundred CPS to the printer, so a way to slow the
microprocessor down to match speeds with the printer must
be developed
23. I/O PORT ADDRESS DECODING
• I/O port address decoding is very similar to memory
address decoding, especially for memory mapped
I/O devices.
• Memory-mapped I/O decoding is treated the same
as memory (except that the IORC and IOWC are not
used because there is no IN or OUT instruction).
• The decision to use memory-mapped I/O is often
determined by the size of the memory system and
the placement of the I/O devices in the system.
24. • The main difference between memory
decoding and isolated I/O decoding is the
number of address pins connected to the
decoder.
• We decode A31–A0, A23–A0, or A19–A0 for
memory, and A15–A0 for isolated I/O.
Sometimes, if the I/O devices use only fixed
I/O addressing, we decode only A7–A0.