Flexible Hardware Support for Interworking Systems. Till Harbaum Detlef Meier Matthias Prinke. Martina Zitterbart

Size: px
Start display at page:

Download "Flexible Hardware Support for Interworking Systems. Till Harbaum Detlef Meier Matthias Prinke. Martina Zitterbart"

Transcription

1 Flexible Hardware Support for Interworking Systems Till Harbaum Detlef Meier Matthias Prinke Martina Zitterbart fharbaum meier prinke Institute of Operating Systems and Computer Networks TU Braunschweig, Germany Abstract Todays FPGA technology allows recongurable hardware to be integrated into standard PC hardware. With this kind of hardware it is possible to change hardware functionality on-the-y and to remove and insert complete subsystems just by rebooting the congurable parts. Hardware like this has new demands on software that often can't be fullled by the classical device driver concept used in todays operating systems. This paper presents a exible and on-the-y recongurable hardware subsystem for interworking systems together with software integration that allows fast and ecient reconguration of the hardware. It provides a exible integration into a Unix environment. 1 Introduction With the increasing complexity of todays semiconductors, new hardware concepts are evolving. For a long time, processing power was a limited factor in desktop computers and the main focus on hardware enhancement was on the performance of the system CPU. Nowadays, high performance versions of main components like CPU and memory are available even to the low end users (e.g., PC users). Further improvement of the overall system performance requires the integration of new hardware concepts into standard computer systems. Several approaches are currently discussed and investigated to increase system performance: Usage of multiple main CPUs (SMP). By increasing the number of CPUs, the overall performance can be raised signicantly. However, system limitations like memory bandwidth will limit the maximum number of CPUs to a very small number [4]. The integration of special purpose hardware (e.g., 3D accelerators, video encoders and decoders) can increase the performance of dedicated tasks, but is of limited or of no use for other applications [3]. By inserting special purpose CPUs and DSPs, eective support for very CPU intense operations (e.g., video and audio lters) can be added to the system [1]. The integration of special purpose subunits into the system CPU itself (e.g., MMX, 3D-Now...) forms a similar approach. It does not allow independent scaling of CPU and special purpose hardware. Moreover, it often limits/aects the functionality of the main CPU (e.g. MMX and 3D-Now aect the Floating- Point-Performance) [2, 5].

2 Multiple Special seperate proprietary re-congurable main CPUs purpose CPUs and CPU hardware (SMP) hardware DSPs extensions (FPGAs) Performance high very high high high high Scalability very low low high very low very high Flexibility high very low high low very high Table 1: Current technologies to increase system performance Reprogrammable hardware (FPGAs) can perform various tasks at a very high performance, but have limited storage capacity and always lack performance in comparison with special purpose hardware [6]. However, they provide more exibility than dedicated hardware because they can be reprogrammed and, thus, be exibly adapted to a specic task. Most of the approaches listed in table 1 are already available to end-users. Each of it has its limitations. A exible high end solution for interworking systems will try to combine the advantages of several very exible dierent hardware technologies into a single system [7]. This paper presents FHiPPs, a exible general purpose hardware for use in standard PC systems. Since FHiPPs was built to be as exible as possible, it includes a CPU with local memory, a DSP and several FPGAs to combine the most exible and scalable hardware currently available. An important issue in this context is the integration of new hardware concepts into the hosts operating system. The classic hardware integration is based on a device driver. This approach works well for the integration of the pre-dened functionality of a special purpose hardware into the kernel. However, the classic device driver concept is limited with respect to functionality. It usually supports hardware with a predened functionality. Moreover, the installation of device drivers often includes manual interaction with the user and a reset of the whole system. It, thus, cannot be loaded during regular operation of the system. A exible hardware that can be recongured on-the-y needs a software integration that supports hardware re-conguration without user interaction. Furthermore, installation and removal of hardware specic functions need to be supported without interference to the normal operation to the system. Seamless reconguration and operating system integration of FHiPPs into the Linux operating system forms a main part of the presented paper. Applications for FHiPPs hardware range from hardware support of active networking [9, 12] over dedicated hardware support for classic router bottle necks [10, 8, 11] to support of hardware and software co-design of protocol engines. The paper is structured as followed. In section 2 the FHiPPs hardware is outlined. A exible software integration of FHiPPs is described in section 3. The paper closes with the outlook in section 4. 2 FHiPPs - Flexible High Performance Platform The exible hardware platform FHiPPs is an approach that combines the exibility of standard microprocessor technology with the performance potential of FPGA designs and digital signal processors. FHiPPs is composed of several units that can operate concurrently. Each unit comprises an individual bus as well as interfaces to the other units (cf., gure 1). The current FHiPPs implementation consists of two separate PCI boards: The i960 based main unit with the FPGA board and ATM interface. A DSP based unit. 2.1 The i960 unit The i960 (cf., gure 2) forms the basis of FHiPPs. It has a local i960 I/O processor to

3 SRAM FPGA 0 Switch Control FPGA 4 ATM NET TI DSP TMS32C080 FPGA 1 FPGA 2 FPGA 5 FPGA 6 1MB RAM ATM interface DSP unit FIFO FPGA 3 FPGA board glue logic MACH4-256 FIFO FPGA 7 NEC SAR Controller ATM interface PCI bus i960 bus PCI based host system PCI bus PLX-PCI9060 i960 based main unit intel i960 io processor 32MB DRAM Figure 1: The exible Platform perform general setup and control tasks for the other units integrated into the system. The i960 is connected to the PCI bus via the PLX9060 PCI interface chip. This chip allows various types of interaction between the FHiPPs and the host system. The main interface features are: Direct mapping of the i960 address space into the host address space. Interrupt handling from i960 to PCI and from PCI to i960. Several dual-port mailbox registers for simple bidirectional communication. Interrupt driven I/O ports (doorbell registers) from PCI to i960 and from i960 to PCI. The PLX9060 implements fast buered I/O in both directions. With the address mapping capabilities it enables the host to directly access the address space of the i960 unit, including the i960 memory and all other subunits (FPGA, ATM,... ). The advanced interrupt functions allow fast asynchronous communication between FHiPPs and the host system without appreciable delay. The interrupt functionality of the PLX9060 can be shared between all units attached to the i960 bus and the squall interface (cf., gure 1). It allows each unit to transfer data to and from the the host without interaction with the i960. Therefore, the i960 can be used to setup the subsystems and initialize direct communication between host and subsystem. The squall bus interface of the i960 unit allows an easy expansion. This 32 bit bus interface operates at 33 MHz and oers slave bus mastering as well as burst operations with a data rate of up to 160 Mbytes/s. The squall bus is mapped into the i960 address space and can be used transparently via the i960 bus and the PCI bus, allowing direct access of the host CPU to squall slaves and master bus accesses from the squall slave units to the host address space (e.g. direct transfers from the ATM interface into the hosts main memory). Another main feature of the i960 board is a local 32 Mbytes DRAM array that can be used for program and data storage for the i960 as well as for the subunits (FPGA, ATM). It is possible to map this memory directly into the user space of the host machine. This enables direct and simple interfacing with standard applications running on the host. 2.2 The FPGA board During the development of FHiPPs, the main focus was on the design of the FPGA board (cf., gure 3). It supports multiple concurrently operating FPGAs with local bus interface, I/O

