Принципы ускорения доступа к ОЗУ. Расслоение, конвееризация, буферизация. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Принципы ускорения доступа к ОЗУ. Расслоение, конвееризация, буферизация.



Расслоение Метод расслоения памяти базируется на том, что, по практическим наблюдениям, адреса логически связанных величин программы чаще всего располагаются друг за другом в соседних байтах памяти. Следовательно, за счет совмещения во времени соседних циклов обращения в память можно получить определенный общий выигрыш во времени.

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

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

Буферизация (от англ. buffer) — метод организации обмена, в частности, ввода и вывода данных в компьютерах и других вычислительных устройствах, который подразумевает использование буфера для временного хранения данных. При вводе данных одни устройства или процессы производят запись данных в буфер, а другие — чтение из него, при выводе — наоборот. Процесс, выполнивший запись в буфер, может немедленно продолжать работу, не ожидая, пока данные будут обработаны другим процессом, которому они предназначены. В свою очередь, процесс, обработавший некоторую порцию данных, может немедленно прочитать из буфера следующую порцию. Таким образом, буферизация позволяет процессам, производящим ввод, вывод и обработку данных, выполняться параллельно, не ожидая, пока другой процесс выполнит свою часть работы. Поэтому буферизация данных широко применяется в многозадачных ОС.

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

Термины «прозрачная» и «непрозрачная» буферизация не совсем удачны, поскольку могут несколько сбивать с толку. В качестве более удачных можно было бы предложить термины, соответственно, «невидимая» и «видимая буферизация».



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 182; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.238.20 (0.005 с.)