1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Oct 29, 2014.

Slides:



Advertisements
Similar presentations
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Advertisements

Memory Mapped I/O. What is Memory Mapped I/O? Instead of having special methods for accessing the values to be read or written, just get them from memory.
What do you expect/require of other groups? Paul Spillane, Andre Lancour, & Victor Soto.
1 COMP541 Wrap Up Montek Singh Nov 24, Conclusion of this course  What did we learn this semester? Combinational logic Combinational logic Sequential.
Click anywhere to start the presentation A PRESENTATION BY: VIRAT SINGH 7-C.
Lecture 16: Basic CPU Design
1 COMP541 VGA Character Terminal Montek Singh Mar 1, 2007.
COMP541 Input Devices: Keyboards, Mice and Joysticks
1 COMP541 Completing the MIPS Datapath Montek Singh Mar 27, 2007.
Practical Session No. 10 Input &Output (I/O). I/O Devices Input/output (I/O) devices provide the means to interact with the “outside world”. An I/O device.
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
Introduction to computer: storing instructions and information.
Drivers Station 2010 Joe Ross Team /12/2009.
Chapter 8 Input/Output l I/O basics l Keyboard input l Monitor output l Interrupt driven I/O l DMA.
COMP 1017: Digital Technologies Session 7: Motherboards.
Chapter 5 Basic Input/Output System (BIOS)
Basic Input Output System
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
Chapter 1 Basic Structure of Computers. Chapter Outline computer types, structure, and operation instructions and programs numbers, arithmetic operations,
BASIC INPUT AND OUTPUT INTERFACING.  8085A communicate with outside world using the I/O devices.  Since memory and I/O devices share the system bus,
1. Introduction 2. Methods for I/O Operations 3. Buses 4. Liquid Crystal Displays 5. Other Types of Displays 6. Graphics Adapters 7. Optical Discs 10/01/20151Input/Output.
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Apr 11, 2012.
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
10-Sep Fall 2001: copyright ©T. Pearce, D. Hutchinson, L. Marshall Sept Recall Objective: understand computers at machine level interested.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
1 COMP541 Multicycle MIPS Montek Singh Apr 4, 2012.
COMP541 Multicycle MIPS Montek Singh Apr 8, 2015.
Computer System Internal components - The processor - Main memory - I / O controllers - Buses External components (peripherals). These include: - keyboard.
Input-Output Organization
1 COMP541 Input Devices: Keyboards, Mice and Joysticks Montek Singh Apr 6, 2015.
7. Peripherals 7.1 Introduction of peripheral devices Computer Studies (AL)
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Programmable Peripheral Interface Parallel port Interface 8255
Advanced x86: BIOS and System Management Mode Internals Memory Map Xeno Kovah && Corey Kallenberg LegbaCore, LLC.
COMP541 Multicycle MIPS Montek Singh Mar 25, 2010.
Computer Architecture Lecture 9 MIPS ALU and Data Paths Ralph Grishman Oct NYU.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
I/O: Input-Output By: Tommy Zeng. What is I/O? I/O – short for “Input – Output” How a computer interacts with its users Input – gets information from.
Computer Parts Review. A small data storage device that uses flash memory. A. USB B. CPU C. Flash Drive D. CD Drive.
Practical Session 12 Input &Output (I/O). I/O Device Input / Output (I/O) devices Input / Output (I/O) devices provide the means to interact with the.
Bootstrapping Introduction. Bootstrapping Introduction: Computers execute programs stored in main memory, and initially the operating system is on the.
Part IVI/O Systems Chapter 13: I/O Systems. I/O Hardware a typical PCI bus structure 2.
May 22, 2000Systems Architecture I1 Systems Architecture I (CS ) Lecture 14: A Simple Implementation of MIPS * Jeremy R. Johnson Mon. May 17, 2000.
Computer Memory The DOS, Win 3X, & Win 9X Model Richard L. Goldman ©February 1, 2001.
Practical Session 11 Computer Architecture and Assembly Language Input &Output (I/O)
1 COMP541 Wrap Up Montek Singh Apr 24, Conclusion of this course  What did we learn this semester? Combinational logic Combinational logic Sequential.
1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Apr 6, 2010.
Computer Architecture Adapted from CS10051 originally by Professor: Johnnie Baker Computer Science Department Kent State University von Neuman model.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Computer System Structures
Computer systems is a 10-credit unit
I/O Systems.
COMP541 Input Devices: Keyboards, Mice and Joysticks
UNIT 9 Computer architecture
COMP541 Datapaths I Montek Singh Mar 28, 2012.
Processor Management Damian Gordon.
These are slides from Comp411
Intel 8080 Processor The 8080 was an 8-bit processor
Chapter 1: How are computers organized?
Computer Architecture and Assembly Language
COMP541 Datapaths I Montek Singh Mar 18, 2010.
Chapter 4 Introduction to Computer Organization
Introduction to Computer Systems
Mechanism: Address Translation
Processor Management Damian Gordon.
MIPS Assembly.
Presentation transcript:

