Incell Phonium Processor Design Specifications Dale Mansholt Aaron Drake Jonathan Scruggs Travis Svehla Incell Phonium Processor.

Slides:



Advertisements
Similar presentations
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Advertisements

Chapter 10- Instruction set architectures
Fall EE 333 Lillevik 333f06-l4 University of Portland School of Engineering Computer Organization Lecture 4 Assembly language programming ALU and.
Utilizing the GDB debugger to analyze programs Background and application.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Systems Software.
COE Computer Organization & Assembly Language
Lab6 – Debug Assembly Language Lab
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Assemblers Dr. Monther Aldwairi 10/21/20071Dr. Monther Aldwairi.
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.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
Overview The von Neumann Machine - the programmable digital computer Introducing the LC-3 Computer - A “toy” computer for us to learn from Computer machine.
Chapter 4 H1 Assembly Language: Part 2. Direct instruction Contains the absolute address of the memory location it accesses. ld instruction:
State Machines Used to Design Sequential Circuits.
Henry Hexmoor1 Chapter 10- Control units We introduced the basic structure of a control unit, and translated assembly instructions into a binary representation.
Overview von Neumann Model Components of a Computer Some Computer Organization Models The Computer Bus An Example Organization: The LC-3.
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
MIPS Instruction Set Advantages
Assembly & Machine Languages
Computer Science 210 Computer Organization The Instruction Execution Cycle.
Chapter 2 Software Tools and Assembly Language Syntax.
Computer Organization
System Calls 1.
Incell Phonium Processor Project Plan Document Dale Mansholt Aaron Drake Jon Scruggs Travis Svehla.
Machine Instruction Characteristics
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface.
Computer Science/Ch. 5 System Softwares 5-1 Chapter 5 System Softwares.
Chapter One An Introduction to Programming and Visual Basic.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
CS 499 Final Presentation Aaron Drake - Project Manager/Lead Documenter Dale Mansholt - Lead Designer Jon Scruggs - Lead Analyst/Lead Tester Travis Svehla.
ECE 353 Lab 2 Pipeline Simulator Additional Material.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Chapter 4 Software. Introduction Program: is a set of sequence instructions that tell the computer what to do. Software: is a collection of programs,
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Chapter 10 Application Development
Invitation to Computer Science 6th Edition
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Lecture 1b- Introduction
Computer Science 210 Computer Organization
Component 1.6.
Today’s Agenda Exam 2 Part 2 (11:15am-12:30pm)
Addressing Modes in Microprocessors
MIPS Instruction Set Advantages
Topics Introduction Hardware and Software How Computers Store Data
ELE2MIC Friday Lecture Venue Change
Computer 4 JEOPARDY Bobbie, Sandy, Trudy.
Microprocessor and Assembly Language
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Instruction Format MIPS Instruction Set.
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Assembler Design Options
COMPUTER SOFT WARE Software is a set of electronic instructions that tells the computer how to do certain tasks. A set of instructions is often called.
Computer Science 210 Computer Organization
Chapter One: An Introduction to Programming and Visual Basic
Branch instructions We’ll implement branch instructions for the eight different conditions shown here. Bits 11-9 of the opcode field will indicate the.
A Discussion on Assemblers
ECE 353 Lab 3 Pipeline Simulator
Introduction to Computer Programming
Instruction Format MIPS Instruction Set.
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
Computer Architecture Assembly Language
Location Counter (LC) = 0 while line of code <> END if ORG
Presentation transcript:

Incell Phonium Processor Design Specifications Dale Mansholt Aaron Drake Jonathan Scruggs Travis Svehla Incell Phonium Processor

Overview Project Review Development Tools Assembler Overview Emulator Overview Integrated Environment Overview Design Goals

Project Review Our clients are creating a digital signal processor (DSP) called the Janus Processor. We will be: –Creating an assembler for the Janus instruction set –Creating an emulator for Janus Processor –Creating an environment that integrates the assembler and emulator

Development Tools MS Visual C for coding QT API for the integrated environment GUI MS Windows for testing Linux for testing

Assembler Overview Checks Janus assembly program for syntactical errors and jump instruction semantic errors Inserts no-op instructions as necessary to prevent data dependencies Translates assembly code into machine code and stores machine code to.bin file However, does not optimize assembly program

Janus Instruction Set RISC-Like No complex instructions that reference memory All ALU operations are performed only on registers Has ‘i’ or ‘r’ at end of mnemonic if it can access both memory and registers The ‘i’ or ‘r’ comes before mnemonic for DSP instructions

