Мегаобучалка Главная | О нас | Обратная связь


Контроллер прямого доступа в память



2020-03-19 191 Обсуждений (0)
Контроллер прямого доступа в память 0.00 из 5.00 0 оценок




Пересылка байта информации из одной области памяти в другую или из памяти в порт обычно проходит в два шага. На первом шаге CPU получает этот байт, из памяти и записывает в один из своих регистров. На втором шаге он записывает байт в место назначения.

Немного подумав, сразу же можно назвать два основных недостатка подобного подхода: Первый из них заключается в том, что во время перемещения байта CPU ни чем другим заниматься не может. Второй — на перемещение байта требуется два шага. Кажется, мелочь, но если нужно переместить не один байт, а целый блок, мелочью это уже не назовешь.

Внутри PC есть несколько типов устройств, которым нужно пересылать именно большие группы байт. Устройство чтения гибких дисков, например. Звуковые карты также очень интенсивно пересылают байты, настолько интенсивно, что часто они используют сразу несколько каналов DMA. Многие сканеры пользуются каналом DMA, и кто знает, какие еще подобные устройства появятся в дальнейшем.

Осознавая важность проблемы, разработчики первого PC решили завести дополнительный микропроцессор, называемый контроллером прямого доступа к памяти. Этот микропроцессор занимается тем, что по команде CPU перемещает заданное количество байт из одной последовательности адресов памяти в указанный порт, начиная с определенного адреса памяти.

Он может и принять из порта последовательность, байт определенной длины и поместить ее в память, начиная с указанного адреса. Все подобные пересылки происходят через каналы DMA, иначе говоря, каждой пересылкой занимается определенная часть контроллера DMA. Какая именно это будет часть, т. е. какой; канал займется этим, решает не сам контроллер, а устройство (CPU или какое-либо устройство, ввода-вывода), запросившее доступ к нему. А именно, перед тем как пользоваться DMA-контроллером для пересылки данных, такое устройство обязано сказать контроллеру, какой канал будет им использоваться. Так что каналы DMA — это ресурс, требующий аккуратного обращения, иначе при обращении к ним могут начаться конфликты устройств, которые ни к чему хорошему не приведут.

Разумеется, DMA подверглась улучшению, позволившему более эффективно использовать пропускную способность существующих шин. Новейшая версия, названная UltraDMA, может передавать данные IDE-устройствам со скоростью до 33 Мб/с (мегабайт в секунду), т. е. в два раза быстрее старой версии.

Другие вспомогательные микросхемы

К вспомогательным микросхемам в первую очередь можно отнести таймеры (реализованные раньше на микросхеме i8254) и часы реального времени (МС146818А). В зависимости от типа процессора на системной плате могут располагаться контроллеры шины и памяти, системный и периферийный контроллеры, кэш-Контроллер, а также буфера для данных и адресов.

Асинхронные и синхронные компьютеры

Несмотря на всю потрясающую скорость, электронным схемам все-таки требуется некоторое время на выполнение своих операций. Как много — варьируется от типа к типу. По большому счету, можно сделать компьютер вообще без часов. Скорость работы такого компьютера будет полностью зависеть от скорости работы его частей: чем быстрее части, тем быстрее компьютер. Данные, запрошенные из памяти, будут использованы, как только они появятся там, где их ждут. Результаты вычислений будут отправлены обратно в память, как только они станут доступны. Очень быстрые части, уже выполнившие свою работу, не будут простаивать без дела, дожидаясь, пока стрелки на главных часах разрешат им двигаться дальше. Спроектировать и сделать такой асинхронный компьютер можно, но сложно. Гораздо легче спроектировать компьютер, все части которого работают синхронно с некоторыми главными часами. Если эти часы тикают достаточно медленно, то можно быть уверенным, что все части компьютера смогут закончить назначенные им задачи до поступления сигнала продвинуться еще на один шаг вперед — следующего такта часов. Синхронные компьютеры настолько легче в проектировании и производстве, что практически каждый компьютер являет собой пример подобного подхода.

Часы внутри CPU

Самые знаменитые часы - это часы, тикающие внутри CPU. Это те самые 266 МГц (или 300 МГц, или 1800 МГц, или те, что стоят внутри вашего PC), о которых вы столь много слышите. От них зависит, насколько быстро работают самые быстрые части вашего PC. На сегодня лишь некоторые схемы CPU работают с этой скоростью, остальные части PC даже близко к ней не приближаются, исключая процессор Pentium Pro, кэш L2 которого, расположенный внутри модуля СРU также работает с этой скоростью. В Pentium II кэш L2 работает на половине частоты часов CPU. Во всех остальных процессорах х86 внешний кэш работает с такой же скоростью, как шина памяти.

Шина от CPU к основной памяти работает со скоростью, в несколько раз меньшей скорости часов внутри CPU. Или, иными словами, CPU работает со скоростью, в несколько раз превышающей скорость внешней шины. Микросхема часов, контролирующая эту скорость, расположена вне CPU, и CPU просто синхронизирует свои не слишком точные часы по сигналу внешних часов.

Стандартная линейка частот тактовых генераторов: 50, 60, 66, 100, 133 МГц.

Те же часы, что управляют CPU, также управляют модулями основной памяти и сопутствующими им микросхемами. Часто только внешняя (L2 или L3) память реально способна успевать за этими быстрыми часами. Быстрые микросхемы DRAM можно заставить работать медленнее, вставив одно или несколько состояний ожидания (wait states). Это паузы между интервалом, в течение которого CPU или внешний кэш-контроллер спрашивает что-либо у микросхемы памяти, и интервалом, в течение которого они ожидают получения ответа на свой запрос.

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



2020-03-19 191 Обсуждений (0)
Контроллер прямого доступа в память 0.00 из 5.00 0 оценок









Обсуждение в статье: Контроллер прямого доступа в память

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (191)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)