NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Ing. Eduardo Jonathan Martínez.

Slides:



Advertisements
Similar presentations
CH10 Instruction Sets: Characteristics and Functions
Advertisements

Morgan Kaufmann Publishers Arithmetic for Computers
Design of a Multimedia Extension for RISC Processor
Vectors, SIMD Extensions and GPUs COMP 4611 Tutorial 11 Nov. 26,
PIPELINE AND VECTOR PROCESSING
Lecture 4 Introduction to Digital Signal Processors (DSPs) Dr. Konstantinos Tatas.
Review of the MIPS Instruction Set Architecture. RISC Instruction Set Basics All operations on data apply to data in registers and typically change the.
Intel Pentium 4 ENCM Jonathan Bienert Tyson Marchuk.
Fall 2012SYSC 5704: Elements of Computer Systems 1 MicroArchitecture Murdocca, Chapter 5 (selected parts) How to read Chapter 5.
1 Lecture 3: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation.
1 ECE462/562 ISA and Datapath Review Ali Akoglu. 2 Instruction Set Architecture A very important abstraction –interface between hardware and low-level.
Spring 2013 Advising Starts this week! CS2710 Computer Organization1.
The University of Adelaide, School of Computer Science
Fixed Point Numbers The binary integer arithmetic you are used to is known by the more general term of Fixed Point arithmetic. Fixed Point means that we.
Comp Sci Floating Point Arithmetic 1 Ch. 10 Floating Point Unit.
EE141 © Digital Integrated Circuits 2nd Arithmetic Circuits 1 Digital Integrated Circuits A Design Perspective Arithmetic Circuits Jan M. Rabaey Anantha.
Embedded Systems Programming
COMP3221: Microprocessors and Embedded Systems Lecture 2: Instruction Set Architecture (ISA) Lecturer: Hui Wu Session.
Computer ArchitectureFall 2007 © September 10, CS-447– Computer Architecture M,W 2:30-3:50pm Lecture 8.
Lecture 9 Sept 28 Chapter 3 Arithmetic for Computers.
Computer Hardware What goes on inside?. Deeper.
Parul Polytechnic Institute Subject Code : Name Of Subject : Microprocessor and assembly language programming Name of Unit : Introduction to Microprossor.
NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design and implementation of a Multimedia Extension for a RISC Processor Eduardo.
NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Ing. Eduardo Jonathan Martínez.
The Instruction Set Architecture Level Dept. of Computer Science Virginia Commonwealth University.
Data Representation By- Mr. S. S. Hire. Data Representation.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
Classifying GPR Machines TypeNumber of Operands Memory Operands Examples Register- Register 30 SPARC, MIPS, etc. Register- Memory 21 Intel 80x86, Motorola.
Registers and MAL Lecture 12. The MAL Architecture MAL is a load/store architecture. MAL supports only those addressing modes supported by the MIPS RISC.
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
Chapter 3 Arithmetic for Computers (Integers). Florida A & M University - Department of Computer and Information Sciences Arithmetic for Computers Operations.
1 Instruction Set Architecture (ISA) Alexander Titov 10/20/2012.
Crosscutting Issues: The Rôle of Compilers Architects must be aware of current compiler technology Compiler Architecture.
Introduction to MMX, XMM, SSE and SSE2 Technology
CS/EE 5810 CS/EE 6810 F00: 1 Multimedia. CS/EE 5810 CS/EE 6810 F00: 2 New Architecture Direction “… media processing will become the dominant force in.
Introdution to SSE or How to put your algorithms on steroids! Christian Kerl
1 Lecture 10: Floating Point, Digital Design Today’s topics:  FP arithmetic  Intro to Boolean functions.
Computer Organization Rabie A. Ramadan Lecture 3.
1 Fundamentals of Computer Science Combinational Circuits.
Computer Architecture Lecture 11 Arithmetic Ralph Grishman Oct NYU.
Instruction Sets. Instruction set It is a list of all instructions that a processor can execute. It is a list of all instructions that a processor can.
INSTRUCTION SET PRINCIPLES. Computer Architecture’s Changing Definition  1950s to 1960s: Computer Architecture Course = Computer Arithmetic  1970s to.
10/25/2005Comp 120 Fall October 25 Review for 2 nd Exam on Tuesday 27 October MUL not MULI Ask Questions!
MAC/VU-Advanced Computer Architecture Lecture 6- Instruction Set Principles (3) 1 Advanced Computer Architecture CS 704 Advanced Computer Architecture.
Stored Program Concept Learning Objectives Learn the meaning of the stored program concept The processor and its components The fetch-decode-execute and.
Arithmetic for Computers Chapter 3 1. Arithmetic for Computers  Operations on integers  Addition and subtraction  Multiplication and division  Dealing.
Array multiplier TU/e Processor Design 5Z032.
Microprocessor Systems Design I
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
Microprocessor Systems Design I
Chapter 4 Data-Level Parallelism in Vector, SIMD, and GPU Architectures Topic 13 SIMD Multimedia Extensions Prof. Zhang Gang School.
Lecture 10: Floating Point, Digital Design
Advanced Computer Architecture 5MD00 / 5Z032 Instruction Set Design
MIPS Assembly.
Introduction to Computer Systems Engineering
Digital Building Blocks
The University of Adelaide, School of Computer Science
EE 445S Real-Time Digital Signal Processing Lab Spring 2014
The University of Adelaide, School of Computer Science
Chapter 5 – Number Representation and Arithmetic Circuits
Part III The Arithmetic/Logic Unit
Chapter 4: Representing instructions
Digital System Design II 数字系统设计2
Introduction to Microprocessor Programming
Instruction Set Principles
Computer Architecture
Course Outline for Computer Architecture
CPU Structure CPU must:
Introduction to Computer Systems Engineering
Presentation transcript:

