ICS – Software Engineering Group 1 The PCI Record EPICS Collaboration Meeting l 22-24 May 2002 at BESSY, Germany 22-24 May 2002 at BESSY, Germany David.

Slides:



Advertisements
Similar presentations
1 Peripheral Component Interconnect (PCI). 2 PCI based System.
Advertisements

Lecture 101 Lecture 10: Kernel Modules and Device Drivers ECE 412: Microcomputer Laboratory.
DCM Embedded Software Infrastructure, Build Environment and Kernel Modules A.Norman (U.Virginia) 1 July '09 NOvA Collaboration Mtg.
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
Operating Systems Input/Output Devices (Ch , 12.7; , 13.7)
Interrupts What is an interrupt? What does an interrupt do to the “flow of control” Interrupts used to overlap computation & I/O – Examples would be console.
Outline  Examine some of the H/W supplied with a typical PC and consider the software required to control it.  Introduce Commkit, a software tool that.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
Windows 2000 and Solaris: Threads and SMP Management Submitted by: Rahul Bhuman.
1 I/O Devices Controller: physically controls the devices Devices are diverse and complicated Present simpler interface to OS E.g, convert a linear sector.
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
Processes and Resources
What is an instruction set?
© 2006 Pearson Education, Upper Saddle River, NJ All Rights Reserved.Brey: The Intel Microprocessors, 7e Chapter 15 PC Standard Bus Interfaces WK.
Presented By Chandra Shekar Reddy.Y 11/5/20081Computer Architecture & Design.
OSI and Architecture Independent Device Driver Jim Chen HYTEC ELECTRONICS LIMITED Spring 2013 – Diamond Light Source.
Booster Cogging Teststand Progress Update Kiyomi Seiya, Alex Waller, Craig Drennan August 22, 2012.
Input / Output CS 537 – Introduction to Operating Systems.
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
Computer Organization
Stanford Linear Accelerator Center PowerPC and VXI Kinetic Systems V152 Embedded PowerPC Slot-0 Controller.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
SNS Integrated Control System EPICS Collaboration Meeting SNS Machine Protection System SNS Timing System Coles Sibley xxxx/vlb.
SLAAC Hardware Status Brian Schott Provo, UT September 1999.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
NS Training Hardware.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
CSC 322 Operating Systems Concepts Lecture - 25: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
GBT Interface Card for a Linux Computer Carson Teale 1.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output CS 342 – Operating Systems Ibrahim Korpeoglu Bilkent University.
Linux development on embedded PowerPC 405 Jarosław Szewiński.
Micro-Research Finland Oy Components for Integrating Device Controllers for Fast Orbit Feedback Jukka Pietarinen EPICS Collaboration Meeting Knoxville.
I/O management is a major component of operating system design and operation Important aspect of computer operation I/O devices vary greatly Various methods.
BUS IN MICROPROCESSOR. Topics to discuss Bus Interface ISA VESA local PCI Plug and Play.
2003 Dominic Swayne1 Microsoft Disk Operating System and PC DOS CS-550-1: Operating Systems Fall 2003 Dominic Swayne.
SNS Integrated Control System Timing Clients at SNS DH Thompson Epics Spring 2003.
1 Homework Reading –PAL pp , Continue mp1 –Questions? Continue lab sessions with your section.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Fast Fault Finder A Machine Protection Component.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
12/8/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
Status of the STT Motherboard Testing Evgeny Popkov Boston University 5 Jan
Sep. 17, 2002BESIII Review Meeting BESIII DAQ System BESIII Review Meeting IHEP · Beijing · China Sep , 2002.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Lecture on Central Process Unit (CPU)
Chapter 6 Storage and Other I/O Topics. Chapter 6 — Storage and Other I/O Topics — 2 Introduction I/O devices can be characterized by Behaviour: input,
Migration to PPC at JLab Richard Dickson. VME data interface differences: CPU VMEchip2 VME mvme177 System Local Bus PPC 750 CPU Raven VME mvme2700.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 I/O through system calls Protection.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
1 1999/Ph 514: Supported Hardware EPICS Supported Hardware Ned D. Arnold APS.
Bob Hirosky L2  eta Review 26-APR-01 L2  eta Introduction L2  etas – a stable source of processing power for DØ Level2 Goals: Commercial (replaceable)
Instruction Sets: Characteristics and Functions  Software and Hardware interface Machine Instruction Characteristics Types of Operands Types of Operations.
Part IVI/O Systems Chapter 13: I/O Systems. I/O Hardware a typical PCI bus structure 2.
Computer Networks & Digital Lab project. In cooperation with Mellanox Technologies Ltd. Guided by: Crupnicoff Diego & Gurewitz Omer. Students: Cohen Erez,
PCI 9052 소개 권 동혁. Contents 1.Introduction 2.Major features 3.PCI 9052RDK-LITE.
Intro to PCI 2002 년 1 월 21 일 신 준 헌. Contents PCI bus features General PCI bus model PCI Device vs. Function Specifications.
SNS Integrated Control System ORACLE –JERI DB Generation April 27, 2004 Coles Sibley Jeff Patton.
Introduction to Operating Systems Concepts
CS 286 Computer Organization and Architecture
The PCI bus (Peripheral Component Interconnect ) is the most commonly used peripheral bus on desktops and bigger computers. higher-level bus architectures.
Plug-and-Play.
Operating Systems Chapter 5: Input/Output Management
Presentation transcript:

