DOMAIN PARTITIONING TECHNOLOGY PROCESSORS FOR EMBEDDED MULTICORE. ...In embedded systems, application

Size: px
Start display at page:

Download "DOMAIN PARTITIONING TECHNOLOGY PROCESSORS FOR EMBEDDED MULTICORE. ...In embedded systems, application"

Transcription

1 ... DOMAIN PARTITIONING TECHNOLOGY FOR EMBEDDED MULTICORE PROCESSORS... TODAY S EMBEDDED SYSTEMS REQUIRE BOTH REAL-TIME CONTROL FUNCTIONS AND IT FUNCTIONS. INTEGRATING MULTIPLE OPERATING SYSTEMS ON A MULTICORE PROCESSOR IS ONE WAY TO MEET THESE REQUIREMENTS. HOWEVER, IN THIS APPROACH, ONE OPERATING SYSTEM S FAILURE CAN BRING DOWN THE OTHER OPERATING SYSTEMS. TO ADDRESS THIS ISSUE, THE AUTHORS PROPOSE A MULTIDOMAIN EMBEDDED SYSTEM ARCHITECTURE WITH A PHYSICAL PARTITIONING CONTROLLER....In embedded systems, application fields are rapidly expanding and their functionality and complexity are dramatically increasing. 1 Today s embedded systems require not only the real-time control functions of traditional embedded systems but also IT functions, such as multimedia computing, multiband network connectivity, and extensive processing for database transactions. Facilitating embedded systems many requirements calls for new system architectures. One approach for designing system architectures is to integrate multiple operating systems on a multicore processor. In this approach, heterogeneous operating systems run different types of applications within the multicore system; a real-time operating system delivers real-time behavior such as low latency and predictable control function performance, and a versatile operating system processes applications developed for IT systems. However, this system architecture has a drawback. An unintentional failure of one operating system could overwrite important data and codes and bring down not only that operating system but others as well. This can occur because a CPU core, which executes operating system codes, can access any hardware resource on a multicore processor. We therefore need a partitioning mechanism to isolate any unintentional operating system failure within a domain to prevent it from affecting systems in other domains. A domain is a virtual resourcemanagement entity that executes operating system codes in a multi-operating system integrated on a multicore processor. System engineers have developed several partitioning mechanisms for servers and high-end desktop systems. 2,3 However, these mechanisms are unsuitable for an embedded multicore system-on-chip (SoC) /09/$26.00 c 2009 IEEE Published by the IEEE Computer Society Tohru Nojiri Yuki Kondo Naohiko Irie Hitachi Masayuki Ito Hajime Sasaki Renesas Technology Hideo Maejima Tokyo Institute of Technology... 7

2 ... COOL CHIPS 8 IEEE MICRO processor equipped with only the minimally required resources. Rather, they re for multiprocessor systems in which many processors share large amounts of memory and I/O devices. The mechanisms can t divide a small memory system into areas, nor segment a device into groups of channels to be assigned to multidomains on the multicore SoC processor. We ve therefore developed a lowoverhead domain-partitioning mechanism for a multidomain embedded system architecture that protects a domain from being affected by other domains on an embedded multicore processor. Additionally, we fabricated a multicore SoC processor incorporating a physical partitioning controller (), which is a hardware support for the domainpartitioning mechanism. Embedded systems trends Embedded systems were originally cost-sensitive control systems with a fixed function namely, to make the machine or mechanical parts operate in a specific and safe way to meet real-time performance constraints for reasons such as safety and usability. Embedded processors have the following characteristics: a simple CPU optimized for code efficiency and low power, low and predictable interrupt latency to support real-time control, occasional use of application-specific processors such as digital signal processors and media processors, and integration of on-chip ROM, RAM, and peripheral I/O devices to reduce system cost. These days embedded systems are going to incorporate IT as well as control functions, 4 and heterogeneous multicore processorswillbewidelyusedinembeddedsystems because it s difficult for a single processor architecture to support operation throughput for IT functions and real-time response for control functions. Automobiles, as embedded systems, increasingly use electronic subsystems to control mechanical parts such as the engine, transmission, brakes, and steering. Each subsystem has an electronic control unit (ECU) and a control application, which usually have a one-to-one relationship. Manufacturers enhance and network these subsystems together with the car area network (CAN) to implement new functions that maximize control and safety, such as antilock braking systems, electronic stability control, traction control, and automatic four-wheel drive. Furthermore, navigation systems and telematics, which provide IT functions such as databases and networking, will soon be integrated into car control systems, and control and IT functions will cooperate to increase automobiles safety, security, comfort, and usability. Because of their dramatically increasing complexity and functionality, embedded systems development can cost billions of dollars and take a decade to complete. Through software reuse, 5 organizations attempt to save development time and energy. Engineers have a library of software modules, many of which they use in multiple applications. Modern embedded systems will be based on two-domain system architectures: a realtime domain, consisting of real-time control applications on an RTOS; and an IT domain, consisting of IT applications on versatile operating systems. Programming model for embedded systems on multicore processors Figure 1 shows our multidomain system, built on a multicore processor. The system architecture lets the designer assign domains to the different CPU cores and implement them independently in each core. Applications and operating systems in both domains are largely unaware of each other. Domains might exchange information and coordinate tasks, but there is no dynamic load balancing. The task assignment is fixed, and hardware resources can be dedicated to the domains, resulting in a more deterministic performance. Despite some possible memory overhead due to multiple operating system images in the main memory, this feature is one of the system architecture s most significant advantages for embedded system developers. As embedded systems size and complexity increase, so do the chances that the system will break down because of software malfunctions or attacks over the network.

