Design Register Accurate SSD Software Simulator

Size: px
Start display at page:

Download "Design Register Accurate SSD Software Simulator"

Transcription

1 Design Register Accurate SSD Software Simulator IP Design Manager nology 1

2 SSD Controller Design Challenge n SSD Controller chip is hardware + firmware Ø Firmware determines the major features of SSD Controller. Ø To get best performance and power consumption, firmware needs to be fine tuned on well-optimized hardware. n Both hardware and firmware are customized Ø Most hardware components are designed from scratch and need to be carefully optimized according to firmware usage. Ø SSD firmware is very customized and optimized to fit the hardware. SSD Controller chip design needs very close firmware and hardware co-design! 2

3 SSD Controller Design Schedule Spec Define FPGA/EMU ready Tape-out Time-to-market Simulator saved time and risk Firmware Engineer Firmware Engineer Hardware Engineer Spec Define Tape-out Time-to-market 3

4 Agenda 1. Simulator Overview 2. SSD Key Models: 1. Peripheral Model 2. NAND Model 3. Host Model 3. Software-driven Design flow 4

5 Simulator Overview Simulator Behavior Model Firmware Register Variable (mapped to hardware address in ASIC) Real Hardware Model In most SOC system, embedded firmware runs on embedded CPUs, and access the hardware resource by writing/reading the registers that mapped to the bus. To simulate the SSD SOC system, we run firmware on x86 system (compiled by GCC or Visual Studio). The hardware modules are written in C/C++ as behavior model, and are accessible by firmware through the register variables. 5

6 Starblaze Simulator Architecture CPU Core0 CPU Core1 CPU run Firmware Simulator Hardware related variables, includes SRAM/DDR Simulator Models Simulator Hardware Abstract Level Host Models Peripheral Models NFI Model NAND Model simconsole, FIO 6

7 Program/Thread Partition CPU Core0 thread1 CPU Core1 thread2 Program 1 (32bit) Hardware related variables, includes SRAM/DDR Simulator Hardware Abstract Level Simulator (thread3) Program 3 (64bit) Host Models Peripheral Models NFI Model NAND Model Program 2 (32/64bit) simconsole, FIO 7

8 Agenda 1. Simulator Overview 2. SSD Key Models: 1. Peripheral Model 2. NAND Model 3. Host Model 3. Software-driven Design flow 8

9 Peripheral Model Firmware (run on ASIC) typedef struct { unsigned int source_addr; unsigned int source_byte_len; unsigned int target_addr; unsigned char start; unsigned char finish; } REG_DMAC; Real Hardware 0xd // Map reg_dmac to hardware address 0xd // in link file. REG_DMAC reg_dmac; void hal_dma_move(...) { reg_dmac.source_addr = arg_source_addr; reg_dmac.source_byte_len = arg_source_byte_len; reg_dmac.target_addr = arg_target_addr; reg_dmac.start = 1; Bus DMA Controller } while (reg_dmac.finish == 0) { hal_delay(...); } 9

10 Peripheral Model Firmware (run on x86) typedef struct { unsigned int source_addr; unsigned int source_byte_len; unsigned int target_addr; unsigned char start; unsigned char finish; } REG_DMAC; // Simulator model will share this global variable REG_DMAC reg_dmac; void hal_dma_move(...) { reg_dmac.source_addr = arg_source_addr; reg_dmac.source_byte_len = arg_source_byte_len; reg_dmac.target_addr = arg_target_addr; reg_dmac.start = 1; } while (reg_dmac.finish == 0) { hal_delay(...); } reg_dmac Shared variable between firmware and simulator model code. Simulator Behavior Model // Share the same reg_dmac variable extern REG_DMAC reg_dmac; void model_dmac() { if (reg_dmac.start) { // Start DMA using configuration // information from variable // reg_dmac. reg_dmac.finish = 1; } } 10

11 Agenda 1. Simulator Overview 2. SSD Key Models: 1. Peripheral Model 2. NAND Model 3. Host Model 3. Software-driven Design flow 11

12 NAND Model Legal Check Error inject Function layer Interface Program Read NFI Program File operate layer Read cache Cache operate layer NFI Model Program 1 (32bit) thread3 DISK layer NAND Model Program 3 (64bit) 12

13 NAND Model legal Error inject Function layer Interface Program Read NFI Program File operate layer Read A B C cache Cache operate layer NFI Model Program 1 (32bit) thread3 DISK layer: E F NAND Model Program 3 (64bit) 13

14 Agenda 1. Simulator Overview 2. SSD Key Models: 1. Peripheral Model 2. NAND Model 3. Host Model 3. Software-driven Design flow 14

15 Host Model Overview Host Tools simconsole.exe fio.exe NVMe Driver Virtual Host Interactive Variable Firmware Host Memory Simulator.exe 15