1 COMP541 Final Missing Pieces of MIPS: Adding Memory & I/O Montek Singh Oct 29, 2014

Memory-Mapped I/O  Simple technique for accessing I/O give each I/O device a “fake” memory address give each I/O device a “fake” memory address i.e., CPU reads and writes a specific range of memory locations for I/O devices i.e., CPU reads and writes a specific range of memory locations for I/O devices  using lw and sw  pretending I/O devices were simply memory locations  net effect is reading and writing I/O each device is assigned its own range of memory each device is assigned its own range of memory  “address space” example: example:  data memory from ’h0000_2000 to ’h0000_3FFF  VGA display (screen memory) from ’h0000_4000 to ’h0000_40FF  joystick status at ’h0000_6000  mouse status at ’h0000_6004  keyboard status at ’h0000_6008 … etc. 2

Memory-Mapped I/O  Putting data mem at 0x2000 also helps with MARS “Compact, Text at 0” puts data at 0x2000 “Compact, Text at 0” puts data at 0x2000 data mem data mem screen mem screen mem 0x x0000 3FFF x x0000 4FFF joystick/kbd 0x gap 0x (the upper limit will depend on your screen size)

data mem data mem screen mem screen mem 0x x0000 3FFF x x0000 4FFF joystick/kbd 0x gap starting at Multicycle MIPS (later)  Can combine data and instr memories into one MARS assumes this type of unified memory MARS assumes this type of unified memory starting at 0x instr mem instr mem

The Big Picture  CPU, memory and I/O unit, display and joystick data mem data mem screen mem screen mem joystick/kbd pass thru VGA Display Driver memory mapper MIPS Memory and I/O Unit 2 read ports 1 write port 1 read port 1 write port instr mem instr mem

6 Adding I/O  Look at memory-mapped I/O  Conceptually like this

7 In Reality  Isolated from CPU  On standard buses PCI PCI  Ours will typically be simpler Just memory addresses Just memory addresses

Memory Mapping  How to do in Verilog? Let’s do this interactively! Let’s do this interactively! 8

9 Joystick, mouse, etc.  You’ll add joystick or keyboard (or both) into memory locations that you can read e.g., at two locations right above character memory e.g., at two locations right above character memory  I will show you next week

10 How Does Processor Begin?  One way is to initialize PC to 0 or some other predefined address or some other predefined address  Another possibility is to have a reset each time you hit a reset button, PC starts again at 0 each time you hit a reset button, PC starts again at 0  Make sure to have instructions there Modern computers have flash memory to boot CPU or go to configuration utility Modern computers have flash memory to boot CPU or go to configuration utility On (very) old computers had to enter boot program on front panel On (very) old computers had to enter boot program on front panel

Summary  Add I/O to complete the MIPS processor I/O is “memory-mapped” I/O is “memory-mapped”  shares the address space with memory  different regions of memory reserved for data mem, display, input devices, etc.  Final Project: start thinking about what you want for your demo! start thinking about what you want for your demo! 11