4 Squall bus (to FPGA/ATM) Squall interface DRAM/IO controller RAS/ CAS 16 MB DRAM bank 0 16 MB DRAM bank 1 DRAM 33Mhz / 32 bit i960 local bus PCI bus (to host/dsp) PLX9060 PCI interface i960 CPU Figure 2: The i960 unit memory and buer memory each. The FPGA board consists of nine Xilinx 4020e (optional Xilinx 4044ex) FPGAs. Each FPGA is connected to the central switch matrix via two synchronous unidirectional eight bit busses. The switch matrix is controlled by the switch controller which is one of the FPGAs. The switch controller is connected to each of the other FPGAs by several control lines. A FPGA requests a connection to a particular destination via these lines. The switch controller sets up the connections as soon as the required destination is available and acknowledges the connection which is then available to the requesting FPGA. The remaining eight FP- GAs can be exibly used for high performance processing of user tasks. To support fast and ecient I/O, each FPGA has a local dual-port RAM. It is used to buer incoming messages until the FPGA is ready to handle the received data. An additional 2 Mbytes of static RAM is available for further buering. This RAM may be used to support complex state machines inside the FPGA or to store frequently accessed data locally instead of storing it in the i960 main memory. The FPGA board interfaces to the i960 units squall bus. The translation between the synchronous 8 bit bus interface used with the FPGAs and the asynchronous 32 bit squall interface is done by a FIFO. It uses high speed DMA transfers to the squall interface and does the bus width adaption from 32 to 8 bits. The FIFO stores messages up to 2048 quadwords and is controlled by a DMA controller and the switch controller in a way similar to the FPGA interfaces. Thus, the FPGAs can request and use a connection to the squall interface the same way, they use connections between each other. Once a connection to the squall interface is established, the DMA interface transfers the data into the i960 main memory and informs the i960 and optionally the host processor of the arrival of new data. This design supports hardware/software co-design in a very comfortable way. Due to the generic interface programs running on FPGAs can transparently communicate with another FPGA, the i960 or the host CPU. The FPGAs are clocked by a phase locked loop (PLL). The clock rate can be programmed between 1 and 32 MHz. Data is transferred between the FPGAs at a rate corresponding to the FPGA clock rate. This results in a maximum throughput of about 2*32 Mbytes/s between the FPGAs and the squall interface. The squall interface uses DMA bus mastering and has a sustained data transfer rate of 133 Mbytes/s to the i960 bus. This way, the asynchronous CPU bus does not represent a bottleneck for hardware/software communication between the FPGAs and the i960 CPU. FPGAs have limited debugging capabilities. To support comfortable debugging, several debugging units were designed. The main debugging tool is the vampire unit (cf., gure 3). It attaches to all nine FPGAs and the printer port of another computer. The vampire allows to capture the state of all FPGAs at a specic moment and to transfer the state into the other PC. With the appropriate software annotation

5 Debugging Unit FPGA Unit 2MB static RAM FPGA 0 Destination ID 5 FPGA 8 Request Xilinx 4020 Acknowledge (Xilinx 4044ex) Data Transmit dual-port RAM Data Receive 8 8 Switch Controller Xilinx 4020 Buffer i/o buffer 10 x 10 Switch 2MB static RAM FPGA 7 Xilinx 4020 (Xilinx 4044ex) Switch Control Debug Controller dual-port RAM 8 8 DMA Controller output queue input queue mux 32 Bus Interface Debug Interface Figure 3: The FPGA board tools, the current state of all FPGAs can be reconstructed. The reconstructed state together with the FPGA design description allows reconstruction of all signals inside the FPGA and can be used like a debugger for the FPGA compiler. While this tool is useful for static analysis, the dynamic state changes within the FPGAs can be monitored via debug interfaces which connect the FHiPPs to a logic analyzer and a LC display. 2.3 The DSP unit and the ATM interface The DSP unit and the ATM interface are othe-shelf components. They are fully integrated into the FHiPPs unit. The ATM interface allows fast I/O directly from the FHiPPs and the DSP unit is mainly used for audio- and videoprocessing. 3 Integration of FHiPPs FHiPPs can be integrated into PCI-based hosts. A complete FHiPPs (cf., gure 4) can be run independent from the host system. Due to a serial RS232 and an extra power connector on the i960 unit it is possible to power the system externally and use it without any host system at all. However, FHiPPs was designed to support a host and, therefore, needs to be integrated in the hosts operating system. Due to its open source concept and its easy expand-ability, Linux was chosen as the operating system for a prototypical integration of FHiPPs. Several components are needed to integrate FHiPPs into the Linux system: Device drivers and their front-ends to program the FPGAs and to download code to the DSP and the i960. Compilers to generate code for the i960, DSP and FPGAs. Drivers to include support for new functions for the FPGAs into the kernel. The rst two categories are standard applications. The main focus with the FHiPPs is on the exible integration of new functionality into the system kernel during runtime. Standard hardware has limited capabilities and, therefore, a device driver can be written to support all these predened functions. In contrast exible hardware like FHiPPs or P4 [6] can be modied by re-conguring the FPGAs and the hardware can provide a completely new functionality. The classic device driver concept