16 NVMe Write simconsole.exe 1. Send NVMe write command and write data to Virtual Host through socket NVMe Data Virtual Host NVMe Cmd Host Memory Interactive Variable Firmware Simulator.exe 16

17 NVMe Write simconsole.exe 2. Virtual Host will prepare command and data in Host Memory and organize data in PRP format. Virtual Host Host Memory NVMe Cmd NVMe Data Interactive Variable Firmware Simulator.exe 17

18 NVMe Write simconsole.exe 3. Virtual Host ring doorbell by writing variable nvme_sram_config Ring Doorbell Virtual Host Host Memory NVMe Cmd NVMe Data Interactive Variable Firmware Simulator.exe 18

19 NVMe Write simconsole.exe 4. Firmware runs NVMe command, which will fetch NVMe command and data and program to NAND. In the meanwhile, Virtual Host polls NVMe completion by using the phase bit. Virtual Host Host Memory NVMe Cmd NVMe Data Interactive Variable Firmware Run Command Simulator.exe 19

20 NVMe Write simconsole.exe 5. When program finished, Firmware update NVMe completion to Host Memory. Virtual Host Host Memory NVMe Cpl Interactive Variable Firmware Run Command Simulator.exe 20

21 NVMe Write simconsole.exe NVMe Cpl 6. Virtual Host detect the completion and send completion to the console through socket.. Virtual Host Host Memory Interactive Variable Firmware Run Command Simulator.exe 21

22 Agenda 1. Simulator Overview 2. SSD Key Models: 1. Peripheral Model 2. NAND Model 3. Host Model 3. Software-driven Design flow 22

23 Performance Sign-off Starblaze Software-driven Design Flow Cycle Accurate Timing RTL Development Hardware Engineer Using Emulator Transaction Accurate Timing Architectures Using ESL Verification Engineer Using ESL Model No Timing Information Firmware Engineer Using Simulator Spec Define Tape-out Time-to-market 23

24 Q & A Starblaze Booth: 649 Invitation Topic Presenter SSDS Tuesday August 7 th Ballroom F,5:05pm to 5:22pm SOFT Wednesday August 8 th GAMR 3, 8:30am to 10:50am CTRL-302A-1 Thursday August 9 th Ballroom A, 2:10pm to 3:25pm EMBD-302B-1 Thursday, August 9 th, Ballroom A,3:40-4:10 pm Low-Power Design of SSDs Key-Value Store Friendly SSD Interface Design and Optimization Take Full Advantage of LDPC Soft Bit Decoding Computing Storage in the AI IoT Era Daniel Sun Teng Yang Feng Tang Daniel Sun 24

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

Hardware NVMe implementation on cache and storage systems

Hardware NVMe implementation on cache and storage systems Hardware NVMe implementation on cache and storage systems Jerome Gaysse, IP-Maker Santa Clara, CA 1 Agenda Hardware architecture NVMe for storage NVMe for cache/application accelerator NVMe for new NVM

More information

The Challenges of System Design. Raising Performance and Reducing Power Consumption

The Challenges of System Design. Raising Performance and Reducing Power Consumption The Challenges of System Design Raising Performance and Reducing Power Consumption 1 Agenda The key challenges Visibility for software optimisation Efficiency for improved PPA 2 Product Challenge - Software

More information

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools Wen-Yen Lin, Ph.D. Department of Electrical Engineering Chang Gung University Email: wylin@mail.cgu.edu.tw March 2013 Agenda Introduction

More information

Software Defined Modem A commercial platform for wireless handsets

Software Defined Modem A commercial platform for wireless handsets Software Defined Modem A commercial platform for wireless handsets Charles F Sturman VP Marketing June 22 nd ~ 24 th Brussels charles.stuman@cognovo.com www.cognovo.com Agenda SDM Separating hardware from

More information

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego Advanced Digital Winter, 2009 ECE Department UC San Diego dey@ece.ucsd.edu http://esdat.ucsd.edu Winter 2009 Advanced Digital Objective: of a hardware-software embedded system using advanced design methodologies

More information

System On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples.

System On Chip: Design & Modelling (SOC/DAM) 1 R: Verilog RTL Design with examples. System On Chip: Design & Modelling (SOC/DAM) Exercises Here is the first set of exercises. These are intended to cover subject groups 1-4 of the SOC/DAM syllabus (R, SC, SD, ESL). These questions are styled

More information

Embedded Systems Programming - PA8001

Embedded Systems Programming - PA8001 Embedded Systems Programming - PA8001 http://goo.gl/ydeczu Lecture 2 Mohammad Mousavi m.r.mousavi@hh.se Center for Research on Embedded Systems School of Information Science, Computer and Electrical Engineering

More information

Input / Output. School of Computer Science G51CSA

