Example Networks on chip Freescale: MPC Telematics chip

Similar documents
Chapter 6. Storage and Other I/O Topics

Computer Systems Laboratory Sungkyunkwan University

Computer Architecture Computer Science & Engineering. Chapter 6. Storage and Other I/O Topics BK TP.HCM

Storage. Hwansoo Han

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Chapter 6. Storage and Other I/O Topics. ICE3003: Computer Architecture Fall 2012 Euiseong Seo

Introduction I/O 1. I/O devices can be characterized by Behavior: input, output, storage Partner: human or machine Data rate: bytes/sec, transfers/sec

Chapter 6. Storage and Other I/O Topics

Interconnecting Components

Chapter 6. Storage and Other I/O Topics. ICE3003: Computer Architecture Spring 2014 Euiseong Seo

Chapter 6. Storage & Other I/O

Chapter 6. Storage and Other I/O Topics. Jiang Jiang

Chapter 6. Storage and Other I/O Topics

Replacement Policy: Which block to replace from the set?

Thomas Polzer Institut für Technische Informatik

EN1640: Design of Computing Systems Topic 07: I/O

Systems Architecture II

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

Chapter 6 Storage and Other I/O Topics

Module 6: INPUT - OUTPUT (I/O)

Computer Architecture CS 355 Busses & I/O System

Chapter 8. A Typical collection of I/O devices. Interrupts. Processor. Cache. Memory I/O bus. I/O controller I/O I/O. Main memory.

CS 134. Operating Systems. April 8, 2013 Lecture 20. Input/Output. Instructor: Neil Rhodes. Monday, April 7, 14

INPUT/OUTPUT DEVICES Dr. Bill Yi Santa Clara University

CSE 120. Overview. July 27, Day 8 Input/Output. Instructor: Neil Rhodes. Hardware. Hardware. Hardware

I/O. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 6.5-6

Lecture 13. Storage, Network and Other Peripherals

Hardware OS & OS- Application interface

Readings. Storage Hierarchy III: I/O System. I/O (Disk) Performance. I/O Device Characteristics. often boring, but still quite important

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

CS330: Operating System and Lab. (Spring 2006) I/O Systems

Lecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )

IO System. CP-226: Computer Architecture. Lecture 25 (24 April 2013) CADSL

ECE468 Computer Organization and Architecture. OS s Responsibilities

Computer Science 146. Computer Architecture

Last class: Today: Course administration OS definition, some history. Background on Computer Architecture

I/O Systems. Jo, Heeseung

C02: Interrupts and I/O

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

ECE331: Hardware Organization and Design

Introduction to Input and Output

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

CS 341l Fall 2008 Test #4 NAME: Key

The control of I/O devices is a major concern for OS designers

Module 11: I/O Systems

ECE232: Hardware Organization and Design

QUIZ Ch.6. The EAT for a two-level memory is given by:

Computer System Overview

I/O Handling. ECE 650 Systems Programming & Engineering Duke University, Spring Based on Operating Systems Concepts, Silberschatz Chapter 13

Bus Example: Pentium II

Organisasi Sistem Komputer

Connectivity. Module 2.2. Copyright 2006 EMC Corporation. Do not Copy - All Rights Reserved. Connectivity - 1

COT 4600 Operating Systems Fall Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM


6.9. Communicating to the Outside World: Cluster Networking

CS152 Computer Architecture and Engineering Lecture 20: Busses and OS s Responsibilities. Recap: IO Benchmarks and I/O Devices

CSE 451: Operating Systems Winter I/O System. Gary Kimura

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture

I/O CANNOT BE IGNORED

Final Lecture. A few minutes to wrap up and add some perspective

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Outline of Today s Lecture. The Big Picture: Where are We Now?

Lecture 23. Finish-up buses Storage

COSC121: Computer Systems. Exceptions and Interrupts

5.b Principles of I/O Hardware CPU-I/O communication

CSE 120. Operating Systems. March 27, 2014 Lecture 17. Mass Storage. Instructor: Neil Rhodes. Wednesday, March 26, 14

Computer Systems Architecture I. CSE 560M Lecture 18 Guest Lecturer: Shakir James

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

I/O. Fall Tore Larsen. Including slides from Pål Halvorsen, Tore Larsen, Kai Li, and Andrew S. Tanenbaum)

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2012 Daniel J. Sorin Duke University

Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware.

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Chapter 3. Top Level View of Computer Function and Interconnection. Yonsei University

