A pipelined read cycle type, called Postfetch Mode (PFM) read cycle, has been added to the 2TP-VME's capabilities as an extra feature to speed up reading datablocks from VME (compare the data transfer rates in Appendix C).
In Postfetch Mode the transputer presents an address to the VME-bus, but does not wait for the read cycle to finish and returns with the data present in its Local Bus databuffers. This data is the result of the previous PFM VME read cycle that was completed while the transputer was busy generating/calculating the next address.
This parallelism/pipelining of address generation and cycle completion speeds up data block transfer significantly, especially with slow VME slaves.
The user must be aware however that the first read cycle in PFM will give indeterminate data and in order to finish a block transfer in PFM an extra cycle in a dedicated memory segment must be done to obtain the data from the last addressed VME location.
When using PFM it can happen that the other transputer on the same 2TP-VME cannot get access to the VME-bus during the length of the PFM block transfer (caused by fast consecutive cycles which do not allow the arbitration to switch from one transputer to the other). This other transputer then has its attempted VME-cycle aborted and its refresh timeout error flag timeout set. The user should keep this in mind when both transputers of a 2TP-VME access the VME-bus concurrently and data is read in PFM by one or both of the transputers.
Errors like these sometimes occurred in a test setup where blocks of 128 longwords where read as one transputer-blockmove in PFM. They disappeared when blocks of 64 longwords were used.
In Statusregisters 2 and 3 there is a PFM flag called pfmf that must be set and reset to start and end PFM reading. There are 2 ways to do this (it is recommended to the user to employ the automatic manner):