"Charles Gardiner" <> wrote in message
news:he9e5n$707$01$...
> What admittedly is only conjecture (i.e. not tangible reality, at least
> not for me), is where all this time overhead arises. From my real
> simulations, I know it is not in the FPGA (here max ~900ns round trip,
> typical more like 600ns). Whether the overhead is in the operating
> system as written by Microsoft or in the chip-set driver, probably as
> written by Intel, I indeed can't say for sure. From a HW or user point
> of view, I would however consider both together as 'the operating
> system'. My assumption on the interrupt etc. is based on descriptions I
> have seen regarding how Intel chip-sets generally implement port
> input/output requests. I'm assuming they do much the same for memory
> reads/writes. I am also sure that real memory (as in internal RAM)
> reads/writes are handled much more effectively as these go through the
> MCH chip in 'standard' Intel chip-sets. The newer Server single-chip
> companion chip E3xxx (or some number like that) with natively attached
> PCIe lanes for the peripherals are probably also faster but I don't have
> such a system (yet).
If you are referring to READ_REGISTER_ULONG operation, then your conjecture
is way off. If you look at the include file that defines this the operation
it is a memory barrier operation and then a memory read, or just a volatile
memory read so talking about the OS or the chip set driver getting in the
middle is nonsense. These are non-cached and they do go through Intel
chipset and you are are issuing one operation at a time, but it is not some
mysterious driver that is getting in the way.
--
Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website:
http://www.windrvr.com
Blog:
http://msmvps.com/blogs/WinDrvr
__________ Information from ESET NOD32 Antivirus, version of virus signature database 4627 (20091121) __________
The message was checked by ESET NOD32 Antivirus.
http://www.eset.com