Input / Output. School of Computer Science G51CSA Input / Output 1 Overview J I/O module is the third key element of a computer system. (others are CPU and Memory) J All computer systems must have efficient means to receive input and deliver output J

More information

CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE

CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE 1 2 3 CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE DEVELOPMENT BOARD Authors: Jonah Probell and Andy Young, design engineers, Lexra, Inc. 4 5 6 7 8 9 A Hardware/Software Development

More information

Preface. Fig. 1 Solid-State-Drive block diagram

Preface. Fig. 1 Solid-State-Drive block diagram Preface Solid-State-Drives (SSDs) gained a lot of popularity in the recent few years; compared to traditional HDDs, SSDs exhibit higher speed and reduced power, thus satisfying the tough needs of mobile

More information

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science

Storage Systems. NPTEL Course Jan K. Gopinath Indian Institute of Science Storage Systems NPTEL Course Jan 2013 (Lecture 11) K. Gopinath Indian Institute of Science USB Mass Storage Device A USB has a microcontroller that handles USB protocol a media controller that handles

More information

Energy Awareness for Embedded Systems OPTIMIZING EMBEDDED SOFTWARE FOR POWER

Energy Awareness for Embedded Systems OPTIMIZING EMBEDDED SOFTWARE FOR POWER Energy Awareness for Embedded Systems OPTIMIZING EMBEDDED SOFTWARE FOR POWER Introduction Review of Power Consumption Understanding Power for Embedded Systems Software and Hardware Optimizations Review

More information

Break Your SoC with Automatically Generated C Test Cases

Break Your SoC with Automatically Generated C Test Cases Break Your SoC with Automatically Generated C Test Cases Frederic Krampac Senior Applications Engineer Breker Verification Systems, Inc. The Myths of SoC Verification The IPs are well verified the SoC

More information

High-Efficiency SSD for Reliable Data Storage Systems

High-Efficiency SSD for Reliable Data Storage Systems High-Efficiency SSD for Reliable Data Storage Systems -Improving endurance and data reliability of next generation flash in embedded applications Jeff Yang Principle engineer Silicon Motion, Inc. jeff.yang@siliconmotion.com

More information

SONICS, INC. Sonics SOC Integration Architecture. Drew Wingard. (Systems-ON-ICS)

SONICS, INC. Sonics SOC Integration Architecture. Drew Wingard. (Systems-ON-ICS) Sonics SOC Integration Architecture Drew Wingard 2440 West El Camino Real, Suite 620 Mountain View, California 94040 650-938-2500 Fax 650-938-2577 http://www.sonicsinc.com (Systems-ON-ICS) Overview 10

More information

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

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) I/O Devices Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau) Hardware Support for I/O CPU RAM Network Card Graphics Card Memory Bus General I/O Bus (e.g., PCI) Canonical Device OS reads/writes

More information

NAND Interleaving & Performance

NAND Interleaving & Performance NAND Interleaving & Performance What You Need to Know Presented by: Keith Garvin Product Architect, Datalight August 2008 1 Overview What is interleaving, why do it? Bus Level Interleaving Interleaving

More information

Developing Low Latency NVMe Systems for HyperscaleData Centers. Prepared by Engling Yeo Santa Clara, CA Date: 08/04/2017

Developing Low Latency NVMe Systems for HyperscaleData Centers. Prepared by Engling Yeo Santa Clara, CA Date: 08/04/2017 Developing Low Latency NVMe Systems for HyperscaleData Centers Prepared by Engling Yeo Santa Clara, CA 95054 Date: 08/04/2017 Quality of Service IOPS, Throughput, Latency Short predictable read latencies

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Hardware-Software Co-Design

ECE 5775 (Fall 17) High-Level Digital Design Automation. Hardware-Software Co-Design ECE 5775 (Fall 17) High-Level Digital Design Automation Hardware-Software Co-Design Announcements Midterm graded You can view your exams during TA office hours (Fri/Wed 11am-noon, Rhodes 312) Second paper

More information

NVMe-IP Linux reference design manual Rev Feb-18

NVMe-IP Linux reference design manual Rev Feb-18 1 Introduction NVMe-IP Linux reference design manual Rev1.0 15-Feb-18 To design the hardware in FPGA, there are many design solutions for user application. First solution is using pure hardware logic without

More information

Graph-Based Verification in a UVM Environment

Graph-Based Verification in a UVM Environment Graph-Based Verification in a UVM Environment Staffan Berg European Applications Engineer July 2012 Graph-Based Intelligent Testbench Automation (itba) Welcome DVClub Attendees Organizers Presenters Verification

More information

Advances in Compilers

Advances in Compilers Advances in Compilers Prof. (Dr.) K.R. Chowdhary, Director COE Email: kr.chowdhary@jietjodhpur.ac.in webpage: http://www.krchowdhary.com JIET College of Engineering August 4, 2017 kr chowdhary Compilers

More information

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int