3 Steering Engine Real-time control applications Engine Sensor Transmission Brake Steering Real-time operating system Audio Multimedia IT applications Navi Telematics GUI Database operating system Net Versatile operating system Transmission CPU1 DMAC INTC Timer SCIF CPU 0 Brake GPIO ROM Con RAM Con DU PCI Car area network Dev ROM RAM Display Net DMAC: Direct memory access controller DU: Display unit GPIO: General-purpose I/O INTC: Interrupt controller SCIF: Serial communication interface Figure 1. Multidomain system architecture for embedded multicore processors. In this architecture, domains are assigned to different CPU cores and collaborate with each other to implement new functions. Although operating systems isolate software failures within an application, a failure could affect the operating system itself, causing it to bring down all applications running on it because operating systems, especially versatile ones, are becoming large and complex. In developing control subsystems whose failure might endanger a person s life, such as an automobile s brake control system, an engineer tries to achieve a high level of safety by every conceivable means. However, even a safe and secure control subsystem can be affected if it s incorporated with IT subsystems into a multidomain system on a multicore processor. Our domain-partitioning approach helps to isolate failures within unreliable IT domains rather than let them affect control domains on the multidomain embedded system. This domain partitioning protects a domain from being affected by other domains in the multidomain system and maintains the system s safety and security by allocating multicore processor resources for each domain to let it run its own operating system and applications 6 ; protecting a domain from the effects of software failure in other domains and ensuring that only the domain causing the failure is affected; resetting the domain and rebooting its operating system without letting the other domains observe any of the failure s effects; and lowering system performance overhead to less than 5 percent to implement fault isolation. Partitioning of multicore processor systems Partitioning techniques with hardware support fall into two categories: physical partitioning and logical partitioning. 2 Physical partitioning With physical partitioning, each domain uses dedicated processor resources. In the multidomain system in Figure 2a, system designers allocate each CPU core and each group of channels in multichannel devices DMA controllers (DMAC), timer units (TMU), and serial communication interfaces (SCIF) and other devices, such as the display unit, PCI, and general-purpose I/O NOVEMBER/DECEMBER

4 ... COOL CHIPS Real-time domain Partitioning IT domain CPU 2 INTC Timer Timer INTC CPU 0 CPU 1 Partition controller GPIO SCIF DMAC RAM Con DMAC SCIF DU PCI Real-time domain Partitioning IT domain Hypervisor CPU 2 INTC Timer CPU 0 CPU 1 GPIO SCIF RAM Con DMAC DU PCI Dev RAM Display Net Dev RAM Display Net (a) (b) Figure 2. Partitioning techniques. In physical partitioning (a), a hardware mechanism, such as a partitioning controller, controls the resources assigned to a particular domain. In logical partitioning (b), a programming layer called a hyperviser controls the resources so that multiple domains can share them. 10 IEEE MICRO (GPIO), to one of the domains. Each allocated resource is physically distinct from the resources used by the other domain. Although the domains share the on-chip system bus, each transaction is dedicated to a domain. This prevents the other domain from affecting transactions that concern issues other than bandwidth. In physical partitioning, each partition s configuration that is, the resources assigned to a domain is controlled in the hardware (such as the partition controller in Figure 2a), because physical partitioning doesn t require sophisticated algorithms to schedule and manage resources. When the system boots up, the partition controller sets up the hardware resources to use in a partition according to partition-configuration commands. Once a partition is configured, the operating systems are loaded into each partition, and a domain on each partition starts to run the operating system and applications. The partition controller checks every access request for hardware resources that the operating system and applications generate and invalidates any unauthorized requests. Failure isolation and predictable resource allocation are physical partitioning s two most important goals. Although physical partitioning sacrifices flexibility in allocating resources to partitions to achieve these goals, it s typically easy to implement with hardware and imposes little overhead on application execution. Logical partitioning With logical partitioning, domains share some physical resources, usually in a timemultiplexed manner. Thus, logical partitioning makes it possible to run multiple operating system images on a single hardware system and enables dynamic workload balancing. Logical partitioning is used to implement virtual machines on PC servers and mainframes to optimize utilization of hardware resources. Logical partitioning is more flexible than physical partitioning but requires additional mechanisms to provide the services needed to share resources safely and efficiently. Usually, a hypervisor that is, a programming layer lower than the operating system and hidden from general system users (see Figure 2b) controls each partition s configuration.when the system boots up, the hypervisor sets up the hardware resources for use in a partition according to the partition configuration commands. Once a partition is configured, the hypervisor loads the operating systems and applications into each partition, and a domain on each partition starts to run them. During execution of the operating system and applications on the partition, the hypervisor traps every hardware resource access request that the operating system and applications generate to check their authenticity and to provide the requested resource services if authorized. Optimizing hardware utilization is one of logical partitioning s important goals.

5 LCPG INTC CPU 0 CPU 1 DMAC PCIe SHPB L2$ Internal system bus HPB WDT TMU HAC Peripheral bus Ether USB DU LBSC DBSC CPG GPIO HSPI SCIF I2C SSI SDIF ROM RAM CPG: Clock pulse generator DBSC: DDR3-SDRAM memory controller HAC: Audio codec I/F HPB: H-Peripheral bus HSPI: High-speed parallel interface I2C: Inter IC bus LBSC: Local bus state controller LCPG: Local clock pulse generator SDIF: Sound description interchange format SHPB: SH-Peripheral bus SSI: Serial sound I/F TMU: Timer unit WDT: Watch dog timer Figure 3. Block diagram of the multicore SoC processor we used to implement the proposed domain-partitioning technique. To achieve this goal, logical partitioning sacrifices the partition s physical isolation in exchange for greater flexibility in dynamically allocating resources to partitions. It also imposes performance penalties because the hypervisor is implemented in software layers. Our approach In terms of hardware design simplicity, implementing the partition controller for physical partitioning of embedded processors involves a small amount of memory and a simple logical circuit and doesn t require any architectural changes to the CPU core. However, to mitigate logical partitioning s original virtualization performance overhead, logical partitioning imposes several challenges on the CPU core architecture, such as introducing a new execution mode on the CPU core. 7 In terms of software development simplicity, physical partitioning requires a new error-handling routine for the partition controller that can be implemented as a simple interrupt handler in embedded systems and doesn t require modifying guest operating systems. However, logical partitioning requires a hypervisor to arbitrate accesses to the underlying physical hardware resources so that multiple guest operating systems can share them. Its paravirtualization approach improves virtualization performance but requires modifying the guest operating systems. 8 In typical multidomain embedded systems,eachdomain scpu,memoryarea, and peripheral devices are physically different, and physical isolation and low overhead are more important than partitioning flexibility. Therefore, we based our domain partitioning on physical partitioning techniques and use the hardware module to implement physical isolation with low overhead. Multicore processor with domain-partitioning mechanism Figure 3 is a block diagram of the multicore processor we used to implement the proposed domain-partitioning technique. The processor is a multicore SoC containing NOVEMBER/DECEMBER

