Computer Architecture
1999-2000 Fall
MW 3:30-4:45
Ciww 109

Allan Gottlieb
gottlieb@nyu.edu
http://allan.ultra.nyu.edu/~gottlieb
715 Broadway, Room 1001
212-998-3344
609-951-2707
email is best


======== START LECTURE #24 ========

Question 4: What happens on a write?

  1. Write-through

Homework: 7.41

  1. Write-back

    Write miss policy (advanced)

    Chapter 8: Interfacing Processors and Peripherals.

    With processor speed increasing 50% / year, I/O must improved or essentially all jobs will be I/O bound.

    The diagram on the right is quite oversimplified for modern PCs; a more detailed version is below.

    8.2: I/O Devices

    Devices are quite varied and their data rates vary enormously.

    Show a real disk opened up and illustrate the components

    8.4: Buses

    A bus is a shared communication link, using one set of wires to connect many subsystems.

    Synchronous vs. Asynchronous Buses

    A synchronous bus is clocked.

    An asynchronous bus is not clocked.

    1. The device makes a request (asserts ReadReq and puts the desired address on the data lines).

    2. Memory, which has been waiting, sees ReadReq, records the address and asserts Ack.

    3. The device waits for the Ack; once seen, it drops the data lines and deasserts ReadReq.

    4. The memory waits for the request line to drop. Then it can drop Ack (which it knows the device has now seen). The memory now at its leasure puts the data on the data lines (which it knows the device is not driving) and then asserts DataRdy. (DataRdy has been deasserted until now).

    5. The device has been waiting for DataRdy. It detects DataRdy and records the data. It then asserts Ack indicating that the data has been read.

    6. The memory sees Ack and then deasserts DataRdy and releases the data lines.

    7. The device seeing DataRdy low deasserts Ack ending the show. Note that both sides are prepared for another performance.

    Improving Bus Performance

    These improvements mostly come at the cost of increased expense and/or complexity.

    1. A multiplicity of buses as the diagrams above.

    2. Synchronous instead of asynchronous protocols. >Synchronous is actually simplier, but it essentially implies a multiplicity of buses, since not all devices can operate at the same speed.
      >br>
    3. Wider data path: Use more wires, send more data at one time.

    4. Separate address and data lines: Same as above.

    5. Block transfers: Permit a single transaction to transfer more than one busload of data. Saves the time to release and acquire the bus, but the protocol is more complex.