Memory Mapped I/O - PowerPoint PPT Presentation

About This Presentation
Title:

Memory Mapped I/O

Description:

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 or put them ... – PowerPoint PPT presentation

Number of Views:1204
Avg rating:3.0/5.0
Slides: 9
Provided by: facultyWi
Category:
Tags: mapped | memory

less

Transcript and Presenter's Notes

Title: Memory Mapped I/O


1
Memory Mapped I/O
2
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 or put them into memory.
  • The device is connected directly to certain main
    memory locations.
  • Two types of information to/from the device
  • Status
  • Value read/write

3
Why use Memory Mapped I/O
  • Makes programming simpler.
  • Do not have special commands to access I/O
    devices.
  • Just use lw and sw.
  • Takes some memory locations
  • Very few compared to the size of main memory.

4
Which Memory?
  • Memory addresses xffff0000 and above are used for
    I/O devices.
  • The device controller has registers.
  • These registers are given a memory address.
  • Recall that the processor is attached to a bus,
    memory is attached to the bus, I/O devices are
    attached to the bus.
  • When the bus sees certain addresses, it knows
    they are not memory addresses, but are addresses
    for accessing I/O devices.

5
Communicating with the Keyboard
  • The keyboard has 2 registers associated with it
  • Receiver control at address xffff0000
  • Receiver data at address xffff0004
  • The receiver control will have a 1 in the
    rightmost bit when there is a value ready to be
    read. It will have a 0 in that bit otherwise.
  • The receiver data will have the character pressed
    on the keyboard (only when the receiver control
    has a 1 in the rightmost bit)

6
Polling
  • To read, you go do you have something now? Now?
    Now? Now? Ok now read the value.
  • li t4, 0xffff0000 rec. control addr
  • again lw t1,0(t4) get rec. control value
  • andi t1, t1, 1 get rightmost bit
  • beqz t1, again if not ready check again
  • lw t0, 4(t4) get char. from rec. data

7
Display
  • Again 2 registers
  • Transmitter control (0xffff008)
  • Transmitter data (0xffff000c)
  • li t4, 0xffff0000
  • again lw t1, 8(t4)
  • andi t1,t1,1
  • beqz t1,again
  • sw t0, 12(t4)

8
Working with Memory Mapped I/O
  • When using memory mapped I/O on Spim, you must
    check the Mapped I/O box in the options.
  • A real MIPS system (not one simulated by Spim)
    will have many more control/data register pairs
    for all of the devices.
  • Must make sure you empty the data register before
    key is pressed again.
  • Accessing the data register resets the status
    register.
Write a Comment
User Comments (0)
About PowerShow.com