Информацией с использованием буферной памяти 


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



ЗНАЕТЕ ЛИ ВЫ?

Информацией с использованием буферной памяти



(слайд 17). Наиболее эффективно обмен данными между подсистемами с различным быстродействием реализуется при наличии между ними специальной буферной памяти. Данные от «Подсистемы 1» временно запоминаются в буферной памяти до готовности «Подсистемы 2» принять их. Емкость буферной памяти должна быть достаточной для хранения тех блоков данных, которые «Подсистема 1» формирует между считываниями их «Подсистемой 2». Отличительной особенностью буферной памяти является запись данных с быстродействием и под управлением «Подсистемы 1», а считывание – с быстродействием и под управлением «Подсистемы 2» ("эластичная память"). В общем случае память должна выполнять операции записи и считывания совершенно независимо и даже одновременно, что устраняет необходимость синхронизации подсистем. Буферная память должна сохранять порядок поступления данных от «Подсистемы 1», т. е. работать по принципу "первое записанное слово считывается первым" (First Input First Output – FIFO). Таким образом, под буферной памятью типа FIFO понимается ЗУПВ, которое автоматически следит за порядком поступления данных и выдает их в том же порядке, допуская выполнение независимых и одновременных операций записи и считывания. На рисунке 15.6 приведена структурная схема буферной памяти типа FIFO емкостью 64×4.

На кристалле размещены 64 4-х битных регистра с независимыми цепями сдвига, организованных в 4 последовательных 64-битных регистра данных, 64-битный управляющий регистр, а также схема управления. Входные данные поступают на линии DI 0-DI 3, а вывод данных осуществляется через контакты DO 0-DO 3. Ввод (запись) данных производится управляющим сигналом SI (shift in), а вывод (считывание) – сигналом вывода SO (shift out). Ввод данных осуществляется только при наличии сигнала готовности ввода IR (input ready), а вывод – при наличии сигнала готовности вывода OR (output ready). Управляющий сигнал R (reset) производит сброс содержимого буфера.

(слайд 18).

 

Рисунок 15.6 – Структурная схема буфера 64×4

 

При вводе 4-битного слова под действием сигнала SI оно автоматически передвигается в ближайший к выходу свободный регистр. Состояние регистра данных отображается в соответствующем ему управляющем триггере, совокупность триггеров образует 64-битный управляющий регистр. Если регистр содержит данные, то управляющий триггер находится в состоянии 1, а если регистр не содержит данных, то триггер находится в состоянии 0. Как только управляющий бит соседнего справа регистра изменяется на 0, слово данных автоматически сдвигается к выходу.

Перед началом работы в буфер подается сигнал сброса R и все управляющие триггеры переводятся в состояние 0 (все регистры буфера свободны). На выводе IR формируется логическая 1, т. е. буфер готов воспринимать входные данные. При действии сигнала ввода SI входное слово загружается в регистр P1, а управляющий триггер этого регистра устанавливается в состояние 1: на входе IR формируется логический 0. Связи между регистрами организованы таким образом, что поступившее в P1 слово "спонтанно" копируется во всех регистрах данных FIFO и появляется на выходных линиях DO 0-DO 3. Теперь все 64 регистра буфера содержат одинаковые слова, управляющий триггер последнего регистра P64 находится в состоянии 1, а остальные управляющие триггеры сброшены при передаче данных в соседние справа регистры. Состояние управляющего триггера P64 выведено на линию готовности выхода OR и OR принимает значение 1, когда в триггер записывается 1. Процесс ввода может продолжаться до полного заполнения буфера. В этом случае все управляющие триггеры находятся в состоянии 1 и на линии IR сохраняется логический 0.

При подаче сигнала SO производится восприятие слова с линий DO 0-DO 3, управляющий триггер P64 переводится в состояние 1, на линии OR появляется логическая 1, а управляющий триггер P64 сбрасывается в 0. Затем этот процесс повторяется для остальных регистров и нуль в управляющем регистре перемещается ко входу по мере сдвига данных вправо.

В некоторых кристаллах буфера FIFO имеется дополнительная выходная линия флажка заполнения наполовину. На ней формируется сигнал 1, если число слов составляет более половины емкости буфера.

(слайд 19). Рассмотренный принцип организации FIFO допускает выполнение записи и считывания данных независимо и одновременно. Скорость ввода определяется временным интервалом, необходимым для передачи данных из P1, а выводить данные можно с такой же скоростью. Единственным ограничением является время распространения данных через FIFO, равное времени передачи входного слова на выход незаполненного буфера FIFO, которое равняется произведению времени внутреннего сдвига и числа регистра данных.

В буферах FIFO, выполненных по МОП-технологии и имеющих емкость 64 слова, время распространения составляет примерно 30 мкс, а в биполярных FIFO такой же емкости – примерно 2 мкс.

Буферы можно наращивать как по числу слов, так и по их длине.

 


Стековая память

 

(слайд 20). Стеком называется память с определенной (упрощенной) формой адресации.

Стековой называют память, доступ к которой организован по принципу: "последним записан – первым считан" (Last Input First Output – LIFO). Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ. Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи. В малых ЭВМ она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.