NATIONAL POLYTECHNIC INSTITUTE COMPUTING RESEARCH CENTER IPN-CICMICROSE Lab Design of a Multimedia Extension for RISC Processor Ing. Eduardo Jonathan Martínez Montes Ph.D. Marco Antonio Ramírez Salinas

I.Thesis Requirements 1.Committee Tutorial 2. Objective II.Overview 1.SIMD vs SISD III. Back to basics 1.The adder 2.Ripple carry adder 3.Carry look ahead adder 4.Kogge Stone adder 5.Adders comparison OUTLINEPart 1 IPN-CICMICROSE Lab2 IV. Using the adder 1.Adder substracter 8 bits 2.Adder substracter 16 bits 3.Example 4.Multiplier 8 bits 5.Multiplier 16 bits 6.Example multiplier

V.MIPS Digital Media Extension I.Features II.Register File III.Decode IV.Vector to vector arithmetic V.Oct Byte Format VI.Quad Half Format VII.Instruction Path VIII.Prototype VI.Team Work 1.Linux for MIPS VII.Future Work 1.MDMX ISA 2.Work Schedule IPN-CICMICROSE Lab3 OUTLINEPart 2

IPN-CICMICROSE Lab4 THESIS REQUIREMENTSCommittee Tutorial NameExpertise Area Ph.D. Marco Antonio Ramírez SalinasComputer Architecture Ph.D. Luis Alfonso Villa VargasComputer Architecture Ph.D. Herón Molina LozanoVLSI Ph.D. José Luis Oropeza RodríguezOperating Systems

IPN-CICMICROSE Lab5 THESIS REQUIREMENTSObjective General Objective Design a multimedia extension unit for a RISC processor (Alligator). Specific Objectives  Design a vector adder with saturation arithmetic.  Design a multiplier with saturation arithmetic.  Implement all the Instruction set of the MIPS Digital Media extension (MDMX).

IPN-CICMICROSE Lab6 REVIEWSIMD vs SISD

IPN-CICMICROSE Lab7 BACK TO BASICSThe Adder A full adder is an arithmetic circuit that is used to add three bits. Logic diagramBlock diagram Boolean functions

IPN-CICMICROSE Lab8 Ripple Carry Adder (part 1) The carry propagation time is the major speed limiting factor. BACK TO BASICS

IPN-CICMICROSE Lab9 Ripple Carry Adder (part 2)BACK TO BASICS

IPN-CICMICROSE Lab10 Ripple Carry Adder (part 3)BACK TO BASICS Features Resources: 35 LEFmax: MHz Size: 16 bits

IPN-CICMICROSE Lab11 Carry Look Ahead Adder (part 1) It improves speed by reducing the amount of time required to determine carry bits. BACK TO BASICS

IPN-CICMICROSE Lab12 Carry Look Ahead Adder (part 2)BACK TO BASICS