What Operating Systems Do An operating system is a program hardware that manages the computer provides a basis for application programs acts as an int Operating Systems Lecture 1 Introduction Agenda: What Operating Systems Do Computer System Components How to view the Operating System Computer-System Operation Interrupt Operation I/O Structure DMA Structure

More information

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

QUIZ Ch.6. The EAT for a two-level memory is given by: QUIZ Ch.6 The EAT for a two-level memory is given by: EAT = H Access C + (1-H) Access MM. Derive a similar formula for three-level memory: L1, L2 and RAM. Hint: Instead of H, we now have H 1 and H 2. Source:

More information

An Instruction-Based NAND Flash Processor Unit (NPU)

An Instruction-Based NAND Flash Processor Unit (NPU) An Instruction-Based NAND Flash Processor Unit (NPU) Yilei WANG, Architect, Memblaze Santa Clara, CA 1 Controller capability review Flash Protocol standard Unified ONFI 4.0, toggle 3.0 Vendor specified

More information

SPDK China Summit Ziye Yang. Senior Software Engineer. Network Platforms Group, Intel Corporation

SPDK China Summit Ziye Yang. Senior Software Engineer. Network Platforms Group, Intel Corporation SPDK China Summit 2018 Ziye Yang Senior Software Engineer Network Platforms Group, Intel Corporation Agenda SPDK programming framework Accelerated NVMe-oF via SPDK Conclusion 2 Agenda SPDK programming

More information

SSD Telco/MSO Case Studies

SSD Telco/MSO Case Studies SSD Telco/MSO Case Studies SSDs Enable IP CDN & ivod Mike Gluck VP & CTO Sanity Solutions Inc. MGluck@sanitysolutions.com Santa Clara, CA 1 ENAP-201-1_Enterprise Applications Sanity Solutions: Focusing

More information

Three Things You Need to Know to Use the Accellera PSS

Three Things You Need to Know to Use the Accellera PSS Three Things You Need to Know to Use the Accellera PSS Sharon Rosenberg, Senior Solutions Architect, Cadence Three primary considerations for adopting the Accellera Portable Stimulus Standard (PSS) are

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

SoC Platforms and CPU Cores

SoC Platforms and CPU Cores SoC Platforms and CPU Cores COE838: Systems on Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering Ryerson University

More information

Great Reality #2: You ve Got to Know Assembly Does not generate random values Arithmetic operations have important mathematical properties

Great Reality #2: You ve Got to Know Assembly Does not generate random values Arithmetic operations have important mathematical properties Overview Course Overview Course theme Five realities Computer Systems 1 2 Course Theme: Abstraction Is Good But Don t Forget Reality Most CS courses emphasize abstraction Abstract data types Asymptotic

More information

A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC

