Static DLX processor Understanding its architecture and available toolset.

Slides:



Advertisements
Similar presentations
Computer Science and Engineering Laboratory, Transport-triggered processors Jani Boutellier Computer Science and Engineering Laboratory This.
Advertisements

Instruction-Level Parallel Processors {Objective: executing two or more instructions in parallel} 4.1 Evolution and overview of ILP-processors 4.2 Dependencies.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Software. What Is Software? software –Also called Computer programs –Are a list of instructions –Instructions are called code –CPU performs the instructions.
1 Lecture-2 CSIT-120 Spring 2001 Revision of Lecture-1 Introducing Computer Architecture The FOUR Main Elements Fetch-Execute Cycle A Look Under the Hood.
Review and Overview. Review  Combinational logic circuit – Decoder, Encoder, Multiplexer, De-multiplexer, Full Adder, Multiplier  Sequential logic circuit.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Chapter XI Reduced Instruction Set Computing (RISC) CS 147 Li-Chuan Fang.
Program Flow Charting How to tackle the beginning stage a program design.
1 Real-Time System Design Developing a Cross Compiler and libraries for a target system.
Systems Programming Course Gustavo Rodriguez-Rivera.
(Page 554 – 564) Ping Perez CS 147 Summer 2001 Alternative Parallel Architectures  Dataflow  Systolic arrays  Neural networks.
The Processor 2 Andreas Klappenecker CPSC321 Computer Architecture.
CPEN Digital System Design Chapter 9 – Computer Design
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
PRE-PROGRAMMING PHASE
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Pipelining By Toan Nguyen.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
ECE 265 – LECTURE 9 PROGRAM DESIGN 8/12/ ECE265.
Types of software. Sonam Dema..
Computer Organization
COMPUTER ORGANIZATION CSCE 230 Final Project. OVERVIEW  Implemented RISC processor  VHDL  Test program created to demonstrate abilities.
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
RM2D Let’s write our FIRST basic SPIN program!. The Labs that follow in this Module are designed to teach the following; Turn an LED on – assigning I/O.
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
Python From the book “Think Python”
designKilla: The 32-bit pipelined processor Brought to you by: Victoria Farthing Dat Huynh Jerry Felker Tony Chen Supervisor: Young Cho.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
09/24/2010CS4961 CS4961 Parallel Programming Lecture 10: Thread Building Blocks Mary Hall September 24,
What is Programming? A program is a list of instructions that is executed by a computer to accomplish a particular task. Creating those instructions is.
Computer Organization CS224 Fall 2012 Lesson 22. The Big Picture  The Five Classic Components of a Computer  Chapter 4 Topic: Processor Design Control.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
FDR--ECE6276 Class Project 12/06/00 The ChooChoo: Final Design Review System Integration Software School of Electrical and Computer Engineering Georgia.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
 Programming - the process of creating computer programs.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Teaching Digital Logic courses with Altera Technology
Digital Design Lecture 8 Combinatorial Logic (Continued)
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
FDR--ECE6276 Class Project 12/06/00 The ChooChoo: Final Design Review Wody-Instruction Set Architecture School of Electrical and Computer Engineering Georgia.
Representation of Data - Instructions Start of the lesson: Open this PowerPoint from the A451 page – Representation of Data/ Instructions How confident.
Why don’t programmers have to program in machine code?
Topics Introduction Hardware and Software How Computers Store Data
CSCI-235 Micro-Computer Applications
Microprocessor and Assembly Language
Overview Instruction Codes Computer Registers Computer Instructions
Assembler, Compiler, Interpreter
Programming Languages
Figure 8.1 Architecture of a Simple Computer System.
Superscalar Processors & VLIW Processors
Computer Organization & Compilation Process
(Course Introduction)
Programming Languages
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.
Topics Introduction Hardware and Software How Computers Store Data
Assembler, Compiler, Interpreter
Embedded System Development Lecture 13 4/11/2007
Introduction to Microprocessor Programming
Control units In the last lecture, we introduced the basic structure of a control unit, and translated our assembly instructions into a binary representation.
CS 286 Computer Organization and Architecture
Review: The whole processor
Computer Organization & Compilation Process
Presentation transcript:

Static DLX processor Understanding its architecture and available toolset

Available Tools C compiler Assembler tim2vhdl timtool

C compiler A C compiler for this DLX processor is generated using the retargetable C compiler lcc which was created at Princeton. The url for lcc is A new machine definition file will need to be generated for each profile in order to use the compiler.

C compiler (cont.) The input the the C compiler is standard ANSI C code. The output is an assembly program written in the defined instruction set architecture.

Assembler An assembler is available for the DLX processor using TI’s retargetable Meta Assembler TIM. The url for the basic TIM files is The url for a windows version of TIM is /index.html. I have not used the windows version of this tool, but it may be easier to use so I’m checking it out.

Assembler (cont.) A new TIM definition file will need to generated for each instruction set architecture. The input to the TIM assembler is an assembly program. The output is machine code. By machine code I mean the bit stream that the decode stage is designed to decode.

tim2vhdl This is a tool to convert the machine code that is generated by TIM to VHDL code that can be incorporated into the fetch.vhd module. A full explanation of tim2vhdl, including source code, can be found on pages of the report-4500.ps file posted to egroups.

timtool The assembly file that is generated by the lcc compiler is not precisely compatible with the input needs of TIM. This scripts corrects those problems. The input is the assembly program generated by lcc. The output is the assembly program that is fed into TIM.

timtool (cont.) timtool is responsible for several formatting changes as well as adding/changing some of the code generated. A full explanation of timtool, including source code, can be found on pages of the report-4510.ps file posted on egroups.

Overview of DLX architecture

Reusable modules Modules that should be reusable with little or no modification are the clock, multiply, adder, divider, and multiplexer. The is also a considerable amount of code that can be partially reused or used as an example. The execute and decode unit are good examples of this.

DLX Instruction Flow

Profile Instruction Flow