Presenter : Cheng_Ta Wu Shunitsu Kohara† Naoki Tomono†,‡ Jumpei Uchida† Yuichiro Miyaoka†,∗Nozomu Togawa‡ Masao Yanagisawa† Tatsuo Ohtsuki† † Department.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Presenter : Cheng_Ta Wu Masoumeh Ebrahimi, Masoud Daneshtalab, N P Sreejesh, Pasi Liljeberg, Hannu Tenhunen Department of Information Technology, University.
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Input-output and Communication Prof. Sin-Min Lee Department of Computer Science.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
1 Sec (2.1) Computer Architectures. 2 For temporary storage of information, the CPU contains cells, or registers, that are conceptually similar to main.
Data Manipulation Computer System consists of the following parts:
Configurable System-on-Chip: Xilinx EDK
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
Basic Input/Output Operations
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Input-Output Problems L1 Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Presenter : Cheng-Ta Wu Antti Rasmus, Ari Kulmala, Erno Salminen, and Timo D. Hämäläinen Tampere University of Technology, Institute of Digital and Computer.
Computer Organization and Assembly language
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Pipelining By Toan Nguyen.
Computer Organization and Architecture
Presenter : Shao-Cheih Hou Sight count : 11 ASPDAC ‘08.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Chapter 1 Introduction. Computer Architecture selecting and interconnecting hardware components to create computers that meet functional, performance.
Computer Architecture and Organization
Intel
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Overview Introduction The Level of Abstraction Organization & Architecture Structure & Function Why study computer organization?
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
Computer Architecture and Organization Introduction.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Chapter 5: Computer Systems Organization Invitation to Computer Science, Java Version, Third Edition.
Automated Design of Custom Architecture Tulika Mitra
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Computer Organization and Design Computer Abstractions and Technology
CPU How It Works. 2 Generic Block Diagram CPU MemoryInputOutput Address Bus Data Bus.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Computer Science 101 Computer Systems Organization.
Computer System Internal components - The processor - Main memory - I / O controllers - Buses External components (peripherals). These include: - keyboard.
Introduction to Microprocessors
Computer Architecture Souad MEDDEB
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
IT3002 Computer Architecture
Multiprocessor SoC integration Method: A Case Study on Nexperia, Li Bin, Mengtian Rong Presented by Pei-Wei Li.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Computer Operation. Binary Codes CPU operates in binary codes Representation of values in binary codes Instructions to CPU in binary codes Addresses in.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
MICROPROCESSOR AMARTYA ROY-72 ANGSHUMAN CHATTERJEE-80 ASHISH LOHIA-70 MOLOY CHAKRABORTY-60.
Microprocessor and Microcontroller Fundamentals
Assembly Language for Intel-Based Computers, 5th Edition
Introduction to cosynthesis Rabi Mahapatra CSCE617
Instruction encoding We’ve already seen some important aspects of processor design. A datapath contains an ALU, registers and memory. Programmers and compilers.
Chapter 4 The Von Neumann Model
Presentation transcript:

Presenter : Cheng_Ta Wu Shunitsu Kohara† Naoki Tomono†,‡ Jumpei Uchida† Yuichiro Miyaoka†,∗Nozomu Togawa‡ Masao Yanagisawa† Tatsuo Ohtsuki† † Department of Computer Science, Waseda University ‡ Presently, the author is with the Toyota ∗ Presently, the author is with the Toshiba 2006 ASPDAC

Abstract What’s the problem Related works The proposed method Experiment Results

In SoC designs, efficient communication between the hardware IPs and the on-chip processor becomes very important, however the interface is usually affected by the processor core specification. Thus in this paper, we focus on developing an efficient interface circuit architecture for the communications between the on-chip processor and embedded hardware IP cores. we also propose a method to synthesize it. Experimental results show that our method could obtain optimal interface circuits and works well through designing a MPEG-4 encode application.