A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC A SoC simulator, the newest component in Open64 Report and Experience in Design and Development of a baseband SoC Wendong Wang, Tony Tuo, Kevin Lo, Dongchen Ren, Gary Hau, Jun zhang, Dong Huang {wendong.wang,

More information

NVIDIA'S DEEP LEARNING ACCELERATOR MEETS SIFIVE'S FREEDOM PLATFORM. Frans Sijstermans (NVIDIA) & Yunsup Lee (SiFive)

NVIDIA'S DEEP LEARNING ACCELERATOR MEETS SIFIVE'S FREEDOM PLATFORM. Frans Sijstermans (NVIDIA) & Yunsup Lee (SiFive) NVIDIA'S DEEP LEARNING ACCELERATOR MEETS SIFIVE'S FREEDOM PLATFORM Frans Sijstermans (NVIDIA) & Yunsup Lee (SiFive) NVDLA NVIDIA DEEP LEARNING ACCELERATOR IP Core for deep learning part of NVIDIA s Xavier

More information

Designing SSDs for large scale cloud workloads FLASH MEMORY SUMMIT, AUG 2014

Designing SSDs for large scale cloud workloads FLASH MEMORY SUMMIT, AUG 2014 Designing SSDs for large scale cloud workloads FLASH MEMORY SUMMIT, AUG 2014 2 3 Cloud workloads are different! Examples: Read-mostly, write-once per day Sequential write streams for object stores Synchronous

More information

Raising QLC Reliability in All-Flash Arrays

Raising QLC Reliability in All-Flash Arrays Raising QLC Reliability in All-Flash Arrays Jeff Yang Principal Engineer Storage Research Dept. Silicon Motion, Inc. Santa Clara, CA 1 QLC Characteristics (Estimation) QLC Endurance: 1~3K P/E.(limited

More information

Don t Think You Need an FPGA? Think Again!

Don t Think You Need an FPGA? Think Again! 1 Don t Think You Need an FPGA? Think Again! Arun Veeramani Senior Program Manager National Instruments Don t Think You Need an FPGA? Think Again! Goals for Today Define and explain FPGAs Address common

More information

Advanced Debug Methods for ARM DSM-Based Simulation. Jim Kenney SoC Verification Product Manager

Advanced Debug Methods for ARM DSM-Based Simulation. Jim Kenney SoC Verification Product Manager Advanced Debug Methods for ARM DSM-Based Simulation Jim Kenney SoC Verification Product Manager Agenda The ARM Design Simulation (signoff) Model Processor driven tests Current DSM debug methods Advanced

More information

Embedded HW/SW Co-Development

Embedded HW/SW Co-Development Embedded HW/SW Co-Development It May be Driven by the Hardware Stupid! Frank Schirrmeister EDPS 2013 Monterey April 18th SPMI USB 2.0 SLIMbus RFFE LPDDR 2 LPDDR 3 emmc 4.5 UFS SD 3.0 SD 4.0 UFS Bare Metal

More information

PCIe Verification in a SystemC environment using the Cadence VIP

PCIe Verification in a SystemC environment using the Cadence VIP PCIe Verification in a SystemC environment using the Cadence VIP 25 / 04 / 2014 Maarten de Vries Verification team leader 1 SUMMARY BULL : Asic development for HPC BULL s next chip will use PCIexpress

More information

Simply RISC S1 Core Specification. - version 0.1 -

Simply RISC S1 Core Specification. - version 0.1 - Simply RISC S1 Core Specification - version 0.1 - Simply RISC S1 Core Summary =========================== This is the summary for the S1 Core (codename "Sirocco"); all the informations you need are contained

More information

Cool Chips, Low Power Multicores, Open the Way to the Future

Cool Chips, Low Power Multicores, Open the Way to the Future Cool Chips, Low Power Multicores, Open the Way to the Future Hironori Kasahara President Elect 2017, President 2018 IEEE Computer Society IEEE Fellow Professor, Dept. of Computer Science & Engineering

More information

Computer Organization ECE514. Chapter 5 Input/Output (9hrs)

Computer Organization ECE514. Chapter 5 Input/Output (9hrs) Computer Organization ECE514 Chapter 5 Input/Output (9hrs) Learning Outcomes Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge

More information

Computer Architecture Programming Languages and Operating System

Computer Architecture Programming Languages and Operating System Computer Architecture Programming Languages and Operating System Tassadaq Hussain Riphah International University Islamabad Pakistan Microsoft Barcelona Supercomputing Center Universitat Politécnica de

More information

Using MRAM to Create Intelligent SSDs

Using MRAM to Create Intelligent SSDs Using MRAM to Create Intelligent SSDs Jérôme Gaysse Senior Technology&Market Analyst jerome.gaysse@silinnov-consulting.com Santa Clara, CA 1 Study context Analysis of system & application Performance modeling

More information

REVOLUTIONIZING THE COMPUTING LANDSCAPE AND BEYOND.

REVOLUTIONIZING THE COMPUTING LANDSCAPE AND BEYOND. December 3-6, 2018 Santa Clara Convention Center CA, USA REVOLUTIONIZING THE COMPUTING LANDSCAPE AND BEYOND. https://tmt.knect365.com/risc-v-summit 2018 NETRONOME SYSTEMS, INC. 1 @risc_v MASSIVELY PARALLEL

More information

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics

Computer and Hardware Architecture I. Benny Thörnberg Associate Professor in Electronics Computer and Hardware Architecture I Benny Thörnberg Associate Professor in Electronics Hardware architecture Computer architecture The functionality of a modern computer is so complex that no human can

More information

Cache Lab Implementation and Blocking

Cache Lab Implementation and Blocking Cache Lab Implementation and Blocking Lou Clark February 24 th, 2014 1 Welcome to the World of Pointers! 2 Class Schedule Cache Lab Due Thursday. Start soon if you haven t yet! Exam Soon! Start doing practice

More information

Virtual Platforms for early Embedded Software Development

Virtual Platforms for early Embedded Software Development Virtual Platforms for early Embedded Software Development RISC-V 8 th Workshop Barcelona Wednesday May 09, 4:00pm Kevin McDermott & Lee Moore Imperas Software Hugh O Keeffe Ashling Page 1 New Markets With

More information

PDK (Platform Development Kit) Getting Started. Automotive Processors

PDK (Platform Development Kit) Getting Started. Automotive Processors PDK (Platform Development Kit) Getting Started Automotive Processors 1 Agenda PDK Overview PDK Software Architecture PDK Directory structure PDK Pre-requisite and Build instructions Running Examples Important

More information

Performance Verification for ESL Design Methodology from AADL Models

Performance Verification for ESL Design Methodology from AADL Models Performance Verification for ESL Design Methodology from AADL Models Hugues Jérome Institut Supérieur de l'aéronautique et de l'espace (ISAE-SUPAERO) Université de Toulouse 31055 TOULOUSE Cedex 4 Jerome.huges@isae.fr

More information

The Tofu Interconnect 2

The Tofu Interconnect 2 The Tofu Interconnect 2 Yuichiro Ajima, Tomohiro Inoue, Shinya Hiramoto, Shun Ando, Masahiro Maeda, Takahide Yoshikawa, Koji Hosoe, and Toshiyuki Shimizu Fujitsu Limited Introduction Tofu interconnect

More information

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs Niu Feng Technical Specialist, ARM Tech Symposia 2016 Agenda Introduction Challenges: Optimizing cache coherent subsystem

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

Today. SMP architecture. SMP architecture. Lecture 26: Multiprocessing continued Computer Architecture and Systems Programming ( )

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

More information

Accelerate block service built on Ceph via SPDK Ziye Yang Intel

Accelerate block service built on Ceph via SPDK Ziye Yang Intel Accelerate block service built on Ceph via SPDK Ziye Yang Intel 1 Agenda SPDK Introduction Accelerate block service built on Ceph SPDK support in Ceph bluestore Summary 2 Agenda SPDK Introduction Accelerate

More information

Toward a Memory-centric Architecture

Toward a Memory-centric Architecture Toward a Memory-centric Architecture Martin Fink EVP & Chief Technology Officer Western Digital Corporation August 8, 2017 1 SAFE HARBOR DISCLAIMERS Forward-Looking Statements This presentation contains

More information

Design Space Exploration for Memory Subsystems of VLIW Architectures

Design Space Exploration for Memory Subsystems of VLIW Architectures E University of Paderborn Dr.-Ing. Mario Porrmann Design Space Exploration for Memory Subsystems of VLIW Architectures Thorsten Jungeblut 1, Gregor Sievers, Mario Porrmann 1, Ulrich Rückert 2 1 System

More information

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS Embedded System System Set of components needed to perform a function Hardware + software +. Embedded Main function not computing Usually not autonomous

More information

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group Changpeng Liu Cloud Storage Software Engineer Intel Data Center Group Notices & Disclaimers Intel technologies features and benefits depend on system configuration and may require enabled hardware, software

More information

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013 NetSpeed ORION: A New Approach to Design On-chip Interconnects August 26 th, 2013 INTERCONNECTS BECOMING INCREASINGLY IMPORTANT Growing number of IP cores Average SoCs today have 100+ IPs Mixing and matching

More information

08 - Address Generator Unit (AGU)

08 - Address Generator Unit (AGU) October 2, 2014 Todays lecture Memory subsystem Address Generator Unit (AGU) Schedule change A new lecture has been entered into the schedule (to compensate for the lost lecture last week) Memory subsystem

More information

Microprocessor Systems

Microprocessor Systems Microprocessor Systems Networks and Embedded Software Module 4.1.1 by Wolfgang Neff Components (1) Microprocessor System Microprocessor (CPU) Memory Peripherals Control Bus Address Bus Data Bus 2 Components(2)

More information

NVMe : Redefining the Hardware/Software Architecture

NVMe : Redefining the Hardware/Software Architecture NVMe : Redefining the Hardware/Software Architecture Jérôme Gaysse, IP-Maker Santa Clara, CA 1 NVMe Protocol How to implement the NVMe protocol? SW, HW/SW or HW? 2- NVMe command ready CPU 1-Host driver

More information

High Performance Microprocessor Emulation for Software Validation Facilities and Operational Simulators. Dr. Mattias Holm

High Performance Microprocessor Emulation for Software Validation Facilities and Operational Simulators. Dr. Mattias Holm High Performance Microprocessor Emulation for Software Validation Facilities and Operational Simulators Dr. Mattias Holm Boot Firmware Computer Architecture Compiler Technology Interpreters

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

Module 2: Computer-System Structures. Computer-System Architecture

Module 2: Computer-System Structures. Computer-System Architecture Module 2: Computer-System Structures Computer-System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection General System Architecture Operating System Concepts 2.1 Silberschatz

More information

How does a Client SSD Controller Fit the Bill in Hyperscale Applications?

How does a Client SSD Controller Fit the Bill in Hyperscale Applications? How does a Client SSD Controller Fit the Bill in Hyperscale Applications? Phison Electronics Corp. Grace Chen SSD Project Manager grace_cy_chen@phison.com Flash Memory What can happen in 60 seconds? 2013

More information

Lecture 25: Interrupt Handling and Multi-Data Processing. Spring 2018 Jason Tang

Lecture 25: Interrupt Handling and Multi-Data Processing. Spring 2018 Jason Tang Lecture 25: Interrupt Handling and Multi-Data Processing Spring 2018 Jason Tang 1 Topics Interrupt handling Vector processing Multi-data processing 2 I/O Communication Software needs to know when: I/O

More information

Innovative Alternate Architecture for Exascale Computing. Surya Hotha Director, Product Marketing

Innovative Alternate Architecture for Exascale Computing. Surya Hotha Director, Product Marketing Innovative Alternate Architecture for Exascale Computing Surya Hotha Director, Product Marketing Cavium Corporate Overview Enterprise Mobile Infrastructure Data Center and Cloud Service Provider Cloud

More information

VMware vsphere Virtualization of PMEM (PM) Richard A. Brunner, VMware

VMware vsphere Virtualization of PMEM (PM) Richard A. Brunner, VMware VMware vsphere Virtualization of PMEM (PM) Richard A. Brunner, VMware Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents

More information

- Knowledge of basic computer architecture and organization, ECE 445

- Knowledge of basic computer architecture and organization, ECE 445 ECE 446: Device Driver Development Fall 2014 Wednesdays 7:20-10 PM Office hours: Wednesdays 6:15-7:15 PM or by appointment, Adjunct office Engineering Building room 3707/3708 Last updated: 8/24/14 Instructor:

More information

Week 7 Part I. Kyle Dewey. Monday, August 6, 12

Week 7 Part I. Kyle Dewey. Monday, August 6, 12 Week 7 Part I Kyle Dewey Overview Code from last time Array initialization Pointers vs. arrays Structs typedef Bubble sort (if time) Code Wrap-Up Array Initialization // fine int arr1[3] = { 1, 2 3 };...

More information

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition BASIC COMPUTER ORGANIZATION Silberschatz, Galvin and Gagne 2009 Topics CPU Structure Registers Memory Hierarchy (L1/L2/L3/RAM) Machine Language Assembly Language Running Process 3.2 Silberschatz, Galvin

More information

ArduCAM USB Camera C/C++ SDK

ArduCAM USB Camera C/C++ SDK ArduCAM USB Camera C/C++ SDK User Guide Rev 1.3, Oct 2018 Table of Contents 1 Introduction... 3 2 USB SDK Library... 3 3 Demo Code... 3 3.1 Thread.cpp... 3 3.2 USBTestDlg.cpp... 3 3.3 CommonTools.cpp...

More information

Computer System: An Overview

Computer System: An Overview C Programming 1 Computer System: An Overview C Programming 2 VDU Processor Memory Disk etc. Keyboard Mouse C Programming 3 01 00 11 00 11 00 11 00 11 00 11 00 11 00 11 Primergy 000000000000 11111111111100

More information

Microprocessor & Interfacing Lecture DMA Controller--1

Microprocessor & Interfacing Lecture DMA Controller--1 Microprocessor & Interfacing Lecture 26 8237 DMA Controller--1 E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E R I N G Contents Introduction Features Basic Process of DMA

More information

NVMe Driver for BitVisor BitVisor Summit 6. Ake Koomsin

NVMe Driver for BitVisor BitVisor Summit 6. Ake Koomsin NVMe Driver for BitVisor 2017-12-05 @ BitVisor Summit 6 Ake Koomsin Agenda NVMe overview NVMe driver implementation Using NVMe driver 1 Agenda NVMe overview NVMe driver implementation Using NVMe driver

More information

Changpeng Liu. Senior Storage Software Engineer. Intel Data Center Group

Changpeng Liu. Senior Storage Software Engineer. Intel Data Center Group Changpeng Liu Senior Storage Software Engineer Intel Data Center Group Legal Notices and Disclaimers Intel technologies features and benefits depend on system configuration and may require enabled hardware,

More information

Digital IP Cell 8-bit Microcontroller PE80

Digital IP Cell 8-bit Microcontroller PE80 1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly

More information

A Cache Hierarchy in a Computer System

A Cache Hierarchy in a Computer System A Cache Hierarchy in a Computer System Ideally one would desire an indefinitely large memory capacity such that any particular... word would be immediately available... We are... forced to recognize the

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Alexander Nelson August 22, 2018 University of Arkansas - Department of Computer Science and Computer Engineering The most profound technologies are those that disappear.

More information

Computer Organization

Computer Organization University of Pune S.E. I.T. Subject code: 214442 Computer Organization Part 44 Cluster Processors, UMA, NUMA UNIT VI Tushar B. Kute, Department of Information Technology, Sandip Institute of Technology

More information

The SOCks Design Platform. Johannes Grad

The SOCks Design Platform. Johannes Grad The SOCks Design Platform Johannes Grad System-on-Chip (SoC) Design Combines all elements of a computer onto a single chip Microprocessor Memory Address- and Databus Periphery Application specific logic

More information

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE System Architecture Date: Tuesday 3rd June 2014 Time: 09:45-11:45 Please answer any THREE Questions from the FOUR questions provided Use a

More information

Computer System Overview

Computer System Overview Computer System Overview Operating Systems 2005/S2 1 What are the objectives of an Operating System? 2 What are the objectives of an Operating System? convenience & abstraction the OS should facilitate

More information

Introduction Presentation A

Introduction Presentation A CSE 2421/5042: Systems I Low-Level Programming and Computer Organization Introduction Presentation A Read carefully: Bryant Chapter 1 Study: Reek Chapter 2 Skim: Reek Chapter 1 08/22/2018 Gojko Babić Some

More information

MICROPROCESSOR MEMORY ORGANIZATION

MICROPROCESSOR MEMORY ORGANIZATION MICROPROCESSOR MEMORY ORGANIZATION 1 3.1 Introduction 3.2 Main memory 3.3 Microprocessor on-chip memory management unit and cache 2 A memory unit is an integral part of any microcomputer, and its primary

More information

ET156 Introduction to C Programming

ET156 Introduction to C Programming ET156 Introduction to C Programming Unit 1 INTRODUCTION TO C PROGRAMMING: THE C COMPILER, VARIABLES, MEMORY, INPUT, AND OUTPUT Instructor : Stan Kong Email : skong@itt tech.edutech.edu Figure 1.3 Components

More information

CHAPI/VAX-Qbus. The CHARON-VAX Application Programming Interface (CHAPI) for Qbus peripheral emulation in Windows

CHAPI/VAX-Qbus. The CHARON-VAX Application Programming Interface (CHAPI) for Qbus peripheral emulation in Windows CHAPI/VAX-Qbus The CHARON-VAX Application Programming Interface (CHAPI) for Qbus peripheral emulation in Windows CHAPI/VAX-Qbus The CHARON-VAX Application Programming Interface (CHAPI) for Qbus peripheral

More information

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration

Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Chapter 2 M3-SCoPE: Performance Modeling of Multi-Processor Embedded Systems for Fast Design Space Exploration Hector Posadas, Sara Real, and Eugenio Villar Abstract Design Space Exploration for complex,

More information

Chapter 1: Introduction. Oregon State University School of Electrical Engineering and Computer Science

Chapter 1: Introduction. Oregon State University School of Electrical Engineering and Computer Science Chapter 1: Introduction Prof. Ben Lee Oregon State University School of Electrical Engineering and Computer Science Contents 1.1 The Role of Computers in Modern Society 1.2 Spectrum of Computers and Their

More information

The TLM-2.0 Standard. John Aynsley, Doulos

The TLM-2.0 Standard. John Aynsley, Doulos The TLM-2.0 Standard John Aynsley, Doulos The TLM-2.0 Standard CONTENTS Review of SystemC and TLM Review of TLM-2.0 Frequently Asked Questions What is SystemC? System-level modeling language Network of

More information

Nova Scheduler: Optimizing, Configuring and Deploying NFV VNF's on OpenStack

Nova Scheduler: Optimizing, Configuring and Deploying NFV VNF's on OpenStack Nova Scheduler: Optimizing, Configuring and Deploying NFV VNF's on OpenStack Ian Jolliffe, Chris Friesen WHEN IT MATTERS, IT RUNS ON WIND RIVER. 2017 WIND RIVER. ALL RIGHTS RESERVED. Ian Jolliffe 2 2017

More information

14th ANNUAL WORKSHOP 2018 NVMF TARGET OFFLOAD. Liran Liss. Mellanox Technologies. April 2018

14th ANNUAL WORKSHOP 2018 NVMF TARGET OFFLOAD. Liran Liss. Mellanox Technologies. April 2018 14th ANNUAL WORKSHOP 2018 NVMF TARGET OFFLOAD Liran Liss Mellanox Technologies April 2018 AGENDA Introduction NVMe NVMf NVMf target driver Offload model Verbs interface Status 2 OpenFabrics Alliance Workshop

More information

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

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2. BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices

More information

Comp 204: Computer Systems and Their Implementation. Lecture 18: Devices

Comp 204: Computer Systems and Their Implementation. Lecture 18: Devices Comp 204: Computer Systems and Their Implementation Lecture 18: Devices 1 Today Devices Introduction Handling I/O Device handling Buffering and caching 2 Operating System An Abstract View User Command

More information

Embedded/Connected Device Secure Coding. 4-Day Course Syllabus

Embedded/Connected Device Secure Coding. 4-Day Course Syllabus Embedded/Connected Device Secure Coding 4-Day Course Syllabus Embedded/Connected Device Secure Coding 4-Day Course Course description Secure Programming is the last line of defense against attacks targeted

More information

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team 2015 The MathWorks, Inc. 1 Agenda Integrated Hardware / Software Top down Workflow for SoC

More information

SpiNNaker Application Programming Interface (API)

SpiNNaker Application Programming Interface (API) SpiNNaker Application Programming Interface (API) Version 2.0.0 10 March 2016 Application programming interface (API) Event-driven programming model The SpiNNaker API programming model is a simple, event-driven

More information