I/O Buffering and Streaming

Review: Hardware user/kernel boundary

Input/Output Introduction

Introduction. Motivation Performance metrics Processor interface issues Buses

Virtual Memory Input/Output. Admin

CS370 Operating Systems

CS252 Graduate Computer Architecture Spring 2014 Lecture 17: I/O

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University. See: Online P&H Chapter 6.5 6

I/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)

Storage Systems. Storage Systems

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

Input/Output Systems

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Generic Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals

Announcement. Computer Architecture (CSC-3501) Lecture 23 (17 April 2008) Chapter 7 Objectives. 7.1 Introduction. 7.2 I/O and Performance

CMSC 313 Lecture 26 DigSim Assignment 3 Cache Memory Virtual Memory + Cache Memory I/O Architecture

Anne Bracy CS 3410 Computer Science Cornell University

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018

EE282H: Computer Architecture and Organization. EE282H: Computer Architecture and Organization -- Course Overview

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Input / Output. Kevin Webb Swarthmore College April 12, 2018

Lecture 13 Input/Output (I/O) Systems (chapter 13)

Where We Are in This Course Right Now. ECE 152 Introduction to Computer Architecture Input/Output (I/O) Copyright 2011 Daniel J. Sorin Duke University

PC I/O. May 7, Howard Huang 1

ECE 250 / CPS 250 Computer Architecture. Input/Output

OPERATING SYSTEMS CS136

Lecture 10: Simple Data Path

Transcription:

Lecture 22: Interconnects & I/O Administration Take QUIZ 16 over P&H 6.6-10, 6.12-14 before 11:59pm Project: Cache Simulator, Due April 29, 2010 NEW OFFICE HOUR TIME: Tuesday 1-2, McKinley Exams in ACES 3.422 with Gem Naivar Last Time Reliable and Available Storage Memory technology, Disk, RAID, Flash Today How are chips connected to Memory, Disk, & other devices? How does the system perform I/O operations? UTCS 352, Lecture 22 1 Example Networks on chip Freescale: MPC5200 2003 Telematics chip Telematics Domain Embedded processor for cars Combines wireless, graphics, audio, & GPS for integrated applications Embedded Linux OS freescale_mpc5200_diagram.gif (GIF Image, 438x399 pixels) http://www.linuxfor UTCS 352, Lecture 22 2 1

Interconnecting Components Need interconnections between CPU, memory, I/O controllers Bus: shared communication channel Parallel set of wires for data transfer and synchronization Becomes a bottleneck On chip does best with known latencies Performance limited by physical factors Wire length, number of connections Modern alternative high-speed serial connections with switches On Chip Networks UTCS 352, Lecture 22 3 Bus Types Processor-Memory buses Short, high speed Design is matched to memory organization I/O buses Longer, allowing multiple connections Specified by standards for interoperability Connect to processor-memory bus through a bridge UTCS 352, Lecture 22 4 2

Bus Signals and Synchronization Data lines Carry address and data Multiplexed or separate Control lines Indicate data type, synchronize transactions Synchronous Uses a bus clock Asynchronous Uses request/acknowledge control lines for handshaking UTCS 352, Lecture 22 5 I/O Bus Examples Firewire USB 2.0 PCI Express Serial ATA Serial Attached SCSI Intended use External External Internal Internal External Devices per channel 63 127 1 1 4 Data width 4 2 2/lane 4 4 Peak bandwidth Hot pluggable 50MB/s or 100MB/s 0.2MB/s, 1.5MB/s, or 60MB/s 250MB/s/lane 1, 2, 4, 8, 16, 32 300MB/s Yes Yes Depends Yes Yes Max length 4.5m 5m 0.5m 1m 8m Standard IEEE 1394 USB Implementers Forum 300MB/s PCI-SIG SATA-IO INCITS TC T10 UTCS 352, Lecture 22 6 3

Typical x86 PC I/O System UTCS 352, Lecture 22 7 I/O Management I/O is mediated by the OS Multiple programs share I/O resources Need protection and scheduling I/O causes asynchronous interrupts Same mechanism as exceptions OS provides I/O abstractions directly to programs Synchronous I/O programming model: Request I/O (e.g., read file from disk, mouse movement, etc.) Kernel issues I/O device specific commands on application s behalf Kernel then returns control to application UTCS 352, Lecture 22 8 4

