Antelope Progress MMU and Cache->Datapath interfaces almost complete Datapath moving slowly, control issues keep surfacing Hazard Detection/Prevention.

Slides:



Advertisements
Similar presentations
Microprocessors.
Advertisements

Adding the Jump Instruction
1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1.
Computer System Overview
COMP3221: Microprocessors and Embedded Systems Lecture 15: Interrupts I Lecturer: Hui Wu Session 1, 2005.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
Computer System Overview
1 Computer System Overview OS-1 Course AA
1 CSIT431 Introduction to Operating Systems Welcome to CSIT431 Introduction to Operating Systems In this course we learn about the design and structure.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Lec 8: Pipelining Kavita Bala CS 3410, Fall 2008 Computer Science Cornell University.
Hardware Support for Operating Systems Sunny Gleason Vivek Uppal COM S 414
ARM 7 Datapath. Has “BIGEND” input bit, which defines whether the memory is big or little endian Modes: ARM7 supports six modes of operation: (1) User.
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
CS 61C: Great Ideas in Computer Architecture (Machine Structures) Lecture 27: Single-Cycle CPU Datapath Design Instructor: Sr Lecturer SOE Dan Garcia
INTERRUPTS PROGRAMMING
Lecture 24: CPU Design Today’s topic –Multi-Cycle ALU –Introduction to Pipelining 1.
Basic Processing Unit (Week 6)
ARM Processor Architecture
Exception and Interrupt Handling
Introduction to Embedded Systems
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
Team Antelope Final Presentation
Computer System Overview Chapter 1. Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users.
1 Appendix A Pipeline implementation Pipeline hazards, detection and forwarding Multiple-cycle operations MIPS R4000 CDA5155 Spring, 2007, Peir / University.
EEE440 Computer Architecture
Direct Memory Access Module MTT M DIRECT MEMORY ACCESS MODULE (DMA)
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Operating System 1 COMPUTER SYSTEM OVERVIEW Achmad Arwan, S.Kom.
AT91 Interrupt Handling. 2 Stops the execution of main software Redirects the program flow, based on an event, to execute a different software subroutine.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
1. Building A CPU  We’ve built a small ALU l Add, Subtract, SLT, And, Or l Could figure out Multiply and Divide  What about the rest l How do.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
LECTURE 10 Pipelining: Advanced ILP. EXCEPTIONS An exception, or interrupt, is an event other than regular transfers of control (branches, jumps, calls,
1 Computer Architecture. 2 Basic Elements Processor Main Memory –volatile –referred to as real memory or primary memory I/O modules –secondary memory.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Introduction to Exceptions 1 Introduction to Exceptions ARM Advanced RISC Machines.
1 Computer System Overview Chapter 1. 2 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
Class Exercise 1B.
Exceptions Another form of control hazard Could be caused by…
Homework Reading Machine Projects Labs
Timer and Interrupts.
Control & Execution Finite State Machines for Control MIPS Execution.
Assembly Language for Intel-Based Computers, 5th Edition
Computer System Overview
Dr. Michael Nasief Lecture 2
Chapter 8 Input/Output I/O basics Keyboard input Monitor output
Control & Execution Finite State Machines for Control MIPS Execution.
Pipelining: Advanced ILP
Morgan Kaufmann Publishers Computer Organization and Assembly Language
X1 & X2 These are also called Crystal Input Pins.
Guest Lecturer TA: Shreyas Chand
22 October 3 classes before 2nd exam! Control 1/16/2019
ARM Introduction.
Computer System Overview
Update : about 8~16% are writes
COMP3221: Microprocessors and Embedded Systems
Chapter 13: I/O Systems.
CS/COE0447 Computer Organization & Assembly Language
Presentation transcript:

Antelope Progress MMU and Cache->Datapath interfaces almost complete Datapath moving slowly, control issues keep surfacing Hazard Detection/Prevention coming along IRQ/Exception handler is somewhat complete Instruction Sequencer built, helps with multicycle instructions and IRQ/Exception sequences

Main Memory Controlled by State Machine Successfully simulated with delays Left to do: Cache Memory interface –State machine

Memory FSM Signals In: –Instruction read, Data read, Data write –Reset Signals out: –DataAddr, InstrAddr –select, r_w –valid, done

Memory Delay Gen_lib component: delay –Rise delay = 80 ns –Fall delay = 0 ns State Machine sets signal high and then waits for the signal to propagate through Loops in wait state

8 bit Cache Blocks (to enable byte transfer)

Cache Memory Signals out: –Pipeline hold –LoadMem (cache write) Signals in: –Data write, Data read, Instruction read –Valid, Done –Dirty, hit

Instruction Sequencer Found that many multicycle instructions can be broken into a sequence of single cycle instructions. Wanted a way to trigger a sequence of instructions to run through the pipeline. Example: LDR/STR -> load the sequencer rom with an add/sub instruction and a custom ldr/str instruction. Activate the sequencer whenever LDR/STR runs through pipe.

Sequencer Logic

Sequencer Integration Sequencer is just placed in the fetch stage in parallel with the instruction cache. The sequencer determines whether or not it is in control of the datapath. If a sequence is requested, the PC is held at it’s current value (though I may have to decrement it…), and the sequencer inserts instructions into the datapath until it is done.

Datapath

Hazard Checking Logic Checks to see if Rd (destination register) is read from in next 2 commands

Original Design

Overview

Block Data Transfer

Interrupt Handler Component must handle the following seven cases: 1.Reset (Highest Priority) 2.Data Abort 3.FIQ 4.IRQ 5.Prefetch Abort 6.Undefined Instruction 7.Software Interrupt (SWI) (Lowest Priority)

Implementation One ROM file handles memory addresses. 3-bit input leads to 32-bit address for PC. Second ROM file handles CPSR alterations. 4-bit input leads to lower 8 bits of CPSR. Priorities of the interrupts are handled with CLZ functionality. Lastly, no interrupts leads to “Active = 0”.

To do: Finish everything.