6 Figure 4: The FHiPPs (without DSP unit) does not work in such an environment since the update of functionality should happen: Without user interaction (the user may implicitely request a new functionality by starting a new application, but retrieval and download of new hardware description code should not require manual user interaction). Without the need to reboot the host. Without limiting the usage of the system during hardware reconguration. Therefore, a concept is needed that supports re-conguration of the hardware on-the-y as well as exible integration of new device support routines. The proposed approach implements such a exible system integration. The basic concept is not limited to a special functionality. The current implementation, however, focuses on the support for active networking. It, therefore, was integrated into the service module concept of the AMnet approach [12]. 3.1 Hardware Applets Direct access to hardware requires system privileges. Therefore, new code segments must be integrated into the system kernel in order to setup and support a new hardware functionality. Setup of a new hardware functionality consists of three major steps: Installation or modication of hardware functionality by downloading FPGA description les and/or DSP and CPU code fragments to the hardware. Boot or reboot parts of the congurable hardware in order to setup CPU states, initialize memory or bring FPGA state machines into an initial state. Install drivers in the hosts operating system in order to allow transmission and reception of data to and from the hardware. The new concept allows to include all these functions into one le. This le is called a happlet (hardware applet). It contains all necessary code fragments and hardware description codes to install or modify the required hardware functionality. This part of the happlet is called the hardware code segment. The other part of the happlet contains the host code segment. This segment holds all information needed to transfer the hardware code onto the hardware, to re-initialize it and to install I/O routines for the new hardware functionality. Access to the hardware may be implemented directly by the

7 happlet or via some device driver. It will often be useful to have some generic functions for the exible hardware available in a standard device driver. These functions will for example be able to reprogram the FPGAs or to boot some program onto the CPU/DSP of the subsystem. Other more specic or timing critical functions are integrated directly into the happlets host code. This can be highly optimized for the hardware functionality implemented by this happlet. Other more general functions required by a happlet, such as I/O buering and the like are provided by the hardware manager. Several ways of implementing service routines for happlets are supported: Highly optimized routines are included into the happlet. These routines can be optimized for the specic purpose of the happlet. This will mainly be hardware I/O functions like interrupt control and fast data transfer. General hardware specic functions may be included into a device driver. These functions are unique for each hardware and are provided for all happlets using this specic hardware. This kind of code is used for initializing and resetting the hardware. Generic hardware independent functions are provided by the Hardware Manager. This code will be used for buer and I/O control and to interface with the software interface of the HW Manager. User space based I/O is supported via the Hardware Manager. This kind of code is used to start a code segment in user space to easily integrate existing software into the concept. The demo happlet uses an user space program to reset the FHiPPs hardware and to perform a self-test. 3.2 Hardware Manager The core of the exible hardware integration is the hardware manager (cf., gure 5). The hardware manager is a generic pseudo device driver that is included into the system kernel. It uses a simple software interface for data transfer between software-based functions and the hardware. It also supports exible insertion and removal of new happlets. Additionally the hardware manager monitors the usage of the dierent hardware units and optionally with a resource manager for proper system-wide resource management. The Hardware Manager is integrated into the Linux kernel. It implements a pseudo device interface (/dev/happlet). This interface can be used by programs to request and access dedicated hardware services. A program starts interaction with the Hardware Manager by opening the pseudo device and requesting a specic function. If this functionality is not already available, the Hardware Manager loads the requested happlet into the system kernel. It sets up a generic interface structure to the happlet and initializes I/O buering for this happlet. Finally the happlets initialization routine is executed. It is responsible for the following tasks: It checks the availability of the required hardware. It initializes and boots the hardware. It informs the Hardware Manager about the buer and I/O requirements of the happlet. And it informs the Hardware Manager about the implemented I/O functions realized in this happlet. After the hardware manager is informed about the buer and I/O capabilities of an happlet, the happlet installation is nished. The calling program may now set up buers and I/O ports to interface with the happlet. Allowing the calling program to allocate buers instead of delegating all I/O buering to the hardware manager has the advantage of reduced I/O overhead. Since all buers are allocated by the calling program (which is a user space program), all data can directly be transfered from the user space onto the hardware and back from the hardware directly into user space. No additional copying between kernel and user space is required.

8 User interface application 1 application 2 appl. area download job requests, data IO hw host code code happlet a Hardware Manager pseudo device /dev/happlet OS kernel hw code host code happlet b hw host code code preprocessing x (host code) preprocessing y (host code) happlet c download device driver 1 device driver 2 host hardware 1 hw module x (hw code) hardware 2 hw module y (hw code) hardware units Figure 5: The exible Platform When the setup call succeeded the calling program may start sending data to the Hardware Manager. All data from and to the hardware is forwarded through the hardware manager and, thus, may be scheduled in cooperation with a resource manager (like the AMnet Manager). Since hardware is a limited resource, it can be managed by the hardware manager individually for each application allowing eective hardware resource management. Therefore, the hardware manager constantly monitors the usage of all hardware subsystems and forwards information on the current load to the resource manager. 3.3 The calling application The concept requires the calling application to interact with various unknown hardware units. Therefore, it must not implement any hardware specic tasks, but needs to interface to the Hardware Manager via the pseudo device. To allow a specic task to be executed in hardware, the application needs to open the pseudo device and request a specic functionality via the ioctl system call. The Hardware Manager sets up all required interface structures and informs the application about number and kind of the established interfaces. Once the ioctl call succeeded, the application can be sure that the happlet was successfully installed and may send and receive data to the hardware and receive the output. The same hardware can be used by dierent happlets at once (e.g. eight dierent FPGA based happlets may be run simultaneously on the FHiPPs). Furthermore, each happlet may be used by several applications at once (e.g. block oriented lter operations will allow the happlet to accept lter jobs from dierent applications). Therefore, the Hardware Manager has the ability to re-congure portions (e.g. a single FPGA) of the hardware on-the-y without aecting other parts of the hardware (other FP- GAs) or other happlets. Each happlet is capable of simultaneously handling several requests. This feature was not included into the hardware manager since task scheduling and buering inside the happlet can be handled more ef- ciently by the happlet itself. E.g. complex lters/transcoders (as needed for video encoding) often do not work on a xed data block size and require detailed information on the data to be transformed for ecient scheduling and buering.