I/O Commands at OS level I/O devices are managed by I/O controller hardware Transfers data to/from device OS synchronizes operations with software OS sets command registers Cause device to do something OS queries reserved status registers Indicate what the device is doing and any errors OS queries reserved data registers Write: transfer data to a device Read: transfer data from a device UTCS 352, Lecture 22 9 I/O Register Mapping Memory mapped I/O Reserve a special part of memory for I/O OS read/writes registers and special memory addresses Hardware address decoder distinguishes between application vs I/O memory commands OS uses address translation mechanism to make them only accessible to OS I/O instructions Separate instructions to access I/O registers Can only be executed in kernel mode Example: x86 UTCS 352, Lecture 22 10 5

Polling Hardware periodically checks I/O status register For example, at the beginning of every instruction issue If device ready, do operation If error, take action Common in small or low-performance real-time embedded systems Predictable timing Low hardware cost In other systems, wastes CPU time UTCS 352, Lecture 22 11 Interrupts When a device is ready or error occurs Controller interrupts CPU Interrupt is like an exception But not synchronized to instruction execution stops the current program Invokes OS software handler between instructions Cause identifies the interrupting device restarts the program or a different one Priority interrupts Devices needing more urgent attention get higher priority Can interrupt handler for a lower priority interrupt UTCS 352, Lecture 22 12 6

I/O Data Transfer OS sets status and cause registers status register cause register 15 8 interrupt mask 15 8 6 2 pending interrupts Exception code 4 user mode 1 exception level 0 interrupt enable Polling and interrupt-driven I/O CPU transfers data between memory and I/O data registers Time consuming for high-speed devices Direct memory access (DMA) OS provides starting address in memory I/O controller transfers to/from memory autonomously Controller interrupts CPU on completion or error UTCS 352, Lecture 22 13 DMA/Cache Interaction If DMA writes to a memory block that is cached Cached copy becomes stale If write-back cache has dirty block, and DMA reads memory block Reads stale data Need to ensure cache coherence Flush blocks from cache if they will be used for DMA Or use non-cacheable memory locations for I/O UTCS 352, Lecture 22 14 7

DMA/VM Interaction OS uses virtual addresses for memory DMA blocks may not be contiguous in physical memory Should DMA use virtual addresses? requires controller to do translation If DMA uses physical addresses Must break big transfers into page-sized chunks Or allocate contiguous physical pages for DMA UTCS 352, Lecture 22 15 Measuring I/O Performance I/O performance depends on Hardware: CPU, memory, controllers, buses Software: operating system, database management system, application Workload: request rates and patterns I/O system design can trade-off between response time and throughput Measurements of throughput often done with constrained response-time UTCS 352, Lecture 22 16 8

Transaction Processing Benchmarks Transactions Small data accesses to a DBMS Interested in I/O rate, not data rate Measure throughput Subject to response time limits and failure handling ACID (Atomicity, Consistency, Isolation, Durability) Overall cost per transaction Transaction Processing Council (TPC) benchmarks (www.tcp.org) TPC-APP: B2B application server and web services TCP-C: on-line order entry environment TCP-E: on-line transaction processing for brokerage firm TPC-H: decision support business oriented ad-hoc queries UTCS 352, Lecture 22 17 File System & Web Benchmarks SPEC System File System (SFS) Synthetic workload for NFS server, based on monitoring real systems Results Throughput (operations/sec) Response time (average ms/operation) SPEC Web Server benchmark Measures simultaneous user sessions, subject to required throughput/session Three workloads: Banking, Ecommerce, and Support UTCS 352, Lecture 22 18 9

I/O vs. CPU Performance Amdahl s Law Don t neglect I/O performance as parallelism increases Example Benchmark takes 90s CPU time, 10s I/O time Double the number of CPUs/2 years I/O unchanged Year CPU time I/O time Elapsed time % I/O time now 90s 10s 100s 10% +2 45s 10s 55s 18% +4 23s 10s 33s 31% +6 11s 10s 21s 47% UTCS 352, Lecture 22 19 Summary Interconnects & I/O Buses based on I/O device Future networks on chip OS handles I/O with hardware support for interrupts Next Time Coarse grain parallelism Parallel programs Shared memory parallel architectures Hardware multithreading Reading: P&H 7.1-5 UTCS 352, Lecture 22 20 10