ICS – Software Engineering Group 1 The PCI Record EPICS Collaboration Meeting l May 2002 at BESSY, Germany May 2002 at BESSY, Germany David Thompson

ICS – Software Engineering Group 2 Outline l Need for PCI bus support and hardware at SNS l PCI fundamentals l pciRecord design l Results l Directions

ICS – Software Engineering Group 3 SNS needed PCI support in EPICS l PPC MVME2100 used at SNS l R3.14 IOC core runs on PC based platforms supported by several OS l PCI bus may supplant VME in some applications »Good platform for FPGA, with FPGA used in SNS for MPS, low level RF, timing and RTDL »BNL is using quad DSP on PMC board »SNS’s Machine Protection System (MPS) uses an FPGA on a PMC board

ICS – Software Engineering Group 4 PCI Bus Basics l 16/32/64 bits sync at 33/66 MHz. »Address & data muxed on same lines »Signaling for bus management, interrupts, different modes l Supports multiple masters l Faster than VME, older PC-ISA busses Can transfer data at 33 M words/sec in burst mode l Supports auto-configuration

ICS – Software Engineering Group 5 PCI Bus Basics – Config space l Used by OS to allocate PCI I/O and memory spaces l Based on geographic addressing PCI standard completely specifies registers in config space l Unique Vendor Ids allow drivers to bind to hardware l Registers in config space include: ID Register – 32 bits, version number, comand and status registers, Interrupt control, and base address registers

ICS – Software Engineering Group 6 PCI Bus Basics – Addressing l OS calls are provided by vxWorks provide access to config space l 6 Memory Base Address Registers support up to 6 memory or I/O windows l Memory maps PCI I/O, memory, and non-cacheable memory mapped devices in CPU’s memory space »Standards based: PCI standards IBM’s CHRP

ICS – Software Engineering Group 7 Accessing PCI l It’s just like other memory mapped I/O? l Not quite, PCI is little-endian byte order »0x is 0x01,0x00,0x00,0x00 or 0x0001,0x0000 »NOT 0x00,0x00,0x00,0x01 l Some PCI-I/O bus bridges support byte swapping l Some PCI-I/O bus bridges do address remaping »If access is char or short the bottom address bits are changed to make the byte order in memory act like big-endian memory

ICS – Software Engineering Group 8 pciRecord - Goals l Quick tool for debugging and testing MPS board prior to developing a driver l Used to drive registers in MPS hardware test fixture l Provide foundation for other PCI hardware device support

ICS – Software Engineering Group 9 MPS Test Screen with pciRecord in use

ICS – Software Engineering Group 10 PCI Record fields – Specifications l VID: The vendor ID of the device l ID: The Vendor’s device ID l NUM: Which of possibly more than one device l BSEL: Which Base Address Register to map (0-5) l OFFS: The memory location relative to the BAR base address l BEND: Endian-ness of data located in the BAR window l BSIZ: 8/16/32 bit reads or writes

ICS – Software Engineering Group 11 PCI Record fields – I/O l VAL: The latest value scanned by the record, accessed according to byte order, size, and offset inputs to the record. l WRI: When put to this field will perform a write to the memory location specified by the record

ICS – Software Engineering Group 12 PCI Record fields Informational l BBAR: The contents of the selected BAR l BEA: The address, in memory space, that the BAR maps l BTYP: The type of memory the bar maps; I/O, Memory, Non-cachable l BWND: The size of the memory window mapped by the selected bar

ICS – Software Engineering Group 13 PCI Record fields Informational – Config space l CSTA: The status register, in config space l CMDR: The command register l ABUS: The PCI bus number in config space l ADEV: The PCI device address in config space

ICS – Software Engineering Group 14 Confessions of a newbe l First pass not 4 char field names »Four character limit is mostly gone in R version of IOC- CORE but will not be officially removed until 3.15 l Did not use DBLINKs on first pass l Did not use “Inst IO” to specify location of data l Thanks goes to Coles Sibley, Ernest Williams, and the “Application Developer's Guide”

ICS – Software Engineering Group 15 Issues l Is the BAR to address translation a vxWorks kernel function or should it be an EPICS library function l Is record support needed for ai,ao,bi,bo,mbbi, etc? »This record support already exists in the MPS driver