Скорость передачи данных DMA - PullRequest
1 голос
/ 22 декабря 2011

Я пытаюсь узнать о скорости передачи DMA и не понимаю этих вопросов.У меня есть ответы, но я не знаю, как туда добраться.

Этот вопрос касается использования DMA для обработки ввода и хранения в памяти данных, поступающих на входной интерфейс, достижимых скоростей передачи данных, которые могут быть достигнуты.используя этот механизм, и пропускная способность шины (емкость) используется для конкретных скоростей передачи данных.Вам дается подробная информация о выполнении тактовых циклов, выполняемых для каждой передачи DMA, и тактовых циклах для получения и освобождения шин.Ниже приведены данные о количестве тактовых циклов, необходимых устройству DMA для передачи одного элемента данных между входным интерфейсом и памятью, количество тактовых циклов для получения и освобождения системных шин, размер (в битах) каждого из данных.элемент и тактовая частота.

количество тактовых циклов для каждой передачи данных 8

количество тактовых циклов для получения и освобождения шин 4

количество бит на элемент данных= 8

тактовая частота = 20 МГц

A) Какова максимально достижимая скорость передачи данных в кбит / с?

B) Какой процент тактовых частот шины используетсяУстройство DMA, если скорость передачи данных составляет 267 Кбит / с?

Ответы

A) 20000,0

B) 2,0

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 14 декабря 2012

Существует два режима для передачи данных с использованием DMA

1. Режим пакетной передачи

Как только контроллер DMA получает доступ к системной шине ЦПУ, он передает все байты данных вблок данных перед сбросом управления системными шинами обратно в ЦП.Процессор отключен для использования шины памяти в течение длительного времени. Он не будет открывать доступ к шине до тех пор, пока весь блок данных не будет передан.

2. Режим кражи цикла

Как только контроллер DMA получит доступ ксистемная шина ЦП, она передает один байт данных, а затем освобождает доступ к памяти процессору.снова для другого байта передачи он должен получить доступ к шине с помощью процессора через сигналы BR и BG (ЗАПРОС ШИНЫ и ПРЕДОСТАВЛЕНИЕ ШИНЫ). Для каждого байта передачи он получает доступ к шине и освобождает его до тех пор, пока весь блок данных не будет передан.

В вышеприведенном примере

Тактовая частота равна 20 МГц (Гц - это число циклов в секунду) .20 миллионов тактовых импульсов в секунду (20 x 10 ^ 6 циклов в секунду)

Для каждого байтаПередача Ч / Б Интерфейса и Памяти занимает 8 тактов.Существует 20 x 10 ^ 6 тактовых циклов. В режиме кражи циклов для каждого байта передачи требуется еще 4 тактовых цикла, чтобы получить разрешение на шину и освободить доступ.Таким образом, для передачи одного байта между интерфейсом ввода-вывода и памятью требуется 12 тактов.Здесь 2/3 тактовых циклов используются для передачи данных, а 1/3 тактовых циклов используются для доступа к шине.Здесь один тактовый цикл используется для передачи одного бита данных.2/3 из 20 миллионов тактовых циклов используются для передачи данных, а 1/3 из 20 миллионов тактовых циклов используются для доступа к шине. Таким образом, 13333,333 Кбит / с - это переданные ч / б интерфейс ввода-вывода и память.Если мы возьмем 2% от 13333 Кбит / с, примерно, это будет 267 Кбит / с.Максимальная достижимая скорость передачи данных в этом режиме составляет 13333 Кбит / с.

В пакетном режиме после получения DMA шиной, она освобождает шину после полной передачи. 20000 x 10 ^ 3 тактовых цикла используются для передачи 20000 x 10^ 3 бита, что составляет 20000 кбит / с. 4 тактовых цикла используются для доступа к шине.примерно это будет 20000 кб / с

0 голосов
/ 25 декабря 2013

Чтобы найти максимально достижимую скорость передачи данных, вам нужно разделить количество бит на длину процесса так: количество бит на элемент данных / количество тактовых циклов для каждой передачи данных * тактовая частота *1000* 1001 *

Я застрял во второй части, поэтому, если вам удалось найти ответ, пожалуйста, поделитесь:)

...