Though the design time of SoCs can be greatly reduced by efficient re-use of intellectual property (IP) cores, how to develop an efficient interface circuit between the hardware IPs and the on-chip processor becomes an important task. In the literature, most of the previous works assumes that both of connected IPs have same model for interface description. However most of the used IPs are not standard IPs.

[4] Component Wrapper Language (CWL) This Paper

IFC(interface circuit)_Synthesizer:  A designer searches hardware IPs for hardware parts from a hardware IP database and uses a processor core synthesis system for software parts. CWL : (Component Wrapper Language) Hardware-IP-Instructions: CDP, LDC/STC, MCR/MRC

The processor core communicates with hardware IPs with three handshake signals as follows:  nCPI : not CoProcessor Instruction  CPA : CoProcessor Absent  CPB : CoProcessor Busy

Processor core sends three type of hardware-IP instructions:  CDP : chose hardware IP(HW#) and function(OP#)  LDC/STC : transfer data between IP and shared memory  MCR/MRC : transfer data between IP and processor core register The format of hardware-IP-instruction is as follows:  CDP HW#, OP#  LDC HW#, N, Rd, Rn, offset  STC HW#, N, Rd, Rn, offset  MRC HW#, Rd1, Rd2  MCR HW#, Rd1, Rd2

BUS I/O: controls input/output data flow via shared bus. It (1) inputs data from shared bus to REGISTER (2) or inputs hardware-IP-instructions from shared bus to DECODER (3) or outputs data from REGISTER to a shared bus. DECODER decodes instructions from the processor core. If the instruction is a kind of hardware-Ip instructions and HW# field and OP# field are validate for target hardware IP, DECODER decodes the instruction and queues it into INST QUEUE. INST QUEUE preserves bit vectors decoded by DECODER. If the target hardware IP is not busy, it dequeue first bit vector to CONTROLLER. HANDSHAKE deals with handshake protocol with the signal interface. It is controlled with nCPI signal from processor core and control signals from CONTROLLER, and output CPA and CPB signals for the handshake communication. REGISTER saves data from / to a shared memory and the target hardware IP. input REGISTER saves data before hardware IP processing, and result REGISTER saves data after hardware IP processing. CONTROLLER controls all units in IFC with control signals and controls hardware IP for processing data. It consists of counter and state machine. The input is given from INST QUEUE and HANDSHAKE.

CONTROLLER sends control signals to all the units in IFC to execute hardware-IP-instructions. CONTROLLER has state machines to control all the units in IFC and the target hardware IP.  The state machine has states correspond with hardware IP functions, and each of the states has several sub-states Control signals are defined every sub-state to execute hardware IP functions.  Example to execute STC, state S3 is correspond with STC, CONTROLLER sends control signals defined in the sub-state S3-1

Design environment: OS:Linux2.4, CPU: Intel Pentium III 500MHz, RAM: 192MB. Implement IFC_Synthesizer in Ruby Language Partition MPEG4-encoder into hardware parts(RGBtoYCrCb, ME, MC, IDCT, DCT) and software parts(quantization, dequantization, VLC) The processor kernel is (1) RISC-type or (2)DSP-type. RISC-type kernel has five pipeline stages composed of IF, ID, EXE, MEM and WB stages. DSP-type kernel has three pipeline stages composed of IF, ID and EXE stages. The maximum of the execution time of IFC Synthesizer is [sec], the minimum is [sec], the average is [sec]. However, in case of designing manually, the design of IFC requires about three days. IFC Synthesizer reduces the cost of designing IFC.

Automatic Interface Synthesis based on the Classification of Interface Protocols of IPs Protocol Transducer Synthesis using Divide and Conquer approach Efficient Network Interface Architecture for Network-on-chip Automatic synthesis interface Out of order wrapper architecture An Interface-Circuit Synthesis Method with Configurable Processor Core in IP- Based SoC Designs