IPN-CICMICROSE Lab13 Carry Look Ahead Adder (part 3)BACK TO BASICS Features Resources: 57 LEFmax: MHz Size: 16 bits

IPN-CICMICROSE Lab14 Kogge Stone Adder (part 1) It is widely considered the fastest adder design possible. BACK TO BASICS

IPN-CICMICROSE Lab15 Kogge Stone Adder (part 2) Black Cell Gray Cell BACK TO BASICS

IPN-CICMICROSE Lab16 Kogge Stone Adder (part 3)BACK TO BASICS Features Resources: 82 LEFmax: MHz Size: 16 bits

IPN-CICMICROSE Lab17 Adders ComparisonBACK TO BASICS

IPN-CICMICROSE Lab18 USING THE ADDERAdder Substracter Saturated/Wrapped 8 bits Features Operations: Adder, SubstracterArithmetic: Saturated, Wrapped Size: 8 bitsUnsigned Integer Resources: 59 LEFmax: MHz

IPN-CICMICROSE Lab19 Adder Substracter Saturated/Wrapped 16 bits Features Operations: Adder, SubstracterArithmetic: Saturated, Wrapped Size: 16 bitsSigned Integer Resources: 113 LEFmax: MHz USING THE ADDER

IPN-CICMICROSE Lab20 Adder Substracter Example Operations Example Operations *Saturation arithmetic: all operations such as addition and multiplication are limited to a fixed range between a minimum and maximum value. USING THE ADDER

IPN-CICMICROSE Lab21 Multiplier 8x8 Features Operations: MultiplierArithmetic: Saturated, Wrapped Size: 8x8=16 bitsUnsigned Integer Resources: 308 LEFmax: MHz USING THE ADDER

IPN-CICMICROSE Lab22 Multiplier 16x16 Features Operations: MultiplierArithmetic: Saturated, Wrapped Size: 16x16=32 bitsSigned Integer Resources: 1,723 LEFmax: MHz USING THE ADDER

IPN-CICMICROSE Lab23 Example Operations *Saturation arithmetic: all operations such as addition and multiplication are limited to a fixed range between a minimum and maximum value. Multipliers Example OperationsUSING THE ADDER

IPN-CICMICROSE Lab24 MIPS Digital Media ExtensionFeatures  MDMX supports video, audio, and graphics pixel processing.  MDMX is not part of the MIPS Instruction Set.  A processor that implements the MDMX must implement the MIPS-V ISA  MIPS MDMX is not intended for general purpose computing.  Software support is via shared libraries and assembly language only.

IPN-CICMICROSE Lab25 MIPS Digital Media ExtensionRegister files  MDMX shares a register file with the Floating Point Unit.  Data is moved between the shared register file and memory with existing Floating Point Load and Store double operations.  Registers are interpreted in two formats: Quad Half and Oct Byte.  MDMX also shared the 8 Floating Point Condition Code bites.  MDMX has a private 192 bit accumulator register.

IPN-CICMICROSE Lab26 DecodeMIPS Digital Media Extension

IPN-CICMICROSE Lab27 Vector to vector arithmeticMIPS Digital Media Extension

IPN-CICMICROSE Lab28 Oct Byte Format  Unsigned.  64 bits vector  8 elements each one 8 bits  Accumulator contains 8 24 bits elements. MIPS Digital Media Extension

IPN-CICMICROSE Lab29 Quad Half Format  Signed.  64 bits vector  4 elements each one 16-bits  Accumulator contains 4 48-bits elements. MIPS Digital Media Extension

IPN-CICMICROSE Lab30 Instruction pathMIPS Digital Media Extension

IPN-CICMICROSE Lab31 Prototype Features Resources: 8,449 LEFmax: MHz ADD, ADDL, ADDASUB, SUBL, SUBA MUL, MULL, MULALDC2, SDC2 No LPM MIPS Digital Media Extension

IPN-CICMICROSE Lab32 Linux for MIPS (part 1)TEAM WORK

IPN-CICMICROSE Lab33 Linux for MIPS (part 2)TEAM WORK

IPN-CICMICROSE Lab34 Linux for MIPS (part 3)TEAM WORK

IPN-CICMICROSE Lab35 FUTURE WORKMDMX ISA

IPN-CICMICROSE Lab36 Work ScheduleFUTURE WORK

IPN-CICMICROSE Lab37 Q&A