The document discusses input and output in computer systems. It describes three main techniques for transferring data between the CPU and I/O devices: programmed I/O, interrupt-driven I/O, and direct memory access (DMA). Programmed I/O involves the CPU continuously polling I/O devices, interrupt-driven I/O uses interrupts to signal the CPU when data is ready, and DMA allows high-speed transfer of data directly between memory and I/O devices without CPU involvement.
Introduction to Object-Oriented Programming
Object-Oriented Programming (OOP) is a programming paradigm that organizes software design around data, or objects, rather than functions and logic. It is widely used for developing complex, scalable, and maintainable software systems. The core principles of OOP include encapsulation, abstraction, inheritance, and polymorphism.
Key Concepts of OOP
Encapsulation: This involves bundling data and methods that operate on that data within a single unit, called an object. It helps protect the internal state of an object from external interference23.
Abstraction: This principle focuses on exposing only necessary information while hiding complex details. It allows users to interact with objects without knowing their internal workings23.
Inheritance: This feature enables a new class (subclass) to inherit properties and behaviors from an existing class (superclass), promoting code reuse and hierarchical organization23.
Polymorphism: This allows objects of different classes to be treated as objects of a common superclass. It enables multiple behaviors to be implemented through a common interface23.
Object Technology and Programming Environment
Object Technology: This refers to the use of objects to model real-world entities in software development. It includes classes, objects, inheritance, polymorphism, and encapsulation7.
Programming Environment: OOP is typically supported in class-based languages like Java, Python, and C++. These environments provide tools for designing, developing, and testing object-oriented software
The document discusses input/output (I/O) problems in computer systems and solutions to those problems. Some key issues addressed are the variety of peripheral devices with different data rates and formats, and the mismatch between peripheral and processor speeds. The document describes I/O modules that interface between the CPU/memory and peripherals. I/O modules handle control, buffering, error detection and allow different I/O techniques like programmed I/O, interrupt-driven I/O and direct memory access (DMA) to transfer data efficiently.
The document discusses input/output (I/O) organization in computers. It describes how the I/O subsystem provides communication between external devices and the central processing system. Common peripheral devices include monitors, keyboards, printers, and magnetic tapes. The document outlines different I/O techniques including programmed I/O, interrupt-driven I/O, and direct memory access. It also discusses I/O interfaces, addressing schemes, and how interrupts work to signal device completion.
The document discusses input/output (I/O) modules in a computer system. I/O modules interface between peripheral devices and the system bus. They contain logic to communicate with different types of peripherals using various techniques, including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). DMA allows large blocks of data to be transferred directly between memory and peripherals without using the processor's bandwidth, improving transfer speeds.
The document discusses input/output (I/O) systems in computers. It defines I/O systems and their functions, which include interfacing the CPU and memory with peripheral devices like keyboards, printers, and network cards. I/O modules handle this interfacing by controlling timing, communicating with the CPU and devices, decoding commands, buffering and transferring data, and detecting errors. The document outlines the steps in I/O operations and compares different I/O techniques like programmed, interrupt-driven, and direct memory access (DMA).
I/O ports allow connection between computers and peripheral devices like keyboards, mice and monitors. There are two main types of ports: serial ports which transmit data one bit at a time, and parallel ports which allow simultaneous transmission of multiple bits of data. Common ports include VGA, DVI, HDMI and USB. Device drivers act as an interface between the operating system and device controllers to allow communication between I/O devices and the CPU. There are three main I/O mechanisms: programmed I/O where the CPU directly controls I/O, interrupts where devices signal the CPU when ready, and DMA which allows hardware subsystems to access memory independently of the CPU.
This document discusses input/output techniques in computers, including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). With programmed I/O, the CPU directly controls all I/O operations and wastes time waiting for operations to complete. Interrupt-driven I/O allows I/O modules to interrupt the CPU when an operation finishes to avoid CPU idling. DMA uses a separate controller to transfer data directly between I/O devices and memory without CPU involvement, improving transfer speeds.
The document discusses principles of input/output (I/O) systems. It covers I/O hardware components like devices, controllers, and buses. It then describes I/O software layers including device drivers, interrupt handlers, and device-independent operating system software. Finally, it discusses principles of I/O organization like layered architecture, error handling, synchronous vs asynchronous transfers, and application programming interfaces.
The document discusses input/output (I/O) in computer systems. It describes various I/O techniques including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). It also covers I/O modules, external devices, addressing schemes, and interface standards like SCSI and FireWire.
Input/output modules are critical components that allow computers to interact with external devices. I/O modules serve as an interface between peripherals and the CPU/memory. They perform important functions like control and timing of data transfers, communication with the processor and devices, buffering data, and error detection. I/O modules connect to the system bus and contain data buffers, status registers, and logic to interact with the processor via control lines. This allows external devices like disks and tapes to connect indirectly to the computer and be managed through simple read/write commands.
The document discusses various methods for input/output (I/O) in computer systems, including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). It describes I/O modules that interface peripherals with the CPU and memory. Common I/O techniques include programmed I/O where the CPU directly controls I/O, interrupt-driven I/O where devices interrupt the CPU, and DMA where an I/O controller handles data transfers without CPU involvement. Specific I/O interfaces like SCSI and FireWire are also overviewed.
This document discusses the basic hardware components of a computer system including the processor, memory, I/O modules, and system bus. It describes how the processor executes instructions, uses registers for data storage, and relies on clocks to measure time. Main memory is described as volatile RAM that can be accessed randomly. The document also provides an overview of operating systems, describing their role in interfacing between users, applications, and physical hardware and controlling resource allocation and program execution.
The document provides an overview of computer architecture and input/output techniques. It defines computer architecture as the set of instructions that describe a computer's organization and implementation. It discusses how I/O modules interface external devices like keyboards and printers to the CPU and memory. There are three main I/O techniques: programmed I/O where the CPU directly controls I/O, interrupt-driven I/O where devices interrupt the CPU when ready, and DMA where devices access memory independently of the CPU to improve efficiency. The document outlines the components and functioning of I/O modules and the various I/O commands used to control peripheral devices.
The document discusses input-output (I/O) modules in computers. It explains that I/O modules play a crucial role in allowing communication between a computer's central processing unit (CPU) and external devices. I/O modules connect devices to the computer's system bus and control the exchange of data between devices and main memory or the CPU. They help address issues like differing data formats and speeds between devices and the CPU. The document outlines various I/O techniques like programmed I/O, interrupt-driven I/O, and direct memory access (DMA) that use I/O modules to facilitate input and output.
I/O System and Case Study of Operating System its easy way to find how the I/O's are connected with the Operating System and And the mechanism of the Operating System
This document discusses principles of computer input/output (I/O) hardware and software. It covers topics like I/O devices, device controllers, buses, I/O techniques (programmed I/O, interrupt-driven I/O, and direct memory access), device drivers, layers of I/O software, file systems, and storage devices like disks. The document provides details on how operating systems manage and interface with various I/O components to facilitate data transfer and storage.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus by acting as an interface. I/O modules handle control/timing, buffering data, and error detection to accommodate differences in speed between devices and the CPU. The document outlines various I/O techniques including programmed I/O where the CPU directly controls I/O, and interrupt-driven I/O where devices interrupt the CPU when an operation completes.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus. It covers various I/O techniques like programmed I/O, interrupt-driven I/O, and direct memory access (DMA). Programmed I/O involves the CPU directly controlling data transfers, interrupt-driven I/O uses interrupts to signal the CPU when transfers are done, and DMA allows direct transfer between peripherals and memory without using the CPU.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus by converting data formats and speeds. I/O modules handle control, timing, buffering, and error detection for various external devices like displays, storage, and networking. The document compares programmed I/O, where the CPU directly manages data transfer, to interrupt-driven I/O, where the I/O module notifies the CPU asynchronously when an operation completes via an interrupt request.
The document discusses input/output (I/O) systems in computers. It defines I/O systems and their functions, which include interfacing the CPU and memory with peripheral devices like keyboards, printers, and network cards. I/O modules handle this interfacing by controlling timing, communicating with the CPU and devices, decoding commands, buffering and transferring data, and detecting errors. The document outlines the steps in I/O operations and compares different I/O techniques like programmed, interrupt-driven, and direct memory access (DMA).
I/O ports allow connection between computers and peripheral devices like keyboards, mice and monitors. There are two main types of ports: serial ports which transmit data one bit at a time, and parallel ports which allow simultaneous transmission of multiple bits of data. Common ports include VGA, DVI, HDMI and USB. Device drivers act as an interface between the operating system and device controllers to allow communication between I/O devices and the CPU. There are three main I/O mechanisms: programmed I/O where the CPU directly controls I/O, interrupts where devices signal the CPU when ready, and DMA which allows hardware subsystems to access memory independently of the CPU.
This document discusses input/output techniques in computers, including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). With programmed I/O, the CPU directly controls all I/O operations and wastes time waiting for operations to complete. Interrupt-driven I/O allows I/O modules to interrupt the CPU when an operation finishes to avoid CPU idling. DMA uses a separate controller to transfer data directly between I/O devices and memory without CPU involvement, improving transfer speeds.
The document discusses principles of input/output (I/O) systems. It covers I/O hardware components like devices, controllers, and buses. It then describes I/O software layers including device drivers, interrupt handlers, and device-independent operating system software. Finally, it discusses principles of I/O organization like layered architecture, error handling, synchronous vs asynchronous transfers, and application programming interfaces.
The document discusses input/output (I/O) in computer systems. It describes various I/O techniques including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). It also covers I/O modules, external devices, addressing schemes, and interface standards like SCSI and FireWire.
Input/output modules are critical components that allow computers to interact with external devices. I/O modules serve as an interface between peripherals and the CPU/memory. They perform important functions like control and timing of data transfers, communication with the processor and devices, buffering data, and error detection. I/O modules connect to the system bus and contain data buffers, status registers, and logic to interact with the processor via control lines. This allows external devices like disks and tapes to connect indirectly to the computer and be managed through simple read/write commands.
The document discusses various methods for input/output (I/O) in computer systems, including programmed I/O, interrupt-driven I/O, and direct memory access (DMA). It describes I/O modules that interface peripherals with the CPU and memory. Common I/O techniques include programmed I/O where the CPU directly controls I/O, interrupt-driven I/O where devices interrupt the CPU, and DMA where an I/O controller handles data transfers without CPU involvement. Specific I/O interfaces like SCSI and FireWire are also overviewed.
This document discusses the basic hardware components of a computer system including the processor, memory, I/O modules, and system bus. It describes how the processor executes instructions, uses registers for data storage, and relies on clocks to measure time. Main memory is described as volatile RAM that can be accessed randomly. The document also provides an overview of operating systems, describing their role in interfacing between users, applications, and physical hardware and controlling resource allocation and program execution.
The document provides an overview of computer architecture and input/output techniques. It defines computer architecture as the set of instructions that describe a computer's organization and implementation. It discusses how I/O modules interface external devices like keyboards and printers to the CPU and memory. There are three main I/O techniques: programmed I/O where the CPU directly controls I/O, interrupt-driven I/O where devices interrupt the CPU when ready, and DMA where devices access memory independently of the CPU to improve efficiency. The document outlines the components and functioning of I/O modules and the various I/O commands used to control peripheral devices.
The document discusses input-output (I/O) modules in computers. It explains that I/O modules play a crucial role in allowing communication between a computer's central processing unit (CPU) and external devices. I/O modules connect devices to the computer's system bus and control the exchange of data between devices and main memory or the CPU. They help address issues like differing data formats and speeds between devices and the CPU. The document outlines various I/O techniques like programmed I/O, interrupt-driven I/O, and direct memory access (DMA) that use I/O modules to facilitate input and output.
I/O System and Case Study of Operating System its easy way to find how the I/O's are connected with the Operating System and And the mechanism of the Operating System
This document discusses principles of computer input/output (I/O) hardware and software. It covers topics like I/O devices, device controllers, buses, I/O techniques (programmed I/O, interrupt-driven I/O, and direct memory access), device drivers, layers of I/O software, file systems, and storage devices like disks. The document provides details on how operating systems manage and interface with various I/O components to facilitate data transfer and storage.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus by acting as an interface. I/O modules handle control/timing, buffering data, and error detection to accommodate differences in speed between devices and the CPU. The document outlines various I/O techniques including programmed I/O where the CPU directly controls I/O, and interrupt-driven I/O where devices interrupt the CPU when an operation completes.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus. It covers various I/O techniques like programmed I/O, interrupt-driven I/O, and direct memory access (DMA). Programmed I/O involves the CPU directly controlling data transfers, interrupt-driven I/O uses interrupts to signal the CPU when transfers are done, and DMA allows direct transfer between peripherals and memory without using the CPU.
This document discusses input/output (I/O) in computer systems. It describes how I/O modules bridge the gap between peripherals and the processor/memory bus by converting data formats and speeds. I/O modules handle control, timing, buffering, and error detection for various external devices like displays, storage, and networking. The document compares programmed I/O, where the CPU directly manages data transfer, to interrupt-driven I/O, where the I/O module notifies the CPU asynchronously when an operation completes via an interrupt request.
CS-102 Data Structures huffman coding.pdfssuser034ce1
Huffman coding is a lossless data compression algorithm that uses variable-length codewords to encode symbols based on their frequency of occurrence in a file. It builds a binary tree from the frequency of symbols, with more common symbols nearer the root, to assign shorter codewords to more frequent symbols. The document describes the basic Huffman coding algorithm which involves building the Huffman tree from a priority queue of symbol frequencies, traversing the tree to determine codewords, and encoding a sample text file using the new codewords to achieve compression. Real-world applications of Huffman coding include data compression in GNU gzip and internet standards.
CS-102 Data Structures HashFunction CS102.pdfssuser034ce1
Hashing is a technique for implementing dictionaries that provides constant time per operation on average. It works by using a hash function to map keys to positions in a hash table. Ideally, an element with key k would be stored at position h(k). However, collisions can occur if multiple keys map to the same position. When a collision occurs, the element is stored in the next available empty position. Searching for an element involves computing its hash value to locate its position, and searching linearly if a collision is encountered. Deletion requires marking deleted positions as empty rather than truly empty to avoid interfering with searches.
CS-102 Data Structure lectures on Graphsssuser034ce1
The document defines and explains various graph concepts:
- It describes graph representations like adjacency matrices and lists, and types of graphs like undirected, directed, and weighted.
- Key graph terminology is introduced such as vertices, edges, paths, cycles, connectedness, subgraphs, and degrees of vertices.
- Examples are provided to illustrate concepts like complete graphs, trees, and bipartite graphs.
- Graph representations like adjacency matrices and linked/packed adjacency lists are also summarized.
This document discusses different components of space complexity, including instruction space for storing compiled program code, data space for storing variables and constants, and environment stack space for saving function call information. It provides examples of calculating space complexity for programs using arrays, recursion, and dynamic memory allocation, noting space complexities of O(1), O(n), O(n^2), and O(log n).
CS-102 DS-class03 Class DS Lectures .pdfssuser034ce1
The document discusses big O notation and how it is used to analyze the time complexity of algorithms. It provides examples of calculating time complexity for different code snippets. The time complexity classifications range from O(1) being utopian to O(dn) where d>1 being a disaster. It also discusses how to determine the time required to run a problem of larger size based on the time taken for a smaller size.
CS-102 DS-class_01_02 Lectures Data .pdfssuser034ce1
This document provides information about the Data Structures course CS 102 taught by Dr. Balasubramanian Raman at Indian Institute of Technology Roorkee. It outlines the course syllabus, importance of algorithms and data structures, and how to analyze time and space complexity of algorithms. Key concepts covered include asymptotic notation such as Big-O, Big-Omega, and Big-Theta which are used to describe how fast algorithms grow relative to input size. Examples are provided to illustrate these asymptotic notations.
CS-102 BT_24_3_14 Binary Tree Lectures.pdfssuser034ce1
The document discusses operations on heaps and leftist trees. Key points include:
- Heaps can be used to implement priority queues, with operations like MAX-HEAPIFY, BUILD-MAX-HEAP, and HEAPSORT taking O(log n) time on average.
- Leftist trees are a type of self-balancing binary search tree that supports priority queue operations like insertion and deletion in O(log n) time.
- Leftist trees have properties like shortest root-to-leaf paths being O(log n) that allow them to efficiently support priority queue operations through melding of subtrees.
CS-102 Course_ Binary Tree Lectures .pdfssuser034ce1
Heap sort uses a max heap to sort an array in O(n log n) time. It works by building a max heap from the array and then repeatedly removing the maximum element and placing it in the correct position. It first constructs a max heap from the input array. It then iterates from the end of the array to the beginning, removing each element from the heap and placing it in the current position. This places the largest elements at the end of the array and the smallest at the beginning.
This paper proposes a shoulder inverse kinematics (IK) technique. Shoulder complex is comprised of the sternum, clavicle, ribs, scapula, humerus, and four joints.
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.
its all about Artificial Intelligence(Ai) and Machine Learning and not on advanced level you can study before the exam or can check for some information on Ai for project
"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.
We introduce the Gaussian process (GP) modeling module developed within the UQLab software framework. The novel design of the GP-module aims at providing seamless integration of GP modeling into any uncertainty quantification workflow, as well as a standalone surrogate modeling tool. We first briefly present the key mathematical tools on the basis of GP modeling (a.k.a. Kriging), as well as the associated theoretical and computational framework. We then provide an extensive overview of the available features of the software and demonstrate its flexibility and user-friendliness. Finally, we showcase the usage and the performance of the software on several applications borrowed from different fields of engineering. These include a basic surrogate of a well-known analytical benchmark function; a hierarchical Kriging example applied to wind turbine aero-servo-elastic simulations and a more complex geotechnical example that requires a non-stationary, user-defined correlation function. The GP-module, like the rest of the scientific code that is shipped with UQLab, is open source (BSD license).
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfMohamedAbdelkader115
Glad to be one of only 14 members inside Kuwait to hold this credential.
Please check the members inside kuwait from this link:
https://www.rics.org/networking/find-a-member.html?firstname=&lastname=&town=&country=Kuwait&member_grade=(AssocRICS)&expert_witness=&accrediation=&page=1
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYijscai
With the increased use of Artificial Intelligence (AI) in malware analysis there is also an increased need to
understand the decisions models make when identifying malicious artifacts. Explainable AI (XAI) becomes
the answer to interpreting the decision-making process that AI malware analysis models use to determine
malicious benign samples to gain trust that in a production environment, the system is able to catch
malware. With any cyber innovation brings a new set of challenges and literature soon came out about XAI
as a new attack vector. Adversarial XAI (AdvXAI) is a relatively new concept but with AI applications in
many sectors, it is crucial to quickly respond to the attack surface that it creates. This paper seeks to
conceptualize a theoretical framework focused on addressing AdvXAI in malware analysis in an effort to
balance explainability with security. Following this framework, designing a machine with an AI malware
detection and analysis model will ensure that it can effectively analyze malware, explain how it came to its
decision, and be built securely to avoid adversarial attacks and manipulations. The framework focuses on
choosing malware datasets to train the model, choosing the AI model, choosing an XAI technique,
implementing AdvXAI defensive measures, and continually evaluating the model. This framework will
significantly contribute to automated malware detection and XAI efforts allowing for secure systems that
are resilient to adversarial attacks.
Sorting Order and Stability in Sorting.
Concept of Internal and External Sorting.
Bubble Sort,
Insertion Sort,
Selection Sort,
Quick Sort and
Merge Sort,
Radix Sort, and
Shell Sort,
External Sorting, Time complexity analysis of Sorting Algorithms.
4. Dr. Sudip Roy 4
External Device Block Diagram:
External Devices:
Human readable
Screen, printer, keyboard
Machine readable
Monitoring and control
Communication
Modem
Network Interface Card (NIC)
5. Dr. Sudip Roy 5
I/O Problems:
Wide variety of peripherals
Delivering different amounts of data
At different speeds
In different formats
All slower than CPU and RAM
Need I/O modules
I/O Module:
Interface to CPU and Memory
Interface to one or more peripherals
6. Dr. Sudip Roy 6
I/O Module Diagram:
Generic Model of I/O
Module
7. Dr. Sudip Roy 7
I/O Module Function:
Control & Timing
CPU Communication
Device Communication
Data Buffering
Error Detection
CPU checks I/O module device status
I/O module returns status
If ready, CPU requests data transfer
I/O module gets data from device
I/O module transfers data to CPU
Variations for output, DMA, etc.
I/O Steps:
8. Dr. Sudip Roy 8
I/O Module Decisions:
Hide or reveal device properties to CPU
Support multiple or single device
Control device functions or leave for CPU
Also O/S decisions
e.g. Unix treats everything it can as a file
Input Output Techniques:
Programmed I/O
Interrupt driven I/O
Direct Memory Access (DMA)
9. Dr. Sudip Roy 9
Three Techniques for Input of a Block of Data:
10. Dr. Sudip Roy 10
Programmed I/O:
CPU has direct control over I/O
Sensing status
Read/write commands
Transferring data
CPU waits for I/O module to complete operation
Wastes CPU time
CPU requests I/O operation
I/O module performs operation
I/O module sets status bits
CPU checks status bits periodically
I/O module does not inform CPU
directly
I/O module does not interrupt CPU
CPU may wait or come back later
Programmed I/O ‐ Details: Addressing I/O Devices:
Under programmed I/O data
transfer is very much like memory
access (CPU viewpoint)
Each device given unique identifier
CPU commands contain identifier
(address)
11. Dr. Sudip Roy 11
I/O Mapping:
Isolated I/O
Separate address spaces
Need I/O or memory select lines
Special commands for I/O
Limited set
Memory mapped I/O
Devices and memory share an address space
I/O looks just like memory read/write
No special commands for I/O
Large selection of memory access commands available
12. Dr. Sudip Roy 12
Type of Peripheral I/O:
Isolated I/O
13. Dr. Sudip Roy 13
Changes in Memory and Registers for an Interrupt:
14. Dr. Sudip Roy 14
Interrupt Driven I/O:
Overcomes CPU waiting
No repeated CPU checking of device
I/O module interrupts when ready
Basic Operations:
CPU issues read command
I/O module gets data from peripheral whilst CPU does other
work
I/O module interrupts CPU
CPU requests data
I/O module transfers data
16. Dr. Sudip Roy 16
Interrupt Processing: CPU Viewpoint
Issue read command
Do other work
Check for interrupt at end of each instruction cycle
If interrupted:‐
Save context (registers)
Process interrupt
Fetch data & store
Will have more discussion in Operating Systems classes
17. Dr. Sudip Roy 17
Interrupt‐driven I/O Design Issues:
Identifying Interrupting Module:
Software poll
CPU asks each module in turn to determine which module caused the
interrupt
Slow
Daisy Chain or Hardware poll
All I/O modules share a common interrupt request line
Interrupt acknowledge line is daisy chained through the modules
When the processor senses an interrupt it sends out an interrupt
acknowledge
Module responsible places vector on bus
CPU uses vector to identify handler routine
20. Dr. Sudip Roy 20
Interrupts & Priority:
Multiple Interrupts:
Each interrupt line has a priority
Higher priority lines can interrupt lower priority lines
In bus mastering, only current master can interrupt
Example ‐ PC Bus:
80x86 has one interrupt line
8086 based systems use one 8259A interrupt controller
8259A has 8 interrupt lines
21. Dr. Sudip Roy 21
Intel 82C55A: Programmable Peripheral Interface
22. Dr. Sudip Roy 22
Intel 82C55A: Programmable
Peripheral Interface