diff options
author | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2012-03-15 04:00:07 +0100 |
---|---|---|
committer | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2012-03-15 04:00:07 +0100 |
commit | c79e2d605fa16166adf9103acfde55ebf25c36a7 (patch) | |
tree | 12902f76757a1342837adffe5416917d830ad8d8 | |
parent | 8546202f59422e135bc58bc38478bd5e73267946 (diff) |
Some changes
-rw-r--r-- | linuxgraphicsdrivers.lyx | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/linuxgraphicsdrivers.lyx b/linuxgraphicsdrivers.lyx index e1fc13c..d0ebe6e 100644 --- a/linuxgraphicsdrivers.lyx +++ b/linuxgraphicsdrivers.lyx @@ -708,8 +708,15 @@ The first user of the bus is the CPU. information directly. In particular, a peripheral which has the ability to read and write to memory without the CPU intervention is said to be DMA (Direct Memory Access) - capable, and the memory transaction is called a DMA. - Today, all graphics cards feature this ability (named DMA bus mastering) + capable, and the memory transaction is usually called a DMA. + This type of transaction is interesting, because it allows the driver to use + the GPU instead of the CPU to do memory transfers. + Since the CPU doesn't need to actively work any more to achieve those transfers, + and since it allows better asynchronicity between the CPU and the GPU, + better performance can be attained. + Common uses of DMA include improving the performance of + texture uploads or streaming video. + Today, all graphics processors feature this ability (named DMA bus mastering) which consists in the card requesting and subsequently taking control of the bus for a number of microseconds. \end_layout @@ -730,7 +737,10 @@ Notice that the DMA capability can be a downside in some cases. For example on real time systems, this means the CPU is unable to access the bus while a DMA transaction is in progress, and since DMA transactions happen asynchronously this can lead to missing a real time scheduling deadline. - Therefore, while DMA has a lot of advantages from a performance viewpoint, + Another example is small DMA memory transfers, where the CPU overhead of setting + up the DMA is greater than the gain in asynchronicity and therefore transfers + slow down. + So while DMA has a lot of advantages from a performance viewpoint, there are situations where it should be avoided. \end_layout |