9 3.4 Installation of a happlet To allow the installation of a specic happlet, it must available on the local system (cf., gure 5) or on a happlet server. Download of happlets onto the system or setup of a connection to a happlet server requires manual user interaction at system setup time only. Happlets use a unique naming scheme, allowing to determine from an applications job request whether the requested happlet is already available on the local system. Advanced environments will allow to retrieve missing happlets from happlet servers. This load-on-demand over the internet will allow happlet providers to maintain an up-to-date pool of happlets and to update happlets without notication of the user. Once an application requests a happlet that is available either locally or on a happlet server, the Hardware Manager installs the host code of it on the host system. The happlets host code is now used to initialize the hardware, to perform some hardware tests and to install the hw code of this happlet on the hardware. Furthermore, information on the number of interfaces required for this happlet and the number and size of I/O buers is returned to the calling application. The application has to set up the required number of I/O connections and to allocate buer space in order to complete the installation of the happlet. After termination of all applications using a specic happlet, it is closed. Upon close the happlet may bring the allocated hardware resources into an idle state. All buers and the hardware are freed for further use by other happlets. 3.5 Performance considerations The goal of the exible hardware integration is to increase the overall system performance. Therefore, the software integration must support fast and ecient data transfers to the hardware units. The two basic I/O concepts for data transfer currently used in operating systems are synchronous and asynchronous transfer. While synchronous I/O is easy to implement and is supported by the classic device driver concept, a fast and ecient asynchronous approach allows for higher performance. The asynchronous approach allows a happlet to copy data directly from the hardware into the user space without delay. With FHiPPs, asynchronous communication as well as synchronous I/O are supported. Thus, it can be selected between easy happlet implementation or maximum performance. Additionally, for some hardware units (e.g. the FHiPPs i960 unit) it is possible to map the hardware memory into the user address space. This feature may be used to allow hardware and software service modules to operate on the same data. The current approach does not support this feature, since most service modules do not work on static data and require to copy the data, anyway. Furthermore, access to memory-mapped external hardware is much slower than access to the hosts main memory. Forcing software-based service modules to work on I/O mapped memory would decrease the overall performance instead of increasing it due to reduced data transfers. The exible support is currently available on the Linux platform. First tests show that the setup delay mostly depends on the exible hardware used. The FHiPPs contains i960- microprocessor based parts which can be recon- gured and rebooted in at most two seconds. Reprogramming of an FPGA takes about 35 milliseconds but sometimes requires to install new code on the i960 and, hence, takes up to two seconds to reboot the i960, too. After this time a locally available happlet can be installed into the host system within several milliseconds The time required for this installation depends on the mechanism used to integrate the happlet code into the systems kernel. The Linux version uses the kernel module loader which loads kernel modules within at most 100 milliseconds if the module is locally available. Future versions with access to a happlet server and the download of happlets thru the Internet will slow down the initial setup of a happlet signicantly. The consequences of this delay will depend on the application. The current implementation is used for active networking. The happlets installed for active networking (lters, transcoders,... ) are used for longer periods (e.g. video lters are used for the whole duration of the video connection) and setup times of a few seconds can be tolerated.

10 For applications which require fast setup, local availability of happlets is strongly recommended, a technique that allows to transfer new code segments to the i960 unit without rebooting the i960 may be required, too. This will reduce the setup delay to a few milliseconds even for happlets containing both, i960 and FPGA code. 4 Summary and outlook The FHiPPs hardware platform and its software integration were successfully integrated into the Linux system kernel. Todays operating systems (Linux) already include concepts like dynamic loadable device drivers that can be adapted and extended to support seamless integration of exible hardware by introducing an unied pseudo device interface. After the proposed approach has been implemented current work focuses on the integration of the FHiPPs hardware/software concept into the AMnet active networking project [12]. Other applications that are currently applied to the FHiPPs are hardware support for RSVP routers and the support of HW/SW co-design of protocols. Future applications of the FHiPPs will be general support for multimedia applications and further support for inter-working systems. References [1] R. J. Clarke. Digital Compression of Still Images and Video. Academic Press Inc., [2] Intel Corp. MMX Technology at a Glance. Technical report, June [3] S3 Corp. Savage3D Accelerator: A Comprehensive Architecture for Superior PC Video. Technical report, November [4] Alan Cox. An Implementation of Multiprocessor Linux. Technical report, [5] Advanced Micro Devices. Inside 3DNow! Technology. Technical report, February [6] I. Hadzic and J. M. Smith. On-the-y Programmable Hardware for Networks. In Proc. Globecom '98, Sidney, Australia, November IEEE. [7] W. H. Mangione-Smith, B. Hutchings, D. Andrews, A. DeHon, C. Ebeling, R. Hartenstein, O. Mencer, J. Morris, K. Palem, V. K. Prasanna, and H. A.E. Spaanenburg. Seeking solutions in congurable computing. In IEEE Computer Magazine, pages 38{43. IEEE, December [8] S. Nilsson and G. Karlsson. Fast address lookup for internet routers. In Proc. Broadband Communications, University of Stuttgart, April IFIP. [9] D. L. Tennenhouse, J. M. Smith, W. D. Sincoskie, D. J. Wetherall, and G. J. Minden. A Survey of Active Network Research. IEEE Communications Magazine, 35(1):80{86, January [10] T.Harbaum, D. Meier, M. Zitterbart, and D. Brokelmann. Hardware Assist for IPv6 Routing Table Lookup. In SYBEN '98, Zurich, Switzerland, May [11] M. Waldvogel, G. Varghese, J. Turner, and B. Plattner. Scalable high speed ip routing lookups. In Proceedings ACM SIGCOMM '97, Cannes, France, September [12] R. Wittmann and M. Zitterbart. AMnet: Active Multicasting Network. In Proc. of Intern. Conf. on Communications (ICC'98), Atlanta, GA, USA, June IEEE.

A Freely Congurable Audio-Mixing Engine. M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster

A Freely Congurable Audio-Mixing Engine. M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster A Freely Congurable Audio-Mixing Engine with Automatic Loadbalancing M. Rosenthal, M. Klebl, A. Gunzinger, G. Troster Electronics Laboratory, Swiss Federal Institute of Technology CH-8092 Zurich, Switzerland

More information

A Scalable Multiprocessor for Real-time Signal Processing