6 ... COOL CHIPS 12 IEEE MICRO two SH-4A processor cores, each of which is a 32-bit RISC microprocessor containing an instruction cache, data cache in write-back mode, and memory management unit (MMU) with a translation look-aside buffer (TLB), which supports a 32-bit virtual address space. The SH-4A cores maintain consistency between data caches and share an instruction/data unified L2 cache in writethrough mode. The processor incorporates a DDR3-SDRAM memory controller (DBSC), local bus state controller (LBSC) supporting connection to burst ROM, a DMAC, a sophisticated interrupt controller (INTC), and several on-chip peripherals including the display unit, Ethernet controller, GPIO, and SCIF. These hardware modules are connected through an internal system bus and a peripheral bus. SHPB and HPB are bus bridges that connect the internal system bus with the peripheral bus. The CPU cores, display unit, ether, and USB are initiator modules that can request access to other modules connected to the internal system bus. HPB, SHPB, LBSC, and DBSC are target modules that initiators can access through the internal system bus. DMAC and PCI Express (PCIe) areinitiatormodulesaswellastargetmodules on the internal system bus. These hardware modules are mapped onto the processor s physical address space, which the initiators use to gain access to processor resources. In the multidomain system architecture we are proposing, system designers assign domains to the different CPU cores and processor resources, such as memory and peripherals. They might also allocate shared memory resources that the domains can use to communicate with each other. The operating system in each domain controls the CPU cores and the other initiator modules so that they use the assigned processor resources. Thus, the applications running on the operating system can t use the processor resources assigned to another domain. However, as we mentioned previously, the system could break down due to unintentional software malfunctions in the operating system because the CPU core can access any processor resources. An access-control mechanism in the multicore SoC processor can help prevent such access. Access control of physical partitioning controller The is located between the access initiator modules and the access target modules. It checks every access request and blocks requests that aren t authentic. The contains an access checklist (ACL) to set access authorization rules, and the ACL defines the processor s partition configuration. The ACL consists of several register entries, each having three fields: an SRC field, which specifies an access initiator; a DEST field, which specifies an access target; and an AUTH field, which specifies authorized operation for both the SRC and DEST fields. The processor has multiple channel devices, such as a DMAC, PCIe, TMU, SCIF, audio codec I/F (HAC), serial sound I/F (SSI), and I2C. The segments them into groups of channels and recognizes each group as a separate module so that each domain uses one group s function exclusively. The also segments RAM and ROM into several memory areas so that a domain can use them as private memory. Moreover, several domains can access a shared RAM area to communicate with each other. Therefore, the recognizes each initiator and target, indicated in Figure 4, as separate modules. We assigned a SrcID to each initiator module and used a control register address as an identifier for the DEST field. The size of the address range should be a power of 2, and its start address should be a multiple of the alignment, which must be a power of 2 and a multiple of the size of the address range. Implementation of Figure 5 shows the structure. The SRC field consists of an SrcID and an SrcID mask; the DEST field consists of an address and address mask; and the AUTH field consists of two bits one for read permission and one for write permission. The checks every access request by comparing a set of operation, target address, and SrcID with all ACL entries using the logical

7 Initiators CPU 0 CPU 1 DMAC 0 5 DMAC 6 11 PCIe 0 PCIe 1 PCIe 2 DU Ether USBF Access checklist (ACL) SRC DEST AUTH CPU 0 Mem A#0 CPU 1 CPU 0 CPU 1 Mem A#1 GPIO DU CPU 0 DMAC CPU 1 DMAC CPU 0 SCIF CPU 1 CPU 0 CPU 1 DMAC DMAC CPU 0 CPU 1 SCIF TMU TMU Mem A#0 Mem A#1 INTC INTC Targets RAM DBSC Area 0 Area 1 Area C ROM LBSC Area 0 Area 1 Control registers DMAC DMAC 0 5 CPG DMAC 6 11 WDT GPIO DU PCI TMU 0 2 PCIe 0 TMU 3 5 PCIe 1 TMU 6 8 PCIe 2 TMU 9 11 HSPI SHPB HAC0 INTC HAC1 INTC2 USBF LCPG 0 USBH LCPG 1 HPB SDIF0 SDIF1 SCIF0 SCIF1 SCIF2 SCIF3 SCIF4 SCIF5 SSI0 SSI1 SSI2 SSI3 I2C0 I2C1 USBH Figure 4. Physical partitioning controller (). Initiator modules request access to target modules through the internal system bus. The checks every access request on the internal system bus to analyze their authenticity. circuit shown in the figure. When the finds a match for an ACL entry, it authorizes the access request, and the passes the access request to the target module. When the finds no match for an ACL entry, it doesn t authorize the access request, and the blocks it and generates a deny signal to start error handling. The modules are located between the internal system bus and the bus target modules that is, the DBSC, SHPB and HPB bus bridges, PCIe, and DMAC (see Figure 6). The has six subblocks DSBC-, LBSC-, SHPB-, HPB-, DMAC-, and PCI- each of which has its own set of registers and ACLs. Table 1 lists the number of ACL entries of each. For SHPC-, HPB-, DMAC-, and PCI-, the initiators are CPU cores and the targets are modules connected on the bus-target modules; therefore an ACL entry is needed for each target to authenticate an access from the CPU core of the domain. For LBSC-, CPU cores gain access to two ROM areas that are each allocated to a domain; therefore, LBSC- needs an ACL entry for each ROM area. For DSBC-, the initiators, which are two CPU cores and nine initiator modules, access two dedicated RAM areas and a shared RAM area; therefore, this subblock needs 11 entries for the dedicated RAM areas and 11 entries for the shared RAM area. error handling When these conditions aren t satisfied, the judges the access to have been NOVEMBER/DECEMBER

