The document discusses various aspects of input and output devices and their interface with the central processing unit of a computer system. It describes how peripherals like keyboards, displays and printers are connected and controlled. It explains the different modes of data transfer between CPU and peripherals, including programmed I/O, interrupt-initiated I/O, and direct memory access. The document also covers topics like asynchronous and synchronous data transmission, handshaking, and hardware priority interrupts.
There are situations, called hazards, that prevent the next instruction in the instruction stream from executing during its designated cycle
There are three classes of hazards
Structural hazard
Data hazard
Branch hazard
There are situations, called hazards, that prevent the next instruction in the instruction stream from executing during its designated cycle
There are three classes of hazards
Structural hazard
Data hazard
Branch hazard
This method of checking the signal in the system for processing is called Polling Method. In this method, the problem is that the processor has to waste number of clock cycles just for checking the signal in the system, by this processor will become busy unnecessarily. If any signal came for the process, processor will take some time to process the signal due to the polling process in action. So system performance also will be degraded and response time of the system will also decrease.
pipelining is the concept of decomposing the sequential process into number of small stages in which each stage execute individual parts of instruction life cycle inside the processor.
Pipelining is an speed up technique where multiple instructions are overlapped in execution on a processor. It is an important topic in Computer Architecture.
This slide try to relate the problem with real life scenario for easily understanding the concept and show the major inner mechanism.
In these slides the registration organization and stack organization have discussed in detail. Stack organization is discussed with the aid of animation to let the user understand it in a better and easy way.
This method of checking the signal in the system for processing is called Polling Method. In this method, the problem is that the processor has to waste number of clock cycles just for checking the signal in the system, by this processor will become busy unnecessarily. If any signal came for the process, processor will take some time to process the signal due to the polling process in action. So system performance also will be degraded and response time of the system will also decrease.
pipelining is the concept of decomposing the sequential process into number of small stages in which each stage execute individual parts of instruction life cycle inside the processor.
Pipelining is an speed up technique where multiple instructions are overlapped in execution on a processor. It is an important topic in Computer Architecture.
This slide try to relate the problem with real life scenario for easily understanding the concept and show the major inner mechanism.
In these slides the registration organization and stack organization have discussed in detail. Stack organization is discussed with the aid of animation to let the user understand it in a better and easy way.
Modern computationally intensive tasks are rarely bottlenecked by the absolute performance of your processor cores. The real bottleneck in 2013 is getting data out of memory. CPU caches are designed to alleviate the difference in performance between CPU core clock speed and main memory clock speed, but developers rarely understand how this interaction works or how to measure or tune their application accordingly. This session aims to address this by:
• Describing how CPU caches work in the latest Intel hardware
• Showing what and how to measure in order to understand the caching behavior of software
• Giving examples of how this affects Java program performance and what can be done to address poor cache utilization
This slide deals with the Input-Output Channel of an IBM 370 computer. It includes three Block diagrams of the I-O channels as well as the Memory Unit with the Description of each and every diagrams.
I/O subsystems: Input/output devices such as Disk, CD,ROM, Printer etc.; Interfacing with IO devices, keyboard and display interfaces; Basic concepts Bus Control, Read Write operations, Programmed IO, Concept of handshaking, Polled and Interrupt driven I/O, DMA data transfer
gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb gfgbfvc cd dc c fvfvdbbbbbbb
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
2. 6.1, 6.2 Peripheral Devices
• Ever y time a key is depressed, the terminal sends a
binar y coded character to the computer. When input
information is transferred to the processor via a
keyboard, the processor will be idle most of time while
waiting for info To arrive.
• Devices are said to be connected online that are
under the direct control of the computer. These
devices are designed to read information into or out of
memor y unit when CPU gives a command. Input or
output devices connected to the computer are also
called peripherals.
• Common peripherals are keyboard, displays units and
printers.
• Peripherals that provide auxiliar y storage for system
are magnetic disk
3. 6.3 INTERFACE – Difference between computer and
peripherals
A conversion of signal values may be required
» CPU (Electronics) / HDD (Electromechanical and Electromagnet)
A synchronization mechanism may be needed
» The data transfer rate of peripherals is usually slower than the transfer rate of
the CPU
Data codes and formats in peripherals differ from the word format in the CPU and
Memory
The operating modes of peripherals are different from each other : 4 modes
» Each peripherals must be controlled so as not to disturb the operation of other
peripherals connected to the CPU
• Special hardware components between the CPU and peripherals
• Supervise and Synchronize all input and output transfers
5. I/O BUS VERSUS MEMORY BUS
Computer buses can be used to communicate with memor y and
I/O
1) Use two separate buses, one for memory and the other for I/O
• I/O Processor : separate memory bus and I/O bus
2) Use one common bus for both memory and I/O but have separate
control lines for each : Isolated I/O or I/O Mapped I/O
• IN, OUT : I/O Instruction
• MOV or LD : Memory read/write Instruction
3) Use one common bus for memory and I/O with common control lines :
Memor y
Mapped I/O
• MOV or LD : I/O and Memory read/write Instruction
: 4 I/O port : Data port A, Data port B, Control,Status
p le •8255 PIO ( port A, B, C, Control/Status )
m
E xa Address Decode :
•CS, RS1, RS0
8. ASYNCHRONOUS DATA TRANSFER
Synchronous Data Transfer
• All data transfers occur simultaneously during the occurrence of
a clock pulse
• Registers in the inter face share a common clock with CPU
registers
Asynchronous Data Transfer
• Internal timing in each unit (CPU and Interface) is independent
• Each unit uses its own private clock for internal registers
9. STROBE
Destination-initiated strobe
Source-initiated strobe
Strobe : Control signal to indicate the time at which data is being transmitted
1) Source-initiated strobe 2) Destination-initiated strobe
10. HANDSHAKING
• For data transfer between two computers, the sending and receiving
speeds on both ends are often different. Therefore, a mechanism is
needed to make sure that the sender does not send a new byte before
the previously sent byte is received by the receiver.
• Even when the sender and receiver operate at the same speed, the
sender may still want to know whether the receiver has indeed received
the information. Handshaking provides a mechanism for addressing this
issue.
• Handshaking usually uses two additional hardware lines, one is called
“strobe” and the other is called “acknowledge”. The sender provides the
signal to the strobe line and the receiver provides the signal to the
acknowledge line.
• Handshaking can be used in both parallel data transfer and serial data
transfer.
11. ASYNCHRONOUS SERIAL TRANSFER
Synchronous transmission :
» The two unit share a common clock frequency
» Bits are transmitted continuously at the rate dictated by the clock
pulses
Asynchronous transmission :
» Special bits are inser ted at both ends of the character code
» Each character consists of three par ts :
1) star t bit : always “0”, indicate the beginning of a character
2) character bits : data
3) stop bit : always “1”
12. ASYNCHRONOUS TRANSMISSION RULES : NO
PARITY
» When a character is not being sent, the line is kept in
the 1-state
»The initiation of a character transmission is detected
from the star t bit, which is
always “0”
»The character bits always follow the star t bit
» Af ter the last bit of the character is transmitted, a stop
bit is detected when the line
returns to the 1-state for at least one bit time (stop bits :
1, 1.5, 2)
14. Mode of Transfer
• Information transferred from central computer into an
external device initiates in memor y unit. CPU only executes
I/O instructions and may accept data temporarily, but the
ultimate source or destination is memor y unit. Data transfer
between central computer and I/O devices may be handled
in variety of modes.
• Data transfer to and from peripherals may be done in either
of three modes:
Programmed I/O
Interrupt – initiated I/O
Direct Memory Access (DMA)
15. Introduction
• Binar y information received from an external
device is usually stored in memor y.
• Information transferred from the central
computer into an external device also is
originally from the memor y.
• Data transfer between the central computer
and input and output devices may be handled
in a variety of modes
16. Programmed I/O
• These operations are a results of I/O instructions
written in the computer program. Data transfer is
initiated by an instruction in the program.
• Usually the data transfer data between CPU register
and peripheral device. Other instructions are used to
transfer data transfer data between CPU and memor y.
• The peripheral has to be constantly monitored. Once
a data transfer is initiated, the CPU is required to
monitor the inter face to see when a transfer can again
be made.
17. Applications of programmed I/O
method
Useful in small low speed computers.
Used in systems that are dedicated to monitor a device
continuously.
Used in the data register.
Used to check the status of the flag bit and branch.
18. Interrupt initiated I/O
• in this scheme, CPU may allow devices to send a
signal when input is waiting to be processed. The
signal is used to interrupt the CPU.
• Interrupt signal are seen directly (using hardware) to
micro-processor which may or may not ignore interrupt
request. When request is granted, CPU will suspend its
current program execution, execute an interrupt
handler program and then resume execution of the
interrupted program
19. • Interrupted initiated I/O can be avoided by using an
interrupt facility and special commands to inform the
inter face to issue an interrupt request signal when the data
are available from the device.
• Meanwhile, CPU can proceed to execute another program.
The inter faces keeps monitoring the device.
• When the inter face determines that the device is ready for
data transfer, it generates an interrupt request to the
computer.
20. Service routines of Interrupt
initiated I/O
Ser vice routines of interrupt initiated I/O can be chosen
in two ways.
Vectored interrupt
Non-vectored interrupt
21. Direct Memor y Access (DMA)
• The inter face transfer data into and out of the memor y unit through
the memor y bus.
• The CPU initiates the transfer of supplying the inter face with the
star ting address and the number of words needed to be transferred
and then proceed to execute other tasks.
• When the request is granted by the memor y controller, the DMA
transfer the data directly into memor y. The CPU delays its memor y
access operation to allow the direct memor y I/O transfer.
22. I/O Processor
• Many computers combines the inter face logic with the requirements
for direct memor y access into one unit and call it an I/O processor.
The IOP can handle many peripherals through a DMA and interrupt
facility. The computer is divided into three separate modules in
such a system.
Memor y unit
CPU
IOP
• CPU is the master while the IOP is a slave processor. The CPU
per forms the tasks of initiating all operations.
• The operations include
Star ting an I/O transfer
Testing I/O status conditions needed for making decisions on
various I/O activities.
23. I/O Interrupts
Priority
- Determines which interrupt is to be ser ved first
when two or more requests are made simultaneously
- Also determines which interrupts are permitted to
interrupt the computer while another is being ser viced
- Higher priority interrupts can make requests while
ser vicing a lower priority interrupt
24. Priority Interrupt by Sof tware (Polling)
- Priority is established by the order of polling the devices (interrupt
sources)
- Flexible since it is established by sof tware
- Low cost since it needs a ver y little hardware
- Ver y slow
Priority Interrupt by Hardware
- Require a priority interrupt manager which accepts
all the interrupt requests to determine the highest priority request
- Fast since identification of the highest priority
interrupt request is identified by the hardware
- Fast since each interrupt source has its own interrupt vector to
access
directly to its own ser vice routine
25. HARDWARE PRIORITY INTERRUPT - DAISY-CHAIN -
Processor data bus
VAD 1 VAD 2 VAD 3 * Serial hardware priority function
Device 1 Device 2 Device 3 * Interrupt Request Line
To next
PI PO PI PO PI PO
device
- Single common line
* Interrupt Acknowledge Line
- Daisy-Chain
Interrupt request INT
CPU
Interrupt acknowledge
INTACK
Interrupt Request from any device(>=1)
-> CPU responds by INTACK <- 1
-> Any device receives signal(INTACK) 1 at PI puts the VAD on the bus
Among interrupt requesting devices the only device which is physically closest
to CPU gets INTACK=1, and it blocks INTACK to propagate to the next device
One stage of the daisy chain priority arrangement
Priority in VAD
PI Enable
Vector address
Interrupt Priority out PI RF PO Enable
RF PO 0 0 0 0
request S Q
from device 0 1 0 0
R 1 0 1 0
1 1 1 1
Delay
Interrupt request to CPU
26. PARALLEL PRIORITY INTERRUPT
Interrupt register Bus
Buffer
Disk 0 I0 y
Printer 1 I1 x
Priority 0
Reader 2 I 2 encoder
0 VAD
Keyboard 3 0 to CPU
I3
0
0
0 IEN IST
0
Mask
register 1 Enable
2
Interrupt
to CPU
3
INTACK
from CPU
IEN: Set or Clear by instructions ION or IOF
IST: Represents an unmasked interrupt has occurred. INTACK enables
tristate Bus Buffer to load VAD generated by the Priority Logic
Interrupt Register:
- Each bit is associated with an Interrupt Request from
different Interrupt Source - different priority level
- Each bit can be cleared by a program instruction
Mask Register:
- Mask Register is associated with Interrupt Register
- Each bit can be set or cleared by an Instruction
27. INTERRUPT PRIORITY ENCODER
Determines the highest priority interrupt when
more than one interrupts take place
Priority Encoder Truth table
Inputs Outputs
I0 I1 I2 I3 x y IST Boolean functions
1 d d d 0 0 1
0 1 d d 0 1 1
0 0 1 d 1 0 1 x = I0' I1'
0 0 0 1 1 1 1 y = I0' I1 + I0’ I2’
0 0 0 0 d d 0 (IST) = I0 + I1 + I2 + I3
28. INTERRUPT CYCLE
At the end of each Instruction cycle
- CPU checks IEN and IST
- If IEN • IST = 1, CPU -> Interrupt Cycle
SP ← SP - 1 Decrement stack pointer
M[SP] ← PC Push PC into stack
INTACK ← 1 Enable interrupt acknowledge
PC ← VAD Transfer vector address to PC
IEN ← 0 Disable further interrupts
Go To Fetch to execute the first instruction
in the interrupt service routine
29. INTERRUPT SERVICE ROUTINE
address Memory I/O service programs
7
0 JMP DISK DISK Program to service
1 JMP PTR magnetic disk
VAD=00000011 3
2 JMP RDR PTR Program to service
3 JMP KBD line printer
8
1 Main program RDR
KBD Program to service
749 current instr.
interrupt 750 character reader
4
KBD Program to service
Stack
11 keyboard
5
2 255
256 Disk 256
750 interrupt
6 9 10
Initial and Final Operations
Each interrupt service routine must have an initial and final set of
operations for controlling the registers in the hardware interrupt system
Initial Sequence Final Sequence
[1] Clear lower level Mask reg. bits [1] IEN <- 0
[2] IST <- 0 [2] Restore CPU registers
[3] Save contents of CPU registers [3] Clear the bit in the Interrupt Reg
[4] IEN <- 1 [4] Set lower level Mask reg. bits
[5] Go to Interrupt Service Routine [5] Restore return address, IEN <- 1
30. DIRECT MEMORY ACCESS
* Block of data transfer from high speed devices, Drum, Disk, Tape
* DMA controller - Interface which allows I/O transfer directly between
Memory and Device, freeing CPU for other tasks
* CPU initializes DMA Controller by sending memory
address and the block size(number of words)
CPU bus signals for DMA transfer
}
ABUS Address bus High-impedence
Bus request BR DBUS Data bus (disabled)
CPU when BG is
Bus granted BG RD Read
WR Write enabled
31. Block Diagram Of DMA Controller
Address bus
Data bus Data bus Address bus
buffers buffers
Internal Bus
DMA select DS Address register
Register select RS
Read RD Word count register
Write WR Control
logic
Bus request BR Control register
Bus grant BG
Interrupt Interrupt DMA request
DMA acknowledge to I/O device
32. DMA I/O OPERATION
Starting an I/O
- CPU executes instruction to
Load Memory Address Register
Load Word Counter
Load Function(Read or Write) to be performed
Issue a GO command
Upon receiving a GO Command DMA performs I/O
operation as follows independently from CPU
Input
[1] Input Device <- R (Read control signal)
[2] Buffer(DMA Controller) <- Input Byte; and
assembles the byte into a word until word is full
[4] M <- memory address, W(Write control signal)
[5] Address Reg <- Address Reg +1; WC(Word Counter) <- WC - 1
[6] If WC = 0, then Interrupt to acknowledge done, else go to [1]
Output
[1] M <- M Address, R
M Address R <- M Address R + 1, WC <- WC - 1
[2] Disassemble the word
[3] Buffer <- One byte; Output Device <- W, for all disassembled bytes
[4] If WC = 0, then Interrupt to acknowledge done, else go to [1]
33. CYCLE STEALING
While DMA I/O takes place, CPU is also executing instructions
DMA Controller and CPU both access Memory -> Memory Access Conflict
Memory Bus Controller
- Coordinating the activities of all devices requesting memory access
- Priority System
Memory accesses by CPU and DMA Controller are interwoven,
with the top priority given to DMA Controller
-> Cycle Stealing
Cycle Steal
- CPU is usually much faster than I/O(DMA), thus
CPU uses the most of the memory cycles
- DMA Controller steals the memory cycles from CPU
- For those stolen cycles, CPU remains idle
- For those slow CPU, DMA Controller may steal most of the memory
cycles which may cause CPU remain idle long time
34. DMA TRANSFER
Interrupt
Random-access
BG
CPU memory unit (RAM)
BR
RD WR Addr Data RD WR Addr Data
Read control
Write control
Data bus
Address bus
Address
select
RD WR Addr Data
DS DMA ack.
RS DMA I/O
Controller Peripheral
BR device
BG DMA request
Interrupt
35. INPUT/OUTPUT PROCESSOR - CHANNEL -
Channel
- Processor with direct memory access capability
that communicates with I/O devices
- Channel accesses memory by cycle stealing
- Channel can execute a Channel Program
- Stored in the main memory
- Consists of Channel Command Word(CCW)
- Each CCW specifies the parameters needed
by the channel to control the I/O devices and
perform data transfer operations
- CPU initiates the channel by executing an
channel I/O class instruction and once initiated,
channel operates independently of the CPU
Central
processing
unit (CPU)
Memory Bus
Peripheral devices
Memory
unit PD PD PD PD
Input-output
processor
(IOP) I/O bus
36. CHANNEL / CPU COMMUNICATION
CPU operations IOP operations
Send instruction
to test IOP.path
Transfer status word
to memory
If status OK, then send
start I/O instruction
to IOP. Access memory
for IOP program
CPU continues with
another program Conduct I/O transfers
using DMA;
Prepare status report.
I/O transfer completed;
Interrupt CPU
Request IOP status
Transfer status word
Check status word to memory location
for correct transfer.
Continue