Recap from last class
|
|
- Hugo Holmes
- 6 years ago
- Views:
Transcription
1 Recap from last class Taxonomy of microprocessor architecture Von Neumann Memory for both data and instructions, single bus Easier to write Harvard Separate memories for data and instructions, two buses Higher throughput RISC vs. CISC Multiple implementations of microprocessor ARM: von Neumann + RISC SHARC: Harvard + CISC, optimized for DSP ECE 1160/2160 Embedded Systems Design 1
2 ECE 1160/2160 Embedded System Design CPU I/O, Interrupt, and Bus Wei Gao ECE 1160/2160 Embedded Systems Design 2
3 Embedding A Computer: I/O devices output analog analog actuators CPU input analog analog sensors embedded computer mem ECE 1160/2160 Embedded Systems Design 3
4 I/O Devices Digital interface to I/O devices Some devices have non-digital components, e.g., electronics for rotating disk and analog read/write in hard drive Devices usually use registers to talk to CPU Status: info, e.g. if the data is ready to read, 1: ready, 0: finished Data: holds data outputted to or inputted from the device CPU status register data register Device mechanism Typical I/O device ECE 1160/2160 Embedded Systems Design 4
5 Programming I/O Devices Two types of instructions can support I/O: 1. special-purpose I/O instructions; 2. memory-mapped load/store instructions. Intel x86 provides special in, out instructions. Separate address space for I/O devices Most CPUs use memory-mapped I/O. Registers in I/O devices have normal memory address Use CPU s normal read/write instructions to access I/O I/O instructions do not preclude memory-mapped I/O ECE 1160/2160 Embedded Systems Design 5
6 Peek and Poke Traditional high-level functions to implement memorymapped I/O Read: dereference a given location pointer int peek(char *location) { } return *location; Write to a certain location void poke(char *location, char newval) { (*location) = newval; } ECE 1160/2160 Embedded Systems Design 6
7 Busy-Wait I/O Programming Simplest way to program I/O devices. Devices are much slower than CPU and require more cycles CPU has to wait for device to finish before starting next Use peek instruction to test when device is finished CPU status register data register Device mechanism CD burner ECE 1160/2160 Embedded Systems Design 7
8 Busy-Wait I/O Programming //send a string to device using Busy-Wait handshaking current_char = mystring; while (*current_char!= \0 ) { //send character to device (data register) poke(out_char,*current_char); //wait for device to finish by checking its status while (peek(out_status)!= 0); //advance character pointer to next one current_char++; } test as an atomic operation CPU status register data register Device mechanism CD burner ECE 1160/2160 Embedded Systems Design 8
9 Simultaneous I/O using Busy-Wait Repeatedly read a character from the input device and then write it to the output device while (TRUE) { /* read a character into variable achar */ while (peek(in_status) == 0);/* wait until ready */ achar = (char)peek(in_data);/* read the character */ /* write achar to output device*/ poke(out_data,achar); poke(out_status,1); /* turn on the device */ while (peek(out_status)!= 0); /* wait until done*/ } ECE 1160/2160 Embedded Systems Design 9
10 Mutual Exclusion using Busy-Wait Exclusive access on the I/O device Multi-threaded systems TestAndSet() { oldvalue=peek(lock); //read poke(lock, true); //write return oldvalue; }.. //wait until LOCK is acquired while (TestAndSet()); TestAndSet for mutual exclusion //send character to device (data register) poke(out_char,*current_char); //wait for device to finish by checking its status while (peek(out_status)!= 0); //advance character pointer to next one current_char++; poke(lock, false); //release lock ECE 1160/2160 Embedded Systems Design 10
11 Interrupt-based I/O Busy-wait is very inefficient. CPU can t do other work while testing device. Hard to do simultaneous I/O. Interrupts allow to change the flow of control in the CPU. Call interrupt handler (i.e. device driver) to handle device. IR CPU PC interrupt request interrupt ack status register Device mechanism data/address data register ECE 1160/2160 Embedded Systems Design 11
12 Interrupt Behavior Based on subroutine call mechanism. Interrupt forces next instruction of CPU to be a subroutine call to the interrupt handler. Context switch: return address is saved to resume executing foreground program. CPU may not service a request immediately e.g. CPU needs to finish a disk transaction before handling a keyboard interrupt ECE 1160/2160 Embedded Systems Design 12
13 Interrupt Physical Interface CPU and device are connected by CPU bus. CPU and device handshake: Device asserts interrupt request; CPU asserts interrupt acknowledge when it can handle the interrupt. ECE 1160/2160 Embedded Systems Design 13
14 Simultaneous I/O using Interrupt void input_handler() { /*get a char and put in global*/ achar = peek(in_data); /*get a character*/ gotchar = TRUE; /*Signal to main program*/ poke(in_status,0); /*reset status for next transfer */ } Request interrupt when input comes main() { while (TRUE) { /*read then wait forever*/ if (gotchar) { /*write a character*/ poke(out_data,achar); /*put character in device*/ poke(out_status,1); /*set status to write*/ gotchar = FALSE; /*reset flag*/ } Write data as interrupt // do some other jobs here. handler } } ECE 1160/2160 Embedded Systems Design 14
15 Interrupt I/O with Buffers No waiting; CPU can read and write simultaneously Use a queue to store characters, producer/consumer Allow input/output devices to run at different rates a head tail tail Output device (consumer) a b c d e f g Input device (producer) head head tail ECE 1160/2160 Embedded Systems Design 15
16 Priorities and Vectors Need to handle interrupts from multiple devices Two mechanisms allow us to make interrupts more general: Priorities determine what interrupt gets CPU first. Vectors determine what code is called for each type of interrupt. Mechanisms are orthogonal: most CPUs provide both. ECE 1160/2160 Embedded Systems Design 16
17 Prioritized Interrupts Some interrupts are more important Lower-numbered interrupt lines have higher priority Re-connect lines to change priorities interrupt acknowledge device 1 device 2 device n L1 L2.. Ln CPU interrupt requests ECE 1160/2160 Embedded Systems Design 17
18 Interrupt Prioritization Masking: interrupt with priority lower than current priority is not recognized until current interrupt is complete. In TinyOS, event handlers should not do long processing because the priority is highest by default Use tasks because they can be preempted Highest-priority is non-maskable interrupt (NMI) which is never masked. Often used to save critical states of memory and turn off devices for power-down. ECE 1160/2160 Embedded Systems Design 18
19 Interrupt Vectors Flexibility: allow different devices to be handled by different handlers; mapping is changeable Devices store the vector # Interrupt vector table: :CPU :device Interrupt vector table head handler 0 handler 1 handler 2 handler 3 Vector 0 Vector 1 Vector 2 Vector 3 receive request receive vector receive ack ECE 1160/2160 Embedded Systems Design 19
20 Generic Interrupt Mechanism continue executing next instruction N interrupt? Y ignore N interrupt priority > current priority? ack Y bus error Y timeout? N Y vector? Y call table[vector] ECE 1160/2160 Embedded Systems Design 20
21 Interrupt Sequence 1. Device requests interrupt 2. CPU checks for pending interrupts and acknowledges the highest priority request. 3. Device receives acknowledge and sends CPU the interrupt vector. 4. CPU saves current states, looks up and calls the corresponding handler. 5. Handler processes request. 6. CPU restores states to foreground program. ECE 1160/2160 Embedded Systems Design 21
22 Interrupt Overhead Context switch: registers (e.g., PC) save/restore when handler is called. Handler execution time. Extra cycles for requests, acknowledges, vectors, etc. Other overhead Pipeline-related penalties. Cache-related penalties. ECE 1160/2160 Embedded Systems Design 22
23 Embedding A Computer: The CPU Bus output analog analog actuators CPU input analog analog sensors embedded computer mem ECE 1160/2160 Embedded Systems Design 23
24 Typical Microprocessor Bus Bus is a set of wires and a protocol for the CPU to communicate with memory and devices Five major components to support reads and writes CPU Device 1 Device 2 a n Clock Address provides is an a-bit synchronization R/W bundle is 1 of when signals to the that Data the bus transmits bus ready is reading the components and Data address signals 0 is when an for when n-bit an the the bus bundle access values is writing of on signals the that Clock data can bundle carry are data to valid R/W or from the CPU Address Data ready Data Memory ECE 1160/2160 Embedded Systems Design 24
25 Timing Diagrams The behavior of a bus is specified as a timing diagram A timing diagram shows how signals on a bus vary over time. Generally used for asynchronous machines with timing constraints. enq Enquiry signal time Acknowledge signal ack time ECE 1160/2160 Embedded Systems Design 25
26 Timing Diagram Notation Timing diagram syntax: Constant value (0/1), stable, changing, unknown. Timing constraints: minimum time between two events High (1) Rising Falling Signal A Low (0) 10 ns Signal B Changing Stable unknown Signal C Timing Constraint ECE 1160/2160 Embedded Systems Design 26
27 Basic Block of Most Bus Protocols: Four-Cycle Handshake 1. Device 1 raises its output to signal an enquiry 2. Device 2 raises output to signal an acknowledge 3. Device 1 and 2 can start to transmit data 4. Once transfer is complete, device 2 lowers output, signaling it finishes the data transmission 5. Device 1 lowers output Device 1 Device 2 Device 1 Device 2 ack 1 enq enq data ack 2 3 time time ECE 1160/2160 Embedded Systems Design 27 4
28 When Should You Handshake? When response time cannot be guaranteed in advance: Data-dependent delay. Component variations. ECE 1160/2160 Embedded Systems Design 28
29 Typical Bus Access Clock R/W Address enable Address Data Ready data read write time ECE 1160/2160 Embedded Systems Design 29
30 Bus Design Bus signals are usually tri-stated. Low, high, stable Address and data lines may be shared. Bus mastership Bus master controls operations on the bus. CPU is default bus master. Other devices may request bus mastership. Separate set of handshaking lines. CPU can t use bus when it is not master ECE 1160/2160 Embedded Systems Design 30
31 Summary I/O programming Memory-mapped I/O vs. special-purpose I/O instructions Busy-wait is simplest but very inefficient Devices are usually slower than CPU Interrupts Using buffer to allow input/output at different rates Priorities and vectors allow to handle multiple interrupts The CPU Bus A set of wires and protocols for CPU to communicate with memory and I/O devices. Four-cycle handshake protocol Timing diagram for typical bus access ECE 1160/2160 Embedded Systems Design 31
CPUs. Input and output. Supervisor mode, exceptions, traps. Co-processors. Computers as Components 4e 2016 Marilyn Wolf
CPUs Input and output. Supervisor mode, exceptions, traps. Co-processors. I/O devices Usually includes some non-digital component. Typical digital interface to CPU: CPU status reg data reg mechanism Application:
More informationEmbedded System Design
Embedded System Design Lecture 4 Jaeyong Chung System-on-Chips (SoC) Laboratory Incheon National University CPUs Takes inputs from input devices (sensors, keyboards, ) Process inputs and produce results
More informationThe Embedded Computing Platform
The Embedded Computing Platform I/O Interfaces and Service José Costa Software for Embedded Systems Department of Computer Science and Engineering (DEI) Instituto Superior Técnico Adapted from the overheads
More informationInput/Output. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Input/Output Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu mechanism I/O Devices Usually includes some non-digital component Typical digital interface
More informationECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design
ECE 1160/2160 Embedded Systems Design Midterm Review Wei Gao ECE 1160/2160 Embedded Systems Design 1 Midterm Exam When: next Monday (10/16) 4:30-5:45pm Where: Benedum G26 15% of your final grade What about:
More informationInput/Output Programming
Input/Output Programming Chapter 3: Section 3.1, 3.2 Input and output (I/O) programming Communicating with I/O devices Busy-wait I/O Interrupt-driven I/O I/O devices Devices may include digital and non-digital
More informationOperating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester
Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System
More informationINPUT/OUTPUT ORGANIZATION
INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and
More informationI/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13
I/O Handling ECE 650 Systems Programming & Engineering Duke University, Spring 2018 Based on Operating Systems Concepts, Silberschatz Chapter 13 Input/Output (I/O) Typical application flow consists of
More informationINPUT/OUTPUT ORGANIZATION
INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationINPUT/OUTPUT ORGANIZATION
INPUT/OUTPUT ORGANIZATION Accessing I/O Devices I/O interface Input/output mechanism Memory-mapped I/O Programmed I/O Interrupts Direct Memory Access Buses Synchronous Bus Asynchronous Bus I/O in CO and
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 TOPICS TODAY I/O Architectures Interrupts Exceptions FETCH EXECUTE CYCLE 1.7 The von Neumann Model This is a general
More information12. Interrupts and Programmable Multilevel Interrupt Controller
12. Interrupts and Programmable Multilevel Interrupt Controller 12.1 Features Short and predictable interrupt response time Separate interrupt configuration and vector address for each interrupt Programmable
More informationThe Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.
The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus
More informationUnit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION
Unit 3 and Unit 4: Chapter 4 INPUT/OUTPUT ORGANIZATION Introduction A general purpose computer should have the ability to exchange information with a wide range of devices in varying environments. Computers
More informationPC Interrupt Structure and 8259 DMA Controllers
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 PC Interrupt Structure and 8259 DMA Controllers This lecture covers the use of interrupts and the vectored interrupt
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An
More informationReading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An
More informationInterfacing. Introduction. Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures. Vahid, Givargis
Interfacing Introduction Addressing Interrupt DMA Arbitration Advanced communication architectures Vahid, Givargis Introduction Embedded system functionality aspects Processing Transformation of data Implemented
More information8086 Interrupts and Interrupt Responses:
UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller
More informationOperating Systems 2010/2011
Operating Systems 2010/2011 Input/Output Systems part 1 (ch13) Shudong Chen 1 Objectives Discuss the principles of I/O hardware and its complexity Explore the structure of an operating system s I/O subsystem
More informationConcurrent programming: Introduction I
Computer Architecture course Real-Time Operating Systems Concurrent programming: Introduction I Anna Lina Ruscelli - Scuola Superiore Sant Anna Contact info Email a.ruscelli@sssup.it Computer Architecture
More informationBus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.
Bus System Chapter 8 CSc 314 T W Bennet Mississippi College 1 CSc 314 T W Bennet Mississippi College 3 Bus Systems Common connection between the CPU, the memory, and the peripheral devices. One device
More informationReading and References. Input / Output. Why Input and Output? A typical organization. CSE 410, Spring 2004 Computer Systems
Reading and References Input / Output Reading» Section 8.1-8.5, Computer Organization and Design, Patterson and Hennessy CSE 410, Spring 2004 Computer Systems http://www.cs.washington.edu/education/courses/410/04sp/
More informationI/O - input/output. system components: CPU, memory, and bus -- now add I/O controllers and peripheral devices. CPU Cache
I/O - input/output system components: CPU, memory, and bus -- now add I/O controllers and peripheral devices CPU Cache CPU must perform all transfers to/from simple controller, e.g., CPU reads byte from
More information操作系统概念 13. I/O Systems
OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O
More informationTop-Level View of Computer Organization
Top-Level View of Computer Organization Bởi: Hoang Lan Nguyen Computer Component Contemporary computer designs are based on concepts developed by John von Neumann at the Institute for Advanced Studies
More informationUnit 5. Memory and I/O System
Unit 5 Memory and I/O System 1 Input/Output Organization 2 Overview Computer has ability to exchange data with other devices. Human-computer communication Computer-computer communication Computer-device
More informationI/O. CS 416: Operating Systems Design Department of Computer Science Rutgers University
I/O Design Department of Computer Science http://www.cs.rutgers.edu/~vinodg/416 I/O Devices So far we have talked about how to abstract and manage CPU and memory Computation inside computer is useful only
More informationChapter 3. Top Level View of Computer Function and Interconnection. Yonsei University
Chapter 3 Top Level View of Computer Function and Interconnection Contents Computer Components Computer Function Interconnection Structures Bus Interconnection PCI 3-2 Program Concept Computer components
More informationComputer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM
i SYLLABUS UNIT - 1 CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS Computer Types, Functional Units, Basic Operational Concepts, Bus Structures, Software, Performance, Multiprocessors and Multicomputers, Historical
More informationInput/Output Interfaces: Ch
Input/Output Interfaces: Ch 8.1-8.3 hardware software H/w s/w interface Problems Algorithms Prog. Lang & Interfaces Instruction Set Architecture Microarchitecture (Organization) Circuits Devices (Transistors)
More informationby I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS
by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests
More informationThe control of I/O devices is a major concern for OS designers
Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices
More informationReplacement Policy: Which block to replace from the set?
Replacement Policy: Which block to replace from the set? Direct mapped: no choice Associative: evict least recently used (LRU) difficult/costly with increasing associativity Alternative: random replacement
More informationCS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices
CS152 Computer Architecture and Engineering Lecture 20: ses and OS s Responsibilities April 7, 1995 Dave Patterson (patterson@cs) and Shing Kong (shing.kong@eng.sun.com) Slides available on http://http.cs.berkeley.edu/~patterson
More informationEmulation 2. G. Lettieri. 15 Oct. 2014
Emulation 2 G. Lettieri 15 Oct. 2014 1 I/O examples In an emulator, we implement each I/O device as an object, or a set of objects. The real device in the target system is connected to the CPU via an interface
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives
More information[08] IO SUBSYSTEM 1. 1
[08] IO SUBSYSTEM 1. 1 OUTLINE Input/Output (IO) Hardware Device Classes OS Interfaces Performing IO Polled Mode Interrupt Driven Blocking vs Non-blocking Handling IO Buffering & Strategies Other Issues
More informationEE4144: ARM Cortex-M Processor
EE4144: ARM Cortex-M Processor EE4144 Fall 2014 EE4144 EE4144: ARM Cortex-M Processor Fall 2014 1 / 10 ARM Cortex-M 32-bit RISC processor Cortex-M4F Cortex-M3 + DSP instructions + floating point unit (FPU)
More informationDevice-Functionality Progression
Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port
More informationChapter 12: I/O Systems. I/O Hardware
Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port
More informationL12: I/O Systems. Name: ID:
L12: I/O Systems Name: ID: Synchronous and Asynchronous Buses Synchronous Bus (e.g., processor-memory buses) Includes a clock in the control lines and has a fixed protocol for communication that is relative
More informationECE 341. Lecture # 19
ECE 341 Lecture # 19 Instructor: Zeshan Chishti zeshan@ece.pdx.edu December 3, 2014 Portland State University Announcements Final exam is on Monday, December 8 from 5:30 PM to 7:20 PM Similar format and
More informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More information6 Direct Memory Access (DMA)
1 License: http://creativecommons.org/licenses/by-nc-nd/3.0/ 6 Direct Access (DMA) DMA technique is used to transfer large volumes of data between I/O interfaces and the memory. Example: Disk drive controllers,
More informationDigital Design Laboratory Lecture 6 I/O
ECE 280 / CSE 280 Digital Design Laboratory Lecture 6 I/O Input/Output Module Interface to CPU and Memory Interface to one or more peripherals Generic Model of I/O Module External Devices Human readable
More informationSilberschatz and Galvin Chapter 12
Silberschatz and Galvin Chapter 12 I/O Systems CPSC 410--Richard Furuta 3/19/99 1 Topic overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O requests to hardware operations
More informationLecture-51 INTEL 8259A Programmable Interrupt Controller
Lecture-51 INTEL 8259A Programmable Interrupt Controller The 8259A is a programmable interrupt controller designed to work with Intel microprocessor 8080 A, 8085, 8086, 8088. The 8259 A interrupt controller
More informationChapter 12: I/O Systems
Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and
More informationChapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition
Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - Von Neumann Architecture 2 Two lessons Summary of the traditional computer architecture Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informationUC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara
Operating Systems Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ Input and Output Input/Output Devices The OS is responsible for managing I/O devices Issue requests Manage
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating
More informationChapter 2 Data Manipulation
Chapter 2 Data Manipulation Dr. Farzana Rahman Assistant Professor Department of Computer Science James Madison University 1 What the chapter is about? 2.1 Computer Architecture 2.2 Machine Language 2.3
More information1. Internal Architecture of 8085 Microprocessor
1. Internal Architecture of 8085 Microprocessor Control Unit Generates signals within up to carry out the instruction, which has been decoded. In reality causes certain connections between blocks of the
More informationMARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer Outline Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution. Understand a simple
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 12 Processor Structure and Function
William Stallings Computer Organization and Architecture 8 th Edition Chapter 12 Processor Structure and Function CPU Structure CPU must: Fetch instructions Interpret instructions Fetch data Process data
More informationMicroprocessors & Interfacing
Lecture Overview Microprocessors & Interfacing Interrupts (I) Lecturer : Dr. Annie Guo Introduction to Interrupts Interrupt system specifications Multiple sources of interrupts Interrupt priorities Interrupts
More informationAdvanced Parallel Architecture Lesson 3. Annalisa Massini /2015
Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html
More informationGrundlagen Microcontroller Interrupts. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Interrupts Günther Gridling Bettina Weiss 1 Interrupts Lecture Overview Definition Sources ISR Priorities & Nesting 2 Definition Interrupt: reaction to (asynchronous) external
More informationInterrupts (I) Lecturer: Sri Notes by Annie Guo. Week8 1
Interrupts (I) Lecturer: Sri Notes by Annie Guo Week8 1 Lecture overview Introduction to Interrupts Interrupt system specifications Multiple Sources of Interrupts Interrupt Priorities Interrupts in AVR
More informationChapter 4. MARIE: An Introduction to a Simple Computer
Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
More informationPD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems
PD215 Mechatronics Week 3/4 Interfacing Hardware and Communication Systems Interfacing with the physical world A compute device (microprocessor) in mechatronic system needs to accept input information
More informationModule 12: I/O Systems
Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common
More informationThese three counters can be programmed for either binary or BCD count.
S5 KTU 1 PROGRAMMABLE TIMER 8254/8253 The Intel 8253 and 8254 are Programmable Interval Timers (PTIs) designed for microprocessors to perform timing and counting functions using three 16-bit registers.
More informationChe-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University
Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage
More informationCS370 Operating Systems
CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central
More informationECE 551 System on Chip Design
ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs
More informationChapter 5 Input/Output Organization. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan
Chapter 5 Input/Output Organization Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Accessing I/O Devices Interrupts Direct Memory Access Buses Interface
More informationLecture notes Lectures 1 through 5 (up through lecture 5 slide 63) Book Chapters 1-4
EE445M Midterm Study Guide (Spring 2017) (updated February 25, 2017): Instructions: Open book and open notes. No calculators or any electronic devices (turn cell phones off). Please be sure that your answers
More informationLast class: Today: Course administration OS definition, some history. Background on Computer Architecture
1 Last class: Course administration OS definition, some history Today: Background on Computer Architecture 2 Canonical System Hardware CPU: Processor to perform computations Memory: Programs and data I/O
More informationComputer Architecture CS 355 Busses & I/O System
Computer Architecture CS 355 Busses & I/O System Text: Computer Organization & Design, Patterson & Hennessy Chapter 6.5-6.6 Objectives: During this class the student shall learn to: Describe the two basic
More informationMARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer 4.2 CPU Basics The computer s CPU fetches, decodes, and executes program instructions. The two principal parts of the CPU are the datapath and the control unit.
More informationECEN 449 Microprocessor System Design. Hardware-Software Communication. Texas A&M University
ECEN 449 Microprocessor System Design Hardware-Software Communication 1 Objectives of this Lecture Unit Learn basics of Hardware-Software communication Memory Mapped I/O Polling/Interrupts 2 Motivation
More informationModule 11: I/O Systems
Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance
More informationChapter 13: I/O Systems
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationChapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)
Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin
More informationCPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.
CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.
More informationC02: Interrupts and I/O
CISC 7310X C02: Interrupts and I/O Hui Chen Department of Computer & Information Science CUNY Brooklyn College 2/8/2018 CUNY Brooklyn College 1 Von Neumann Computers Process and memory connected by a bus
More informationWhere We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University
Introduction to Computer Architecture Input/Output () Copyright 2012 Daniel J. Sorin Duke University Slides are derived from work by Amir Roth (Penn) Spring 2012 Where We Are in This Course Right Now So
More informationSEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010
SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single
More informationPart I Overview Chapter 1: Introduction
Part I Overview Chapter 1: Introduction Fall 2010 1 What is an Operating System? A computer system can be roughly divided into the hardware, the operating system, the application i programs, and dthe users.
More informationInput / Output. School of Computer Science G51CSA
Input / Output 1 Overview J I/O module is the third key element of a computer system. (others are CPU and Memory) J All computer systems must have efficient means to receive input and deliver output J
More informationEECS 373 Design of Microprocessor-Based Systems
EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 5: Memory-mapped I/O review, APB, start interrupts. Mostly APB though Sept. 19 th 2018 1 Today Memory-mapped I/O
More informationSystems Architecture II
Systems Architecture II Topics Interfacing I/O Devices to Memory, Processor, and Operating System * Memory-mapped IO and Interrupts in SPIM** *This lecture was derived from material in the text (Chapter
More informationECE468 Computer Organization and Architecture. OS s Responsibilities
ECE468 Computer Organization and Architecture OS s Responsibilities ECE4680 buses.1 April 5, 2003 Recap: Summary of Bus Options: Option High performance Low cost Bus width Separate address Multiplex address
More informationReview: Hardware user/kernel boundary
Review: Hardware user/kernel boundary applic. applic. applic. user lib lib lib kernel syscall pg fault syscall FS VM sockets disk disk NIC context switch TCP retransmits,... device interrupts Processor
More informationEC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers UNIT-I
EC2304-MICROPROCESSOR AND MICROCONROLLERS 2 marks questions and answers 1. Define microprocessors? UNIT-I A semiconductor device(integrated circuit) manufactured by using the LSI technique. It includes
More informationLast Time. Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads
Last Time Cost of nearly full resources RAM is limited Think carefully about whether you use a heap Look carefully for stack overflow Especially when you have multiple threads Embedded C Extensions for
More informationRaspberry Pi - I/O Interfaces
ECE 1160/2160 Embedded Systems Design Raspberry Pi - I/O Interfaces Wei Gao ECE 1160/2160 Embedded Systems Design 1 I/O Interfaces Parallel I/O and Serial I/O Parallel I/O: multiple input/output simultaneously
More informationRef: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1
Ref: Chap 12 Secondary Storage and I/O Systems Applied Operating System Concepts 12.1 Part 1 - Secondary Storage Secondary storage typically: is anything that is outside of primary memory does not permit
More information10 Input and output in von Neumann s Computer selected themes
COMPUTER ARCHITECTURE 10 Input and output in von Neumann s Computer selected themes RA - 3 2018, Škraba, Rozman, FRI 10. Input and output in von Neumann s computer I/O devices are used to convert information
More informationChapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer
Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer system. Be able to explain how each component contributes to program execution.
More informationINPUT-OUTPUT ORGANIZATION
INPUT-OUTPUT ORGANIZATION Peripheral Devices: The Input / output organization of computer depends upon the size of computer and the peripherals connected to it. The I/O Subsystem of the computer, provides
More informationLecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )
Lecture 23: Storage Systems Topics: disk access, bus design, evaluation metrics, RAID (Sections 7.1-7.9) 1 Role of I/O Activities external to the CPU are typically orders of magnitude slower Example: while
More informationWhat s An OS? Cyclic Executive. Interrupts. Advantages Simple implementation Low overhead Very predictable
What s An OS? Provides environment for executing programs Process abstraction for multitasking/concurrency scheduling Hardware abstraction layer (device drivers) File systems Communication Do we need an
More informationWeek 11 Programmable Interrupt Controller
Week 11 Programmable Interrupt Controller 8259 Programmable Interrupt Controller The 8259 programmable interrupt controller (PIC) adds eight vectored priority encoded interrupts to the microprocessor.
More information