8 ... COOL CHIPS Access control list (ACL) Op Address SrcID Address Mask[31:xx] SrcID Mask[7:0] Address Mask[31:xx] SrcID Mask[7:0] Address Address Mask[31:xx] SrcID SrcID[7:0] Mask[7:0] Address Mask[31:xx] SrcID Mask[7:0] Address [31:xx] SrcID[7:0] Address [31:xx] SrcID[7:0] Address [31:xx] SrcID[7:0] PRd PRd PRd PWr Pwr PWr PWr Prd Read Write = = = = Deny Figure 5. Access control of physical partitioning controller. The consists of a simple logical circuit and access checklist (ACL) registers to check the authenticity of access requests by comparing a set of operation, target address, and the SrcID with an ACL. error handler Real-time control applications INT RTOS handler Partitioning IT applications Versatile OS INT handler LCPG INTC CPU 0 CPU 1 DMAC PCIe SHPB L2$ Internal system bus HPB WDT TMU HAC Peripheral bus Ether USB DU LBSC DBSC CPG GPIO HSPI SCIF I2C SSI SDIF ROM RAM Registers for access-violation handling ERRADD Bus address information ERROPC Bus access type and size ERRSRC Identity of bus-source module ERROVL Multiple access Figure 6. Implementation of the physical partitioning controller. Each of the six subblocks has its own set of registers and an access checklist (ACL) to check access requests for the target module of their charge. 14 IEEE MICRO

9 Table 1. Number of access checklist (ACL) entries for each physical partitioning controller. Initiator Target No. of ACLs needed No. of ACLs implemented LBSC- 2 CPU cores 2 ROM areas 2 4 DBSC- 2 CPU cores, 2 RAM areas allocated to a domain, initiator modules 1 RAM area shared by domains SHPB- 2 CPU cores 4 target modules 4 8 HPB- 2 CPU cores 27 target modules DMAC- 2 CPU cores 2 target modules 2 4 PCI- 2 CPU cores 3 target modules 3 4 inauthentic and rejects it. The then sends an error response to the internal system bus instead of passing the access request to the target module. The also generates an access-violation interrupt signal, which is transmitted to the INTC. The INTC prioritizes interrupt sources and controls the flow of interrupt requests to the CPU. The INTC has registers for prioritizing each interrupt, and it processes interrupt requests following the priority order set in these registers by the program. Most oftheseregistersaresystemwide,sothey can t be physically partitioned. Therefore, we assumed that the real-time domain would be more reliable than the IT domain, and we decided that CPU 0, which houses the real-time domain, should be allowed to access the INTC registers and the IT domain should send requests to the real-time domain for operation on the registers. When the INTC receives an accessviolation interrupt signal, the execution jumps to the start address of the errorhandling routine. Each subblock has registers that determine the access-violation interrupt signal s behavior and hold the information on rejected access requests. Based on this information, the error-handling routine classifies the access violation s seriousness and decides whether the system should be rebooted. Evaluation We fabricated two embedded dual-core processors that incorporate several on-chip peripheral modules and the. We implemented one using 90-nm CMOS process technology with typical-case design methodology for an experimental chip operating at a Figure 7. Chip micrograph. We implemented this embedded dual-core processor using 65-nm CMOS process technology with worst-case design methodology for a product chip operating at 533 MHz. 600-MHz clock frequency, and the other with a rich set of on-chip peripherals using 65-nm CMOS process technology with worst-case design methodology for a product chip operating at 533 MHz (Figure 7). Designing and implementing the is so simple that its design impact was negligible in terms of chip area. In addition, we didn t find any critical path due to in the timing analysis of thee chips development. To evaluate the performance overhead of -based domain partitioning, we used the LMBench 9 benchmark program and compared bare Linux with Linux on top of a error handler, run on the 90-nm CMOS processor. In this evaluation, we implemented the error handler as an interrupt/exception service routine that NOVEMBER/DECEMBER

10 ... COOL CHIPS Table 2. Performance evaluation results for memory latency and context switching times using LMBench. Context switching times (ms) (Number of Operating Memory latency (ns) processes/process image size [in bytes]) system L1 cache Main memory Random memory 2p/64k 8p/64k 16p/64k Linux , Linux error handler Overhead (%) Table 3. Performance evaluation results for processing times using LMBench. Process times (ms) Operating system Null call Null I/O Signal install Signal handling Fork processing Execution processing Linux , , Linux , , error handler Overhead (%) IEEE MICRO handled the access-violation error and related system calls. So that we didn t have to modify the Linux, we implemented the handler like a hypervisor outside of the operating system. Therefore, the error handler checked whether the event was related to the in response to interrupts or exceptions and passed the processing to the appropriate normal service routine in the Linux if unrelated; otherwise, the error handler rebooted the Linux, causing a serious access-violation error. To observe the domain partitioning using, we injected access-violation errors by configuring so that it didn t allow applications running on Linux to access a small memory area assigned to Linux. When the application wrote some data into the small memory area, the rejected the write access request so that no data was written in the memory area and the generated access-violation interrupt signal to initiate a error handler to reboot the Linux. Tables 2 and 3 show the overhead of domain partitioning using the. The average performance penalty was 2.49 percent and the overheads were typically less than 5 percent. In memory latency cases, the overheads were due only to the additional bus access cycle generated by implementing because the error handler was not initiated during the tests; thus, the overhead was 0.0 percent for the L1 cache, 1.48 percent for main memory, and 3.85 percent for random memory. We presumed that the overhead difference between main and random memories was due to the effect of the CPU core store buffers. The worst cases of overhead were percent for null call and percent for null I/O. We attributed this overhead to the error handler because null call and null I/O are system calls that only generate exceptions that trigger the error handler s execution. Implementing the error handler into the Linux service routine using a paravirtualization approach 8 could reduce the overhead. Overall, our proposed multidomain embedded system architecture with a partitioning mechanism for embedded multicore processors is well suited to developing cost-conscious embedded systems. Although this article focuses on the domainpartitioning technology, we also need to discuss techniques for secure interdomain communication and collaboration in multidomain embedded systems, such that the domains cooperate more tightly to implement a higher level of functionality. Because