A Scalable Multiprocessor for Real-time Signal Processing A Scalable Multiprocessor for Real-time Signal Processing Daniel Scherrer, Hans Eberle Institute for Computer Systems, Swiss Federal Institute of Technology CH-8092 Zurich, Switzerland {scherrer, eberle}@inf.ethz.ch

More information

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

Technische Universitat Munchen. Institut fur Informatik. D Munchen. Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl

More information

PCI to SH-3 AN Hitachi SH3 to PCI bus

PCI to SH-3 AN Hitachi SH3 to PCI bus PCI to SH-3 AN Hitachi SH3 to PCI bus Version 1.0 Application Note FEATURES GENERAL DESCRIPTION Complete Application Note for designing a PCI adapter or embedded system based on the Hitachi SH-3 including:

More information

DESIGN AND IMPLEMENTATION OF AN AVIONICS FULL DUPLEX ETHERNET (A664) DATA ACQUISITION SYSTEM

DESIGN AND IMPLEMENTATION OF AN AVIONICS FULL DUPLEX ETHERNET (A664) DATA ACQUISITION SYSTEM DESIGN AND IMPLEMENTATION OF AN AVIONICS FULL DUPLEX ETHERNET (A664) DATA ACQUISITION SYSTEM Alberto Perez, Technical Manager, Test & Integration John Hildin, Director of Network s John Roach, Vice President

More information

With Fixed Point or Floating Point Processors!!

With Fixed Point or Floating Point Processors!! Product Information Sheet High Throughput Digital Signal Processor OVERVIEW With Fixed Point or Floating Point Processors!! Performance Up to 14.4 GIPS or 7.7 GFLOPS Peak Processing Power Continuous Input

More information

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

I/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 information

Hardware Implementation of GA.

Hardware Implementation of GA. Chapter 6 Hardware Implementation of GA Matti Tommiska and Jarkko Vuori Helsinki University of Technology Otakaari 5A, FIN-02150 ESPOO, Finland E-mail: Matti.Tommiska@hut.fi, Jarkko.Vuori@hut.fi Abstract.

More information

Today: I/O Systems. Architecture of I/O Systems

Today: I/O Systems. Architecture of I/O Systems Today: I/O Systems How does I/O hardware influence the OS? What I/O services does the OS provide? How does the OS implement those services? How can the OS improve the performance of I/O? Lecture 20, page

More information

A programming environment to control switching. networks based on STC104 packet routing chip 1

A programming environment to control switching. networks based on STC104 packet routing chip 1 A programming environment to control switching networks based on STC104 packet routing chip 1 I.C. Legrand 2, U. Schwendicke, H. Leich, M. Medinnis, A. Koehler, P. Wegner, K. Sulanke, R. Dippel, A. Gellrich

More information

An HS Link Network Interface Board for Parallel Computing

An HS Link Network Interface Board for Parallel Computing Carlos Ungil, Universidad de Zaragoza An S ink Network Interface Board for Parallel Computing A.Cruz,J.Pech,A.Tarancón,C..Ullod,C.Ungil An S ink Network Interface Board for Parallel Computing 1 RTNN attice

More information

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved Hardware Design MicroBlaze 7.1 This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List the MicroBlaze 7.1 Features List

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 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 information

Dept. of Computer Science, Keio University. Dept. of Information and Computer Science, Kanagawa Institute of Technology

Dept. of Computer Science, Keio University. Dept. of Information and Computer Science, Kanagawa Institute of Technology HOSMII: A Virtual Hardware Integrated with Yuichiro Shibata, 1 Hidenori Miyazaki, 1 Xiao-ping Ling, 2 and Hideharu Amano 1 1 Dept. of Computer Science, Keio University 2 Dept. of Information and Computer

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems COP 4610: Introduction to Operating Systems (Spring 2015) Chapter 13: I/O Systems Zhi Wang Florida State University Content I/O hardware Application I/O interface Kernel I/O subsystem I/O performance Objectives

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

AMnet: Heterogeneous Multicast Services based on Active Networking

AMnet: Heterogeneous Multicast Services based on Active Networking OPENARCH 99 DRAFT VERSION 16.9.1999 9:49 1 : Heterogeneous Multicast Services based on Active Networking Bernard Metzler Technical University Berlin metzler@prz.tu-berlin.de Till Harbaum, Ralph Wittmann,

More information

in Berlin (Germany) Sponsored by Motorola Semiconductor NEC Electronics (Europe) Siemens Semiconductors Organized by

in Berlin (Germany) Sponsored by Motorola Semiconductor NEC Electronics (Europe) Siemens Semiconductors Organized by 4 th international CAN Conference icc 1997 in Berlin (Germany) Sponsored by Motorola Semiconductor NEC Electronics (Europe) Siemens Semiconductors Organized by CAN in Automation (CiA) international users

More information

The S6000 Family of Processors

The S6000 Family of Processors The S6000 Family of Processors Today s Design Challenges The advent of software configurable processors In recent years, the widespread adoption of digital technologies has revolutionized the way in which

More information

Chapter 13: I/O Systems

Chapter 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

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware

ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware ReconOS: Multithreaded Programming and Execution Models for Reconfigurable Hardware Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn {enno.luebbers, platzner}@upb.de Outline

More information

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System?

Chapter 2: Computer-System Structures. Hmm this looks like a Computer System? Chapter 2: Computer-System Structures Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure of a computer system and understanding

More information

Uniprocessor Computer Architecture Example: Cray T3E

Uniprocessor Computer Architecture Example: Cray T3E Chapter 2: Computer-System Structures MP Example: Intel Pentium Pro Quad Lab 1 is available online Last lecture: why study operating systems? Purpose of this lecture: general knowledge of the structure

More information

Computer-System Organization (cont.)

Computer-System Organization (cont.) Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,

More information

[1] C. Moura, \SuperDLX A Generic SuperScalar Simulator," ACAPS Technical Memo 64, School

[1] C. Moura, \SuperDLX A Generic SuperScalar Simulator, ACAPS Technical Memo 64, School References [1] C. Moura, \SuperDLX A Generic SuperScalar Simulator," ACAPS Technical Memo 64, School of Computer Science, McGill University, May 1993. [2] C. Young, N. Gloy, and M. D. Smith, \A Comparative

More information

header fields forwarding bypass FIFO IIF OIF Switching Array ATM link ATM link B PE... B PE Controller Control paths Data paths