Janus Instruction Set There are three operand formats: –Basic register reference format It has a destination, source1, and source2 registers –Absolute memory reference It has a destination register and immediate value –Immediate addressing of DSP-level instructions It has a destination, address1, and address2 registers

Janus Instruction Set Basic register reference format: Absolute memory reference format: Immediate address of DSP-level instructions format: Opcode (6 bit)dr (3 bit)s1 (3 bit)s2 (3 bit)Unused (9 bit) Opcode (6 bit)dr (2 bit)Immediate or absolute value (16 bit) Opcode (6 bit)dr (2 bit)a1 (8 bit)a2 (8 bit)

Assembler Design Instruction Table –Text file containing the binary equivalents of the mnemonic opcode nop addrdr, s1, s DDDSSSSSSXXXXXXXXX Dependency Table –Will be a one dimensional array of N elements –Contains fields for the symbol of the registers Jump Table –Will be a table of variable size –Contains the addresses of the first instruction after each label in the.sas files.

Assembler Design Three-pass assembler –Pass one Checks the assembly code for syntax errors –Pass two Removes data dependencies by inserting “nop” instructions Saves the changes to a file with the extension “.sas” –Pass three Converts assembly code into machine code, which is saved to a file with the extension “.bin” Checks for jump instruction semantic errors

Assembler Subsystem

Assembler Interface One interface will be command driven on the console –Assemble Filename [starting Address] [/r] Filename – A “.as” file [Starting Address] – The starting address of a program [/r] – removes all “nop” instructions from a “.as” file –Output will be sent to the console

Assembler Interface Example 1:

Assembler Interface Example 2:

Assembler Pass 1 ldi $1 1 ldi $2 2 ldi $3 3 addr $4 $1 $2 subr $4 $2 $3

Assembler Pass 2 ldi $1 1 ldi $2 2 ldi $3 3 nop addr $4 $1 $2 nop subr $4 $4 $3

Assembler Pass

Emulator Overview Executes instructions like the Janus processor Allows for testing and debugging of a program Emulates the following: –Both seven-stage pipelines –Registers –Memories (Data, instruction, …)

Janus Processor

Janus Pipeline

Emulator Design Emulator Driver –The command line interface on the console Emulator Subsystem –Set up and coordinate the emulation process –Control the emulation directly in debug mode Pipeline –There are two pipelines –Execute the instructions –Has seven stages defined by the ECE team

Emulator Design Instruction –Stored in the instruction memory –“Tells” the pipeline what to do –Have an Operation Code (op-code) and operands Instruction Memory –One instruction memory per pipeline –Used to read and write instructions to Data –Information that is stored –Stored in registers and/or main memory

Emulator Design Data Memory –Two data memories per pipeline –Storage for variables Register –Used by pipelines to read and store data

Emulator Subsystem

Emulator Interface One interface will be command driven on the console –Emulate /load FileName [StartingAddress] –Emulate /emulate [OutputFileName] –Emulate /debug [OutputFileName] [NumCycles] [NumCycles] – Number of clock cycles to run

Emulator Interface Debugger: –s [NumCycles] Steps “NumCycles” clock cycles into the program. If “NumCycles” is not given, it is assumed to be one. –d Dumps memory at this time to the output file. Any successive dumps will be appended to the file. –g MemoryDeviceName Gets the data from the specified address of the specified device. –q Quits the debugger.

Emulator Interface Example:

Integrated Environment Overview Graphical front-end that combines the assembler and emulator Will use the classes of the assembler and emulator mentioned earlier Contains a line-by-line debugger Has an Electronic User’s Manual Will be made for Windows and Linux

Integrated Environment Interface Prototype layout design:

Design Goals Feasibility –Must have the assembler and emulator done by the end of the 2003 Spring semester. Reliability –The assembler, emulator, and integrated environment should produce output that is consistent with the instruction set specification Utility –The system should support the work of the user as best as possible Robustness –The system should be able to handle invalid user input as well as output appropriate error messages

Design Goals Readability –The code must be consistent Extensibility –The system should allow the clients and/or future CS teams to add new functionality Modifiability –The clients and/or future CS teams should be able to modify the code at a later date Usability –The integrated environment should be user friendly so that programmers and/or ECEs can use it

Questions? Our website: – Janus Processor website: –