11 embedded systems requirements will change in the future, we should develop system architectures suitable for implementing them optimally. Therefore, we don t intend the proposed architecture to be the definitive solution for embedded system development; rather, we hope that the problems discussed in this article will inspire new solutions. MICRO References 1. C. Ebert and C. Jones, Embedded Software: Facts, Figures, and Future, Computer, vol. 42, no. 4, Apr. 2009, pp J.E. Smith and R. Nair, Virtual Machines: Versatile Platforms for Systems and Processors, Morgan Kaufmann, Sun Microsystems, Sun Enterprise Server: Dynamic System Domains, white paper, 1999; docs/domainswp.pdf. 4. H. Takada and S. Honda, Real-Time Operating System for Function Distributed Multiprocessors, J. Information Processing Soc. of Japan, vol. 47, no. 1, Jan. 2006, pp C. Kruger, Software Reuse, ACM Computing Surveys, vol. 24, no. 2, June 1992, pp K.J. Nesbit et al., Multi-Core Resource Management, IEEE Micro, vol. 28, no. 3, May/June 2008, pp R. Uhlig et al., Intel Virtualization Technology, Computer, vol. 38, no. 5, May 2005, pp P. Barham et al., Xen and the Art of Virtualization, Proc. 19th ACM Symp. Operating Systems Principles, ACM Press, 2003, pp L.W. McVoy and C. Staelin, Lmbench: Portable Tools for Performance Analysis, Proc. Usenix Ann. Technical Conf., Usenix Assoc. 1996, pp Tohru Nojiri is a senior researcher at Hitachi s Central Research Laboratory, and a PhD student in the Department of Information Processing at the Tokyo Institute of Technology. His research interests include embedded system platform, operating system, and processor architecture. Nojiri has a BE in mathematical engineering from the University of Tokyo. He is a member of IEEE Computer Society, the ACM, and the Information Processing Society of Japan. Yuki Kondo is a researcher at Hitachi s Central Research Laboratory. His research interests include the architecture of embedded systems. Kondo has an ME in computer science from the Tokyo Institute of Technology. Naohiko Irie is the head of the planning office at Hitachi s Central Research Laboratory. His research interests include processor architecture of mainframe, symmetric multiprocessing servers, and embedded processors. Irie has an ME in information systems from Kyushu University, where he has also served as a visiting professor. He is a member of the Information Processing Society of Japan. Masayuki Ito is the group manager of the CPU Development Department at Renesas Technology. His research interests are in developing CPU cores, in particular, lowpower microprocessor design. Ito has an MS in computer engineering from Kyoto University. Hajime Sasaki is a senior engineer of the Car Information System Design Department at Renesas Technology. His research interests are in developing SoC processor for car information systems. Sasaki has an BS in electrical and electronic engineering from Kitami Institute of Technology. Hideo Maejima is a professor in the Department of Information Processing, Graduate School, Tokyo Institute of Technology. His current interests include multi/ manycore architecture, and reconfigurable computing and integrated development environments. Maejima has a PhD in computer science from the Tokyo Institute of Technology. He is a member of IEEE Computer Society and the Information Processing Society of Japan, and a Fellow of the Institute of Electronics, Information, and Communication Engineers. Direct questions and comments to Tohru Nojiri, Central Research Laboratory, Hitachi, Ltd., 1-280, Higashi-koigakubo, Kokubunji-shi, Tokyo, Japan; tohru.nojiri.gg@hitachi.com. NOVEMBER/DECEMBER

12 This article was featured in For access to more content from the IEEE Computer Society, see computingnow.computer.org. Top articles, podcasts, and more. computingnow.computer.org

Offering compact implementation of sophisticated, high-performance telematics products and industrial equipment, and short development times

Offering compact implementation of sophisticated, high-performance telematics products and industrial equipment, and short development times Hitachi Releases SH7760 SuperH Microprocessor for In-Vehicle Information Products Supporting Telematics, Integrating SH-4 CPU Core and Variety of Interfaces in a Single Chip Offering compact implementation

More information

Achieves excellent performance of 1,920 MIPS and a single-chip solution for nextgeneration car information systems

Achieves excellent performance of 1,920 MIPS and a single-chip solution for nextgeneration car information systems Renesas Technology to Release SH7776 (SH-Navi3), Industry s First Dual-Core SoC with Built-in Image Recognition Processing Function for Car Information Terminals Achieves excellent performance of 1,920

More information

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization. Virtualization Basics Motivation OS Virtualization CSC 456 Final Presentation Brandon D. Shroyer Types of Virtualization Process virtualization (Java) System virtualization (classic, hosted) Emulation

More information

Course Introduction. Purpose: Objectives: Content: Learning Time:

Course Introduction. Purpose: Objectives: Content: Learning Time: Course Introduction Purpose: This course provides an overview of the Renesas SuperH series of 32-bit RISC processors, especially the microcontrollers in the SH-2 and SH-2A series Objectives: Learn the

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

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes Course Introduction Purpose: This course provides an overview of the Direct Memory Access Controller and the Interrupt Controller on the SH-2 and SH-2A families of 32-bit RISC microcontrollers, which are

More information

SH-X3 Flexible SuperH Multi-core for High-performance and Low-power Embedded Systems

SH-X3 Flexible SuperH Multi-core for High-performance and Low-power Embedded Systems SH-X3 Flexible SuperH Multi-core for High-performance and Low-power Embedded Systems Shinichi Shibahara 1, Masashi Takada 2, Tatsuya Kamei 1, Kiyoshi Hayase 1, Yutaka Yoshida 1, Osamu Nishii 1, Toshihiro

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

Embedded Systems: Architecture