header fields forwarding bypass FIFO IIF OIF Switching Array ATM link ATM link B PE... B PE Controller Control paths Data paths On-the-y Programmable Hardware for Networks Ilija Hadzic and Jonathan M. Smith Distributed Systems Laboratory, University of Pennsylvania ihadzic@ee.upenn.edu, jms@cis.upenn.edu Abstract Ongoing research

More information

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System? Introduction CSCI 315 Operating Systems Design Department of Computer Science What is an Operating System? A Modern Computer System Computer System Components Disks... Mouse Keyboard Printer 1. Hardware

More information

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

Chapter 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 information

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

CS330: Operating System and Lab. (Spring 2006) I/O Systems CS330: Operating System and Lab. (Spring 2006) I/O Systems Today s Topics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

Universal Serial Bus Host Interface on an FPGA

Universal Serial Bus Host Interface on an FPGA Universal Serial Bus Host Interface on an FPGA Application Note For many years, designers have yearned for a general-purpose, high-performance serial communication protocol. The RS-232 and its derivatives

More information

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip

Reducing Hit Times. Critical Influence on cycle-time or CPI. small is always faster and can be put on chip Reducing Hit Times Critical Influence on cycle-time or CPI Keep L1 small and simple small is always faster and can be put on chip interesting compromise is to keep the tags on chip and the block data off

More information

Chapter 12: I/O Systems

Chapter 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 information

Chapter 13: I/O Systems

Chapter 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 information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 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 information

ROBIN Functional demonstrator of the ATLAS Trigger / DAQ Read-Out Buffer O.Gachelin, M.Huet, P.Le Dû, M.Mur C.E.A. Saclay - DAPNIA

ROBIN Functional demonstrator of the ATLAS Trigger / DAQ Read-Out Buffer O.Gachelin, M.Huet, P.Le Dû, M.Mur C.E.A. Saclay - DAPNIA 1 ROBIN Functional demonstrator of the ATLAS Trigger / DAQ Read-Out Buffer O.Gachelin, M.Huet, P.Le Dû, M.Mur C.E.A. Saclay - DAPNIA 2 Basic principles Data flow : output < input including L2 and L3 according

More information

The Nios II Family of Configurable Soft-core Processors

The Nios II Family of Configurable Soft-core Processors The Nios II Family of Configurable Soft-core Processors James Ball August 16, 2005 2005 Altera Corporation Agenda Nios II Introduction Configuring your CPU FPGA vs. ASIC CPU Design Instruction Set Architecture

More information

Introduction to Operating Systems. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter Introduction to Operating Systems Chapter 1 1.3 Chapter 1.5 1.9 Learning Outcomes High-level understand what is an operating system and the role it plays A high-level understanding of the structure of

More information

Alternative Ideas for the CALICE Back-End System

Alternative Ideas for the CALICE Back-End System Alternative Ideas for the CALICE Back-End System Matthew Warren and Gordon Crone University College London 5 February 2002 5 Feb 2002 Alternative Ideas for the CALICE Backend System 1 Concept Based on

More information

Frank Miller, George Apostolopoulos, and Satish Tripathi. University of Maryland. College Park, MD ffwmiller, georgeap,

Frank Miller, George Apostolopoulos, and Satish Tripathi. University of Maryland. College Park, MD ffwmiller, georgeap, Simple Input/Output Streaming in the Operating System Frank Miller, George Apostolopoulos, and Satish Tripathi Mobile Computing and Multimedia Laboratory Department of Computer Science University of Maryland

More information

StrongARM** SA-110/21285 Evaluation Board

StrongARM** SA-110/21285 Evaluation Board StrongARM** SA-110/21285 Evaluation Board Brief Datasheet Product Features Intel offers a StrongARM** SA-110/21285 Evaluation Board (EBSA-285) that provides a flexible hardware environment to help manufacturers

More information

CS370 Operating Systems

CS370 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 information

NET. A Hardware/Software Co-Design Approach for Ethernet Controllers to Support Time-triggered Trac in the Upcoming IEEE TSN Standards

NET. A Hardware/Software Co-Design Approach for Ethernet Controllers to Support Time-triggered Trac in the Upcoming IEEE TSN Standards NET A Hardware/Software Co-Design Approach for Ethernet Controllers to Support Time-triggered Trac in the Upcoming IEEE TSN Standards Friedrich Groÿ Till Steinbach Franz Korf Thomas C. Schmidt Bernd Schwarz

More information

1 PC Hardware Basics Microprocessors (A) PC Hardware Basics Fal 2004 Hadassah College Dr. Martin Land

1 PC Hardware Basics Microprocessors (A) PC Hardware Basics Fal 2004 Hadassah College Dr. Martin Land 1 2 Basic Computer Ingredients Processor(s) and co-processors RAM main memory ROM initialization/start-up routines Peripherals: keyboard/mouse, display, mass storage, general I/O (printer, network, sound)

More information

I/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 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 information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

More information

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a Asynchronous Checkpointing for PVM Requires Message-Logging Kevin Skadron 18 April 1994 Abstract Distributed computing using networked workstations oers cost-ecient parallel computing, but the higher rate

More information

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen

Compute Node Design for DAQ and Trigger Subsystem in Giessen. Justus Liebig University in Giessen Compute Node Design for DAQ and Trigger Subsystem in Giessen Justus Liebig University in Giessen Outline Design goals Current work in Giessen Hardware Software Future work Justus Liebig University in Giessen,

More information

Nitro240/260 CPU Board Scalable 680x0 VME board for I/O intensive applications

Nitro240/260 CPU Board Scalable 680x0 VME board for I/O intensive applications Nitro240/260 CPU Board Scalable 680x0 VME board for I/O intensive applications Nitro260 features a 50 MHz MC68060 CISC processor with superscalar pipeline architecture for maximum integer and floating

More information

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security Input/Output Today Principles of I/O hardware & software I/O software layers Disks Next Protection & Security Operating Systems and I/O Two key operating system goals Control I/O devices Provide a simple,

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

Simplify System Complexity

Simplify System Complexity 1 2 Simplify System Complexity With the new high-performance CompactRIO controller Arun Veeramani Senior Program Manager National Instruments NI CompactRIO The Worlds Only Software Designed Controller

More information

PCI-4IPM Revision C. Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA

PCI-4IPM Revision C. Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA PCI-4IPM Revision C Second Generation Intelligent IP Carrier for PCI Systems Up to Four IndustryPack Modules Dual Ported SRAM, Bus Master DMA REFERENCE MANUAL 781-21-000-4000 Version 2.1 April 2003 ALPHI

More information

Performance Enhancement for IPsec Processing on Multi-Core Systems

Performance Enhancement for IPsec Processing on Multi-Core Systems Performance Enhancement for IPsec Processing on Multi-Core Systems Sandeep Malik Freescale Semiconductor India Pvt. Ltd IDC Noida, India Ravi Malhotra Freescale Semiconductor India Pvt. Ltd IDC Noida,

More information

Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT

Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT Page 1 SPACEWIRE SEMINAR 4/5 NOVEMBER 2003 JF COLDEFY / C HONVAULT INTRODUCTION The SW IP was developped in the frame of the ESA 13345/#3 contract "Building block for System on a Chip" This presentation

More information

OPERATING SYSTEMS & UTILITY PROGRAMS

OPERATING SYSTEMS & UTILITY PROGRAMS OPERATING SYSTEMS & UTILITY PROGRAMS System Software System software consists of the programs that control the operations of the computer and its devices. Functions that system software performs include:

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy ONE: The Ohio Network Emulator Mark Allman, Adam Caldwell, Shawn Ostermann mallman@lerc.nasa.gov, adam@eni.net ostermann@cs.ohiou.edu School of Electrical Engineering and Computer Science Ohio University

More information

Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP

Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP Presenter: Course: EEC 289Q: Reconfigurable Computing Course Instructor: Professor Soheil Ghiasi Outline Overview of M.I.T. Raw processor

More information

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking

Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Shared Address Space I/O: A Novel I/O Approach for System-on-a-Chip Networking Di-Shi Sun and Douglas M. Blough School of Electrical and Computer Engineering Georgia Institute of Technology Atlanta, GA

More information

6.9. Communicating to the Outside World: Cluster Networking

6.9. Communicating to the Outside World: Cluster Networking 6.9 Communicating to the Outside World: Cluster Networking This online section describes the networking hardware and software used to connect the nodes of cluster together. As there are whole books and

More information

INPUT-OUTPUT ORGANIZATION

INPUT-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 information

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685

Celeron EPIC Computer with GUI and Dual Ethernet SBC4685 Celeron EPIC Computer with GUI and Dual SBC4685 Features Ready to run Celeron/Pentium III computer Color flat-panel support Four serial ports CAN Bus interface PC/104 & PC/104-Plus expansion The SBC4685

More information

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals

instruction fetch memory interface signal unit priority manager instruction decode stack register sets address PC2 PC3 PC4 instructions extern signals Performance Evaluations of a Multithreaded Java Microcontroller J. Kreuzinger, M. Pfeer A. Schulz, Th. Ungerer Institute for Computer Design and Fault Tolerance University of Karlsruhe, Germany U. Brinkschulte,

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 6 Accounting for I/O Latency September 28, 2015 Sam Siewert A Service Release and Response C i WCET Input/Output Latency Interference Time Response Time = Time Actuation

More information

Frugal IP Lookup Based on a Parallel Search

Frugal IP Lookup Based on a Parallel Search Frugal IP Lookup Based on a Parallel Search Zoran Čiča and Aleksandra Smiljanić School of Electrical Engineering, Belgrade University, Serbia Email: cicasyl@etf.rs, aleksandra@etf.rs Abstract Lookup function

More information

Chapter 2 Operating-System Structures

Chapter 2 Operating-System Structures This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6

More information

Readout-Nodes. Master-Node S-LINK. Crate Controller VME ROD. Read out data (PipelineBus) VME. PipelineBus Controller PPM VME. To DAQ (S-Link) PPM

Readout-Nodes. Master-Node S-LINK. Crate Controller VME ROD. Read out data (PipelineBus) VME. PipelineBus Controller PPM VME. To DAQ (S-Link) PPM THE READOUT BU OF THE ATLA LEVEL- CALORIMETER TRIGGER PRE-PROCEOR C. chumacher Institut fur Hochenergiephysik, Heidelberg, Germany (e-mail: schumacher@asic.uni-heidelberg.de) representing the ATLA level-

More information

An Ultra High Performance Scalable DSP Family for Multimedia. Hot Chips 17 August 2005 Stanford, CA Erik Machnicki

An Ultra High Performance Scalable DSP Family for Multimedia. Hot Chips 17 August 2005 Stanford, CA Erik Machnicki An Ultra High Performance Scalable DSP Family for Multimedia Hot Chips 17 August 2005 Stanford, CA Erik Machnicki Media Processing Challenges Increasing performance requirements Need for flexibility &

More information

Module 11: I/O Systems

Module 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 information

Operating 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 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 information

SRAM SRAM SRAM SRAM EPF 10K130V EPF 10K130V. Ethernet DRAM DRAM DRAM EPROM EPF 10K130V EPF 10K130V. Flash DRAM DRAM