Принцип работы стековой памяти состоит в следующем (рисунок 15.7). Когда слово А помещается в стек, оно располагается в первой свободной ячейке памяти. Следующее записываемое слово перемещает предыдущее на одну ячейку вверх и занимает его место и т. д. Запись 8-го кода, после H, приводит к переполнению стека и потере кода A. Считывание слов из стека осуществляется в обратном порядке, начиная с кода H, который был записан последним. Заметим, что выборка, например, кода E невозможна до выборки кода F, что определяется механизмом обращения при записи и чтении типа LIFO. (слайд 21). Для фиксации переполнения стека желательно формировать признак переполнения.

 

 

Рисунок 15.7 – Принцип работы стековой памяти

 

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

Аппаратный стек представляет собой совокупность регистров, связи между которыми организованы таким образом, что при записи и считывании данных содержимое стека автоматически сдвигается. Обычно емкость аппаратного стека ограничена диапазоном от нескольких регистров до нескольких десятков регистров, поэтому в большинстве МП такой стек используется для хранения содержимого программного счетчика и его называют стеком команд. Основное достоинство аппаратного стека – высокое быстродействие, а недостаток – ограниченная емкость.

(слайд 22). Наиболее распространенным в настоящее время и, возможно, лучшим вариантом организации стека в ЭВМ является использование области памяти. Для адресации стека используется указатель стека, который предварительно загружается в регистр и определяет адрес последней занятой ячейки. Помимо команд CALL и RET, по которым записывается в стек и восстанавливается содержимое программного счетчика, имеются команды PUSH и POP, которые используются для временного запоминания в стеке содержимого регистров их восстановления, соответственно. В некоторых МП содержимое основных регистров запоминается в стеке автоматически при прерывании программ. Содержимое регистра указателя стека при записи уменьшается, а при считывании увеличивается на единицу при выполнении команд PUSH и POP, соответственно.

Рассмотрим организацию стека. В МПУ (на базе МПК КР580) стек организуется следующим образом. В оперативной памяти (ОЗУ) команды размещаются в ячейках с младшими, последовательно нарастающими адресами. Стек использует ячейки со старшими адресами и по мере заполнения стека з анимаются ячейки с адресами, последовательно убывающими. Таким образом, адреса этих двух частей памяти изменяются навстречу друг другу (рисунок 15.8 а).

(слайд 23).

 

 
 

Рисунок 15.8 – Стек:

а) организация стека в ОЗУ;     б) процессы при записи в стек;

в) процессы при чтении из стека

 

(слайд 24). Особенность организации стека состоит в следующем:

- указатель стека SP содержит адрес входа в стек.

- при чтении из стека производится выборка содержимого ячейки по адресу входа в стек (по адресу, хранящемуся в указателе стека SP);

- при записи в стек вводимое в стек число помещается в ячейку с адресом, на единицу меньшим содержимо го SP;

- одновременно с записью и чтением изменяется содержимое SP (при записи уменьшается, а при чтении увеличивается на единицу).

Обмен со стеком производится двухбайтовыми словами, занимающими две ячейки памяти. Пусть указатель стека хранит адрес А. При вводе нового слова его байты должны быть помещены в пару соседних со входом в стек ячеек, имеющих адреса А-1 и А-2.

Таким образом, ввод в стек сводится к следующей последовательности действий:

- содержимое SP уменьшается на единицу и по образующемуся в SP адресу помещается старший байт вводимого двухбайтового слова;

- затем содержимое SP вновь уменьшается на единицу и по образующему ся в нем адресу помещается младший байт вводимого слова (см. рисунок 15.8 б).

Видно, что указатель стека SP каждый раз указывает адрес последней ячейки, занятой под стек (так называемый вход в стек).

Вывод данных из стека производится также двухбайтовыми словами. При этом каждый раз доступна для чтения лишь ячейка, адрес которой содержится в SP. Если указатель стека хранит адрес А, то байты выводимого из стека слова выбираются из ячеек памяти, имеющих адреса А и А+1.

Таким образом, выбор слова из стека сводится к такой последовательности действий:

- чтение младшего байта выводимого слова из ячейки, адресом которой служит содержимое SP, и увеличение содержимого SP на единицу;

- затем чтение старшего байта выводимого слова по хранящемуся в SP адресу и увеличение содержимого SP на единицу (см. рисунок 15.8 в).

Видно, что при записи и чтении производится обращение в ячейку, адрес которой связан с содержимым SP. Это упрощает адресацию памяти, но исключает возможность обращения в произвольную ячейку памяти.

 


Кэш-память

 

Универсальные МП применяются в компьютерах, а также во встраиваемых системах, и на них отрабатываются самые передовые решения по повышению быстродействия микросхем.

(слайд 25). Непрерывный рост производительности (скорости работы) МПС проявляется:

- в повышении скорости работы электронных схем;

- в специальных архитектурных решениях (конвейерная и векторная обработка данных, кэширование памяти и др.).

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

(слайд 26). Преодолеть указанное противоречие и согласовать пропускные способности памяти и процессора помогают специальные структурные решения:

- конвейеризация процедур цикла выполнения команды (рабочего цикла машины). Например, простейшем случае предполагает выполнение параллельно во времени операции в АЛУ с выборкой из памяти следующей команды.

- буферизация – использование включенных между процессором и ОП существенно более, чем ОП, быстродействующих буферных памятей сравнительно небольшой емкости.

На рисунке 15.9 показана структура процессора, содержащая буфер команд и буфер операндов.

(слайд 27).

 

Рисунок 15.9 – Структурная схема МП,



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 49; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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