Google
  Web www.spinics.net

Re: Write is twice the speed as read?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


"Howe, John" <JHowe@xxxxxxxxxx> wrote:
> Reads are slower than write because the read address request is
> presented on the bus and you wait until the memory mapped device (memory
> or device) data is returned.  Writes are faster because the address and
> data are presented at the same time and is performed in 1 step.

This is partially true. Well, it is true for for non-sequential data
accesses but, once you have the caches enabled or use ldm
instructions, bursts are generated to the multi-port memory controller
(MPMC) and subsequent reads can take a single cycle.

> Read (address, wait, returned data):
> Step 1 - Read request --> Bus --> Device
> Step 2 - data <-- bus <--- device data
> Total of two transactions.

The above is true for a non-sequential access. In this case, step1 can
be much longer (8 cycles) because of the wait states generated by the
memory controller, while the step2 can be 1 cycle only. So, the
difference between reads and writes might not be that big.

Chapter 3 in the VPB926EJ-S_Performance_FAQ_v1_1.pdf document in the
http://www.arm.com/support/VPB926EJ-S_Performance_FAQ_v1_1.zip archive
explains the memory access timings for Versatile/PB. This is also
valid for the Versatile/AB platform since they have the same memory
controller.

-- 
Catalin


-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php

[Site Home]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux ARM Kernel]     [Linux MIPS]     [ECOS]     [Tools]     [DDR & Rambus]     [Monitors]

Powered by Linux