SRAM SRAM SRAM SRAM EPF 10K130V EPF 10K130V. Ethernet DRAM DRAM DRAM EPROM EPF 10K130V EPF 10K130V. Flash DRAM DRAM Hardware Recongurable Neural Networks Jean-Luc Beuchat, Jacques-Olivier Haenni and Eduardo Sanchez Swiss Federal Institute of Technology, Logic Systems Laboratory, EPFL { LSL, IN { Ecublens, CH { 1015

More information

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Developing deterministic networking technology for railway applications using TTEthernet software-based end systems Project n 100021 Astrit Ademaj, TTTech Computertechnik AG Outline GENESYS requirements

More information

OPERATING SYSTEM. Functions of Operating System:

OPERATING SYSTEM. Functions of Operating System: OPERATING SYSTEM Introduction: An operating system (commonly abbreviated to either OS or O/S) is an interface between hardware and user. OS is responsible for the management and coordination of activities

More information

Multi MicroBlaze System for Parallel Computing

Multi MicroBlaze System for Parallel Computing Multi MicroBlaze System for Parallel Computing P.HUERTA, J.CASTILLO, J.I.MÁRTINEZ, V.LÓPEZ HW/SW Codesign Group Universidad Rey Juan Carlos 28933 Móstoles, Madrid SPAIN Abstract: - Embedded systems need

More information

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

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili Virtual Memory Lecture notes from MKP and S. Yalamanchili Sections 5.4, 5.5, 5.6, 5.8, 5.10 Reading (2) 1 The Memory Hierarchy ALU registers Cache Memory Memory Memory Managed by the compiler Memory Managed

More information

CREATED BY M BILAL & Arslan Ahmad Shaad Visit:

CREATED BY M BILAL & Arslan Ahmad Shaad Visit: CREATED BY M BILAL & Arslan Ahmad Shaad Visit: www.techo786.wordpress.com Q1: Define microprocessor? Short Questions Chapter No 01 Fundamental Concepts Microprocessor is a program-controlled and semiconductor

More information

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

Input/Output Problems. External Devices. Input/Output Module. I/O Steps. I/O Module Function Computer Architecture 168 420 Computer Architecture Chapter 6 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In different formats All slower than CPU

More information

Multimedia Systems 2011/2012

Multimedia Systems 2011/2012 Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

More information

Line-rate packet processing in hardware: the evolution towards 400 Gbit/s

Line-rate packet processing in hardware: the evolution towards 400 Gbit/s Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 1. pp. 259 268 doi: 10.14794/ICAI.9.2014.1.259 Line-rate packet processing in hardware:

More information

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

The 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 information

TECHNOLOGY BRIEF. Compaq 8-Way Multiprocessing Architecture EXECUTIVE OVERVIEW CONTENTS

TECHNOLOGY BRIEF. Compaq 8-Way Multiprocessing Architecture EXECUTIVE OVERVIEW CONTENTS TECHNOLOGY BRIEF March 1999 Compaq Computer Corporation ISSD Technology Communications CONTENTS Executive Overview1 Notice2 Introduction 3 8-Way Architecture Overview 3 Processor and I/O Bus Design 4 Processor

More information

Host Interfacing at a Gigabit

Host Interfacing at a Gigabit University of Pennsylvania ScholarlyCommons Technical Reports (CS) Department of Computer & nformation Science April 1993 Host nterfacing at a Gigabit C. Brendan S. Traw University of Pennsylvania Follow

More information

EPIC board ensures reliability in the toughest environment

EPIC board ensures reliability in the toughest environment EPIC board ensures reliability in the toughest environment The XE 800 SBC is a high performance single board computer (SBC) with a rich family of essential I/O functions. It integrates video, serial ports,

More information

Product Technical Brief S3C2416 May 2008

Product Technical Brief S3C2416 May 2008 Product Technical Brief S3C2416 May 2008 Overview SAMSUNG's S3C2416 is a 32/16-bit RISC cost-effective, low power, high performance micro-processor solution for general applications including the GPS Navigation

More information

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

Department of Computer Science, Institute for System Architecture, Operating Systems Group. Real-Time Systems '08 / '09. Hardware. Department of Computer Science, Institute for System Architecture, Operating Systems Group Real-Time Systems '08 / '09 Hardware Marcus Völp Outlook Hardware is Source of Unpredictability Caches Pipeline

More information

Chapter 13: I/O Systems

Chapter 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 information

4. Hardware Platform: Real-Time Requirements

4. Hardware Platform: Real-Time Requirements 4. Hardware Platform: Real-Time Requirements Contents: 4.1 Evolution of Microprocessor Architecture 4.2 Performance-Increasing Concepts 4.3 Influences on System Architecture 4.4 A Real-Time Hardware Architecture

More information

Common Computer-System and OS Structures

Common Computer-System and OS Structures Common Computer-System and OS Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture Oct-03 1 Computer-System Architecture

More information

Multimedia Decoder Using the Nios II Processor

Multimedia Decoder Using the Nios II Processor Multimedia Decoder Using the Nios II Processor Third Prize Multimedia Decoder Using the Nios II Processor Institution: Participants: Instructor: Indian Institute of Science Mythri Alle, Naresh K. V., Svatantra

More information

Resource-ecient Dynamic Partial Reconguration on FPGAs

Resource-ecient Dynamic Partial Reconguration on FPGAs Institut für Technische Informatik und Kommunikationsnetze Computer Engineering and Networks Laboratory Department of Information Technology and Electrical Engineering Spring Term 2014 Resource-ecient

More information

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

I/O Systems. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University I/O Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Device characteristics Block device vs. Character device Direct I/O vs.

More information

Chapter 6 Storage and Other I/O Topics

Chapter 6 Storage and Other I/O Topics Department of Electr rical Eng ineering, Chapter 6 Storage and Other I/O Topics 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Feng-Chia Unive ersity Outline 6.1 Introduction 6.2 Dependability,

More information

I/O Systems. Jo, Heeseung

I/O Systems. Jo, Heeseung I/O Systems Jo, Heeseung Today's Topics Device characteristics Block device vs. Character device Direct I/O vs. Memory-mapped I/O Polling vs. Interrupts Programmed I/O vs. DMA Blocking vs. Non-blocking

More information

TI s PCI2040 PCI-to-DSP Bridge

TI s PCI2040 PCI-to-DSP Bridge TI s PCI2040 PCI-to-DSP Bridge Brian G. Carlson - Sr. DSP Engineer DNA Enterprises, Inc. August 5, 1999 E-mail: bcarlson@dnaent.com 1 Agenda Introduction to the PCI Bus DSP Host Port Interface (HPI) Overview

More information

farun, University of Washington, Box Seattle, WA Abstract

farun, University of Washington, Box Seattle, WA Abstract Minimizing Overhead in Parallel Algorithms Through Overlapping Communication/Computation Arun K. Somani and Allen M. Sansano farun, alleng@shasta.ee.washington.edu Department of Electrical Engineering

More information

Chapter 12: Multiprocessor Architectures

Chapter 12: Multiprocessor Architectures Chapter 12: Multiprocessor Architectures Lesson 03: Multiprocessor System Interconnects Hierarchical Bus and Time Shared bus Systems and multi-port memory Objective To understand multiprocessor system

More information

Overview of Microcontroller and Embedded Systems

Overview of Microcontroller and Embedded Systems UNIT-III Overview of Microcontroller and Embedded Systems Embedded Hardware and Various Building Blocks: The basic hardware components of an embedded system shown in a block diagram in below figure. These

More information

QUESTION BANK UNIT I

QUESTION BANK UNIT I QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?

More information