Embedded Systems: Architecture Embedded Systems: Architecture Jinkyu Jeong (Jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu ICE3028: Embedded Systems Design, Fall 2018, Jinkyu Jeong (jinkyu@skku.edu)

More information

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006 Product Technical Brief Rev 2.2, Apr. 2006 Overview SAMSUNG's is a Derivative product of S3C2410A. is designed to provide hand-held devices and general applications with cost-effective, low-power, and

More information

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Lecturer: Eng. Mohamed B. Abubaker Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition What is an

More information

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006

Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Product Technical Brief S3C2412 Rev 2.2, Apr. 2006 Overview SAMSUNG's S3C2412 is a Derivative product of S3C2410A. S3C2412 is designed to provide hand-held devices and general applications with cost-effective,

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

ARM Processors for Embedded Applications

ARM Processors for Embedded Applications ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or

More information

SH-MobileG1: A Single-Chip Application and Dual-mode Baseband Processor

SH-MobileG1: A Single-Chip Application and Dual-mode Baseband Processor SH-MobileG1: A Single-Chip Application and Dual-mode Baseband Processor Masayuki Ito 1, Takahiro Irita 1, Eiji Yamamoto 1, Kunihiko Nishiyama 1, Takao Koike 1, Yoshihiko Tsuchihashi 1, Hiroyuki Asano 1,

More information

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1 ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat

More information

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003 S3C2440X is a derivative product of Samsung s S3C24XXX family of microprocessors for mobile communication market. The S3C2440X s main enhancement

More information

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System Abstract In this paper, we address the latency issue in RT- XEN virtual machines that are available in Xen 4.5. Despite the advantages of applying virtualization to systems, the default credit scheduler

More information

Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components

Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems. Embedded System Components Components & Characteristics of an Embedded System Embedded Operating System Application Areas of Embedded d Systems Automotive Industrial Automation Building Automation etc. 1 2 Embedded System Components

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

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016 Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide

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

PowerPC 740 and 750

PowerPC 740 and 750 368 floating-point registers. A reorder buffer with 16 elements is used as well to support speculative execution. The register file has 12 ports. Although instructions can be executed out-of-order, in-order

More information

Part I Overview Chapter 1: Introduction

Part I Overview Chapter 1: Introduction Part I Overview Chapter 1: Introduction Fall 2010 1 What is an Operating System? A computer system can be roughly divided into the hardware, the operating system, the application i programs, and dthe users.

More 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

EC EMBEDDED AND REAL TIME SYSTEMS

EC EMBEDDED AND REAL TIME SYSTEMS EC6703 - EMBEDDED AND REAL TIME SYSTEMS Unit I -I INTRODUCTION TO EMBEDDED COMPUTING Part-A (2 Marks) 1. What is an embedded system? An embedded system employs a combination of hardware & software (a computational

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

Solutions. JavaTM for Embedded Appliances

Solutions. JavaTM for Embedded Appliances Solutions JavaTM for Embedded Appliances JTRON on picojava II TM Electronic Devices Group FUJITSU LIMITED Haruyasu Ito 1 Java TM - Infrastructure for a Connected World BS DTV Broadcasters SOHO Mobile Broadcasters

More information

Multimedia in Mobile Phones. Architectures and Trends Lund

Multimedia in Mobile Phones. Architectures and Trends Lund Multimedia in Mobile Phones Architectures and Trends Lund 091124 Presentation Henrik Ohlsson Contact: henrik.h.ohlsson@stericsson.com Working with multimedia hardware (graphics and displays) at ST- Ericsson

More information

Hardware Software Codesign of Embedded Systems

Hardware Software Codesign of Embedded Systems Hardware Software Codesign of Embedded Systems Rabi Mahapatra Texas A&M University Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on Codesign of Embedded System

More information

D Demonstration of disturbance recording functions for PQ monitoring

D Demonstration of disturbance recording functions for PQ monitoring D6.3.7. Demonstration of disturbance recording functions for PQ monitoring Final Report March, 2013 M.Sc. Bashir Ahmed Siddiqui Dr. Pertti Pakonen 1. Introduction The OMAP-L138 C6-Integra DSP+ARM processor

More information

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: 1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs

More information

Secure Partitioning (s-par) for Enterprise-Class Consolidation

Secure Partitioning (s-par) for Enterprise-Class Consolidation Secure Partitioning (s-par) for Enterprise-Class Consolidation How Partitioning Technology Delivers Consolidation Without Compromising Performance, Security, or Isolation White Paper The enterprise clients

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

10 Steps to Virtualization

10 Steps to Virtualization AN INTEL COMPANY 10 Steps to Virtualization WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Virtualization the creation of multiple virtual machines (VMs) on a single piece of hardware, where

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Handling Challenges of Multi-Core Technology in Automotive Software Engineering

Handling Challenges of Multi-Core Technology in Automotive Software Engineering Model Based Development Tools for Embedded Multi-Core Systems Handling Challenges of Multi-Core Technology in Automotive Software Engineering VECTOR INDIA CONFERENCE 2017 Timing-Architects Embedded Systems

More information

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1.

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1. FYS3240-4240 Data acquisition & control Introduction Spring 2018 Lecture #1 Reading: RWI (Real World Instrumentation) Chapter 1. Bekkeng 14.01.2018 Topics Instrumentation: Data acquisition and control

More information

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy COMPUTER ARCHITECTURE Virtualization and Memory Hierarchy 2 Contents Virtual memory. Policies and strategies. Page tables. Virtual machines. Requirements of virtual machines and ISA support. Virtual machines:

More information

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant.

24-vm.txt Mon Nov 21 22:13: Notes on Virtual Machines , Fall 2011 Carnegie Mellon University Randal E. Bryant. 24-vm.txt Mon Nov 21 22:13:36 2011 1 Notes on Virtual Machines 15-440, Fall 2011 Carnegie Mellon University Randal E. Bryant References: Tannenbaum, 3.2 Barham, et al., "Xen and the art of virtualization,"

More information

Hypervisor Part 1- What is a Hypervisor and How Does it Work?

Hypervisor Part 1- What is a Hypervisor and How Does it Work? WHITEPAPER Hypervisor Part 1- What is a Hypervisor and How Does it Work? Randy Martin Product Manager 5/3/17 BlackBerry QNX Not for general distribution. Intended for Advanced Sterilization Products 1

More information

Even coarse architectural trends impact tremendously the design of systems

Even coarse architectural trends impact tremendously the design of systems CSE 451: Operating Systems Spring 2006 Module 2 Architectural Support for Operating Systems John Zahorjan zahorjan@cs.washington.edu 534 Allen Center Even coarse architectural trends impact tremendously

More information

A 65nm Dual-mode Baseband and Multimedia Application Processor SoC with Advanced Power and Memory Management

A 65nm Dual-mode Baseband and Multimedia Application Processor SoC with Advanced Power and Memory Management A 65nm Dual-mode Baseband and Multimedia Application Processor SoC with Advanced Power and Memory Management Tatsuya Kamei, Tetsuhiro Yamada, Takao Koike, Masayuki Ito, Takahiro Irita, Kenichi Nitta, Toshihiro

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

SR college of engineering, Warangal, Andhra Pradesh, India 1

SR college of engineering, Warangal, Andhra Pradesh, India   1 POWER OPTIMIZATION IN SYSTEM ON CHIP BY IMPLEMENTATION OF EFFICIENT CACHE ARCHITECTURE 1 AKKALA SUBBA RAO, 2 PRATIK GANGULY 1 Associate Professor, 2 Senior Research Fellow, Dept. of. Electronics and Communications

More information

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD

Virtual Leverage: Server Consolidation in Open Source Environments. Margaret Lewis Commercial Software Strategist AMD Virtual Leverage: Server Consolidation in Open Source Environments Margaret Lewis Commercial Software Strategist AMD What Is Virtualization? Abstraction of Hardware Components Virtual Memory Virtual Volume

More information

VIA ProSavageDDR KM266 Chipset

VIA ProSavageDDR KM266 Chipset VIA ProSavageDDR KM266 Chipset High Performance Integrated DDR platform for the AMD Athlon XP Page 1 The VIA ProSavageDDR KM266: High Performance Integrated DDR platform for the AMD Athlon XP processor

More information

The special radiation-hardened processors for new highly informative experiments in space

The special radiation-hardened processors for new highly informative experiments in space Journal of Physics: Conference Series PAPER OPEN ACCESS The special radiation-hardened processors for new highly informative experiments in space To cite this article: O V Serdin et al 2017 J. Phys.: Conf.

More information

evm for Windows* User Manual

evm for Windows* User Manual evm for Windows* User Manual Rev 4.0 1 Copyright 2017 TenAsys Corporation No part of this manual may be copied, duplicated, reprinted, and stored in a retrieval system by any means, mechanical or electronic,

More information

Hardware Software Codesign of Embedded System

Hardware Software Codesign of Embedded System Hardware Software Codesign of Embedded System CPSC489-501 Rabi Mahapatra Mahapatra - Texas A&M - Fall 00 1 Today s topics Course Organization Introduction to HS-CODES Codesign Motivation Some Issues on

More information

Dynamic Translator-Based Virtualization

Dynamic Translator-Based Virtualization Dynamic Translator-Based Virtualization Yuki Kinebuchi 1,HidenariKoshimae 1,ShuichiOikawa 2, and Tatsuo Nakajima 1 1 Department of Computer Science, Waseda University {yukikine, hide, tatsuo}@dcl.info.waseda.ac.jp

More information

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture. ARM CORTEX-R52 Course Family: ARMv8-R Cortex-R CPU Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture. Duration: 4 days Prerequisites and related

More information

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS

Part 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s

More information

Achieving UFS Host Throughput For System Performance

Achieving UFS Host Throughput For System Performance Achieving UFS Host Throughput For System Performance Yifei-Liu CAE Manager, Synopsys Mobile Forum 2013 Copyright 2013 Synopsys Agenda UFS Throughput Considerations to Meet Performance Objectives UFS Host

More information

systems such as Linux (real time application interface Linux included). The unified 32-

systems such as Linux (real time application interface Linux included). The unified 32- 1.0 INTRODUCTION The TC1130 is a highly integrated controller combining a Memory Management Unit (MMU) and a Floating Point Unit (FPU) on one chip. Thanks to the MMU, this member of the 32-bit TriCoreTM

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

doi: /MM

doi: /MM doi: 10.1109/MM.2011.93 : A MULTICORE COMMUNICATION SOC WITH Sugako Otani 1, Hiroyuki Kondo 1, Itaru Nonomura 1 Toshihiro Hanawa 2, Shin'ichi Miura 2, Taisuke Boku 2 1 Renesas Electronics Corporation 2

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

Embedded Systems. 7. System Components

Embedded Systems. 7. System Components Embedded Systems 7. System Components Lothar Thiele 7-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews

Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models. Jason Andrews Performance Optimization for an ARM Cortex-A53 System Using Software Workloads and Cycle Accurate Models Jason Andrews Agenda System Performance Analysis IP Configuration System Creation Methodology: Create,

More information

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

Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Virtual Machines Disco and Xen (Lecture 10, cs262a) Ion Stoica & Ali Ghodsi UC Berkeley February 26, 2018 Today s Papers Disco: Running Commodity Operating Systems on Scalable Multiprocessors, Edouard

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

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the basic organization of computer systems To provide a grand tour of the major

More information

Adapted from David Patterson s slides on graduate computer architecture

Adapted from David Patterson s slides on graduate computer architecture Mei Yang Adapted from David Patterson s slides on graduate computer architecture Introduction Ten Advanced Optimizations of Cache Performance Memory Technology and Optimizations Virtual Memory and Virtual

More information

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM

Computer Organization and Microprocessors SYLLABUS CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS CHAPTER - 3 : THE MEMORY SYSTEM i SYLLABUS UNIT - 1 CHAPTER - 1 : BASIC STRUCTURE OF COMPUTERS Computer Types, Functional Units, Basic Operational Concepts, Bus Structures, Software, Performance, Multiprocessors and Multicomputers, Historical

More information

Virtualization in Multicore Real-Time Embedded Systems for Improvement of Interrupt Latency

Virtualization in Multicore Real-Time Embedded Systems for Improvement of Interrupt Latency Virtualization in Multicore Real-Time Embedded Systems for Improvement of Interrupt Latency Ivan Pavić, MSc Faculty of Electrical Engineering and Computing University of Zagreb Zagreb, Croatia Email: ivan.pavic2@fer.hr

More information

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools

Simplifying the Development and Debug of 8572-Based SMP Embedded Systems. Wind River Workbench Development Tools Simplifying the Development and Debug of 8572-Based SMP Embedded Systems Wind River Workbench Development Tools Agenda Introducing multicore systems Debugging challenges of multicore systems Development

More information

Migrating RC3233x Software to the RC32434/5 Device

Migrating RC3233x Software to the RC32434/5 Device Migrating RC3233x Software to the RC32434/5 Device Application Note AN-445 Introduction By Harpinder Singh and Nebojsa Bjegovic Operating system kernels, board support packages, and other processor-aware

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

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

Silicon Motion s Graphics Display SoCs

Silicon Motion s Graphics Display SoCs WHITE PAPER Silicon Motion s Graphics Display SoCs Enable 4K High Definition and Low Power Power and bandwidth: the twin challenges of implementing a solution for bridging any computer to any high-definition

More information

p5 520 server Robust entry system designed for the on demand world Highlights

p5 520 server Robust entry system designed for the on demand world Highlights Robust entry system designed for the on demand world IBM p5 520 server _` p5 520 rack system with I/O drawer Highlights Innovative, powerful, affordable, open and adaptable UNIX and Linux environment system

More information

Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( )

Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( ) Systems Group Department of Computer Science ETH Zürich Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming (252-0061-00) Timothy Roscoe Herbstsemester 2012 Today Non-Uniform

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 21 Main Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Why not increase page size

More information

Virtualization, Xen and Denali

Virtualization, Xen and Denali Virtualization, Xen and Denali Susmit Shannigrahi November 9, 2011 Susmit Shannigrahi () Virtualization, Xen and Denali November 9, 2011 1 / 70 Introduction Virtualization is the technology to allow two

More information

Accessing I/O Devices Interface to CPU and Memory Interface to one or more peripherals Generic Model of IO Module Interface for an IO Device: CPU checks I/O module device status I/O module returns status

More information

PRODUCT PREVIEW TNETV1050 IP PHONE PROCESSOR. description

PRODUCT PREVIEW TNETV1050 IP PHONE PROCESSOR. description C55x DSP Operating at 125 MHz, Providing up to 250 MIPS MIPS32 4KEc 32-Bit RISC Processor, Operating at 165 MHz, Providing up to 223 Dhrystone MIPS On-Chip Peripherals Include: External Memory Interface

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Network Processing Technology for Terminals Enabling High-quality Services

Network Processing Technology for Terminals Enabling High-quality Services : Services for Hikari Era: Terminal Component Technologies Network Processing Technology for Terminals Enabling High-quality Services Yukikuni Nishida and Keiichi Koike Abstract This article describes

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

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. April 12, 2018 L16-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L16-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

Embedded Computation

Embedded Computation Embedded Computation What is an Embedded Processor? Any device that includes a programmable computer, but is not itself a general-purpose computer [W. Wolf, 2000]. Commonly found in cell phones, automobiles,

More information

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1

Virtual Memory. Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. November 15, MIT Fall 2018 L20-1 Virtual Memory Daniel Sanchez Computer Science & Artificial Intelligence Lab M.I.T. L20-1 Reminder: Operating Systems Goals of OS: Protection and privacy: Processes cannot access each other s data Abstraction:

More information

Real Safe Times in the Jailhouse Hypervisor Unrestricted Siemens AG All rights reserved

Real Safe Times in the Jailhouse Hypervisor Unrestricted Siemens AG All rights reserved Siemens Corporate Technology Real Safe Times in the Jailhouse Hypervisor Real Safe Times in the Jailhouse Hypervisor Agenda Jailhouse introduction Safe isolation Architecture support Jailhouse application

More information

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info. A FPGA based development platform as part of an EDK is available to target intelop provided IPs or other standard IPs. The platform with Virtex-4 FX12 Evaluation Kit provides a complete hardware environment

More information

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

Parallel Simulation Accelerates Embedded Software Development, Debug and Test Parallel Simulation Accelerates Embedded Software Development, Debug and Test Larry Lapides Imperas Software Ltd. larryl@imperas.com Page 1 Modern SoCs Have Many Concurrent Processing Elements SMP cores

More information

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses

Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses Introduction Electrical Considerations Data Transfer Synchronization Bus Arbitration VME Bus Local Buses PCI Bus PCI Bus Variants Serial Buses 1 Most of the integrated I/O subsystems are connected to the

More information

CSC501 Operating Systems Principles. OS Structure

CSC501 Operating Systems Principles. OS Structure CSC501 Operating Systems Principles OS Structure 1 Announcements q TA s office hour has changed Q Thursday 1:30pm 3:00pm, MRC-409C Q Or email: awang@ncsu.edu q From department: No audit allowed 2 Last

More information

T he key to building a presence in a new market

T he key to building a presence in a new market Renesas Synergy MCUs Build Foundation for Groundbreaking Integrated Hardware/ Software Platform New family of microcontrollers combines scalability, power efficiency with extensive peripheral capabilities

More information

Operating Systems. Operating Systems

Operating Systems. Operating Systems The operating system defines our computing experience. It is the first software we see when we turn on the computer, and the last software we see when the computer is turned off. It's the software that

More information

Real-Timeness and System Integrity on a Asymmetric Multi Processing configuration

Real-Timeness and System Integrity on a Asymmetric Multi Processing configuration Real-Timeness and System Integrity on a Asymmetric Multi Processing configuration D&E Event November 2nd Relator: Manuele Papais Sales & Marketing Manager 1 DAVE Embedded Systems DAVE Embedded Systems'

More information

Multicore for safety-critical embedded systems: challenges andmarch opportunities 15, / 28

Multicore for safety-critical embedded systems: challenges andmarch opportunities 15, / 28 Multicore for safety-critical embedded systems: challenges and opportunities Giuseppe Lipari CRItAL - Émeraude March 15, 2016 Multicore for safety-critical embedded systems: challenges andmarch opportunities

More information

STANDARD I/O INTERFACES

STANDARD I/O INTERFACES STANDARD I/O INTERFACES The processor bus is the bus defied by the signals on the processor chip itself. Devices that require a very high-speed connection to the processor, such as the main memory, may

More information

Copyright 2016 Xilinx

Copyright 2016 Xilinx Zynq Architecture Zynq Vivado 2015.4 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Identify the basic building

More information

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software Driven Verification at SoC Level. Perspec System Verifier Overview Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems

Designing, developing, debugging ARM Cortex-A and Cortex-M heterogeneous multi-processor systems Designing, developing, debugging ARM and heterogeneous multi-processor systems Kinjal Dave Senior Product Manager, ARM ARM Tech Symposia India December 7 th 2016 Topics Introduction System design Software

More information