Файл: Конспект лекций по МП, ч2 (Пономарёв, 2006).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 933

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

подсистем. Буферная память должна сохранять порядок поступления данных от подсистемы 1, т.е. работать по принципу "первое записанное слово считывается первым" (First Input First Output - FIFO). Таким образом, под буферной памятью типа FIFO понимается ЗУПВ, которое автоматически следит за порядком поступления данных и выдает их в том же порядке, допуская выполнение независимых и одновременных операций записи и считывания. На рис. 4.4 приведена структурная схема буферной памяти типа FIFO емкостью 64x4.

Рис. 4.4. Структурная схема буфера 64x4.

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

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

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

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

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

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

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

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


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

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

Рис. 4.15. Принцип работы стековой памяти.

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

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

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

иRET, по которым записывается в стек и восстанавливается содержимое программного счетчика, имеются команды PUSH и POP, которые используются для временного запоминания в стеке содержимого регистров

иих восстановления, соответственно. В некоторых МП содержимое основных регистров запоминается в стеке автоматически при прерывании программ. Содержимое регистра указателя стека при записи уменьшается, а при считывании увеличивается на 1 при выполнении команд PUSH и POP, соответственно.

5.Микропроцессор Intel 8086(88)

5.1. Поставляемая разработчиком информация

Какими бы ни были рассматриваемые микропроцессоры, касающаяся их информация содержит много общего. Типовая документация содержит информацию о структуре ИС, схеме выводов ИС и назначении каждого из них. Схематизируется архитектура МП, описываются его основные свойства. Одновременно даются временные диаграммы и состав команд МП. Документация содержит также схемы различных систем, использующих рассматриваемый микропроцессор.

Обычно микропроцессор помещается в корпус интегральной схемы с 40 двусторонними выводами (корпус с двухрядной упаковкой выводов DIP — dual-in-line package). На рис. 5.1 приведены два типа микропроцессоров - в пластмассовом корпусе (рис. 5.1, а) и в керамическом (рис. 5.1,6) с 40 выводами. Микропроцессор в керами ческом DIP-корпусе используется при высоких температурах. Микропроцессоры могут поставляться также с 28, -42, 50 и 64 выводами.

На рис. 5.1, в и г приведены два способа определения положения вывода 1. Заметим вырез и желобок по всей длине, являющиеся отметками на пластмассовом корпусе (рис. 5.1, в). Непосредственно после этой отметки в1 направлении, обратном ходу часовой стрелки, находится вывод / ИС. На рис. 5.1, г отметкой, позволяющей определить вывод 1 ИС, является маленькая точка слева. Затем выводы нумеруются в направлении, обратном ходу часовой стрелки при виде на ИС сверху.


Схема выводов (рис. 5.2) приводится в документации. Разработчики

представляют

все сведения о

названиях и назначениях каждого из выводов микропроцессора. Схема

на рис. 5.2

соответствует

микропроцессору Intel 8080. Отметим, что выводы 2, 11, 20, 28 являются выводами питания.

Выводы 15, 22 (Ф1, Ф2) являются входами внешнего двухфазного генератора тактовых импульсов

— часов. Выводы 3—10 (Intel 8080) двунаправленные (это значит, что они являются то входами, то выходами). Эти выводы данных (Do—D7) являются восемью подсоединениями на шину данных системы. Адресная 16-разрядная шина системы будет связана выходами Ло—Л15. Шесть других выходов (SYNC, DBIN, WAIT, WR, HID A, INTE) несут сигналы управления и синхронизации всем прочим элементам системы. Наконец, четыре входа (READY, HOLD, INT, RESET) являются входами управления, которые воспринимают информацию, поступающую из системы. На рис. 3.2 приведена вся информация по каждому выводу микропроцессора Intel 8080.

Типовая документация содержит также структурную схему микропроцессора. На рис. 5.3, а представлена функциональная схема МП Intel 8080, которая содержит внутренние регистры — аккумулятор, пары регистров В и С, D и Е, Н и L,указатель стека SP(Stack Pointer (англ.) — указатель стека), регистр состояния (индикатор), несколько регистров временного хранения данных. Эта схема содержит также регистр команд, дешифратор команд, а также устройство управления и синхронизации. Наконец, она содержит также АЛУ, его объединенный индикатор и блок десятичного корректора. Все восемь линий данных, так же как и 16-разрядные адресные выходы, снабжены буферами. Микропроцессор Intel 8080 содержит также несколько внутренних линий управления, цепей данных и шины.

Рис. 5.3 Функциональная схема МП Intel 8080 и программно-доступные регистры

На рис. 5.3, б представлены используемые программистом регистры МП Intel 8080. Отметим, что основным является регистр А или аккумулятор. Регистры В и С, D и Е, Н и L являются универсальными. Указатель стека, счетчик команд и индикатор состояния являются специальными регистрами. Пара регистров HL может быть использована также в качестве адресного регистра.

Документация содержит разработанные временные диаграммы, которые показывают соотношения между входами тактовых импульсов и другими внешними сигналами (синхронизации, записи, адресных выходов, ВВ данных и т. д.) и внутренними операциями. Разработчик дает также указания о способе, по которому микропроцессор используется в случае минимальной системы Такая система, основанная на МП Intel 8080, могла бы содержать микропроцессор, генератор тактовых импульсов, устройство управления системой, ПЗУ, ОЗУ и интерфейс портов ВВ. Документация содержит подробную информацию о системе команд.

5.2. Схема и назначение выводов

Микропроцессор заключен в DIP-корпус с 40 двухрядными выводами. Эта ИС питается напряжением +5 В по выводам 1 и 2.Выводы Х1 и Х2 вверху справа предназначены для подсоединения кристалла управления частотой ГТИ МП. Для наиболее распространенных устройств характерно наличие ГТИ на кристалле МП, тогда как для более старых устройств был необходим внешний ГТИ. Выход CLK (вывод 38) предназначен для выдачи сигналов ГТИ в систему. Частота сигнала на выводе 38 (CLK), очевидно, подчинена частоте внутреннего ГТИ.

Адресная шина системы будет подсоединена к выводам ИС Ао—Ахь (рис. 3.4). Эти 16 адресных линий (может быть и другое количество) могут обеспечить доступ к 65 536 (216) ячейкам памяти или/и портам ВВ.

Поток данных и команд от микропроцессора и в него обеспечивается выводами Do—D7 на ИС рис. 5.4. Эти выводы (2128) двунаправленные, т. е. являются то выходами, то входами. Кроме того, обычно они могут переводиться в третье состояние (высокого сопротивления).

Вывод 30 является выходом управления записью. Сигнал L-уровня на выходе WR указывает, что данные, имеющиеся на шине данных, должны быть записаны в область памяти или выбранное УВВ. Выход управления считыванием RD (вывод 31) активизируется L-сигналом, который указывает, что избранные места в памяти или УВВ должны быть считаны.


Результатом активизации входа сброса является остановка работы МП по текущей программе и переход к подпрограмме сброса. Сигнал L-уровня на входе RESET МП сбрасывает счетчик команд до заранее предопределенного адреса, например 0000Н. Другие внутренние регистры МП могут быть также сброшены или их содержимое изменяется в течение операции сброса. Когда вход RESET переходит в состояние HIGH, МП начинает выполнение команд с нового адреса памяти, т. е. с адреса 0000Н в данном случае (или с другого заранее предопределенного адреса памяти).

Этот адрес соответствует началу подпрограммы новой инициализации системы, содержащейся обычно в ПЗУ.

Большинство микропроцессоров находятся в фазе с ГТИ, следовательно, они являются синхронными. Вход RESET МП асинхронный и может вмешаться и приостановить наполовину выполненную команду.

Вход требования прерывания помещен на вывод 35. Вход WTR отвечает на Н-сигнал внешнего устройства. Предположим, что устройство интерфейса ввода на рис. 3.5 загружено 8 бит параллельных данных, готовых для передачи в МП: процесс может быть продолжен в порядке, показанном на рис. 5.5.

1.

Интерфейс ввода выдает сигнал требования прерывания в направлении МП.

2.

Микропроцессор

завершает

выполнение

текущей команды, находящейся в памяти по

адресу 2006Н.

3.

Поскольку

управление должно

обеспечить последующее обращение к команде по адресу

2007Н,

содержимое счетчика

команд

(именно 2007Н) и содержимое большинства регистров

МП помещается

в

специальную зону ОЗУ, называемую стеком. Это содержимое будет позже извле-

чено в определенном порядке в регистры МП

и

в счетчик команд.

4.

МП разветвляется в предопределенный

адрес памяти и начинает выполнение подпрограммы

обслуживания

прерывания

(в нашем примере 20DOH). Микропроцессор выполняет тогда команды

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

5.Перед возвращением в основную программу данные регистров и счетчик команд, помещенные в стек, возвращаются в МП.

6.Теперь счетчик команд отсылает МП в память по адресу 2007Н, т. е. в основную программу, и нормальное выполнение ее продолжается.

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

5.3. Архитектура микропроцессора Intel 8080

Практически все микропроцессоры содержат по меньшей мере следующие элементы: АЛУ; несколько регистров; счетчик команд; систему декодирования команд; секцию управления и синхронизации; буферы и защелки; внутренние шины цепей управления; несколько входов и выходов управления.

Кроме того, кристалл микропроцессора может также содержать функциональные устройства: ПЗУ; ОЗУ; ряд портов ВВ; внутренние цепи ГТИ — часов; программируемый таймер; систему выбора приоритета прерываний; логику интерфейса последовательно-параллельных взаимодействий при ВВ; логическое управление прямым доступом к памяти.

Микропроцессор обладает восемью двунаправленными связями с шиной данных, по которым они выводятся на внутреннюю шину. Слева от МП показаны 16 выходов на адресную шину с буферами/защелками на внутренней адресной шине. Выходы управления показаны внизу слева; это линии записи, чтения и ГТИ. Внизу справа от МП принимаются два сигнала по линиям сброса и требования прерывания. У нашего МП есть внутренняя цепь ПИ, и ему нужен только один внешний кристалл (или в некоторых случаях — одна емкость) для запуска МП. Наконец, этот микропроцессор запитан от единственного источника напряжением +5 В.

Регистр команд: это устройство является 8-разрядным регистром и содержит первый байт команды (ее КОП).

Дешифратор команд: это устройство интерпретирует (декодирует) содержимое регистра команд, определяет микропрограмму для выполнения нужной из всего множества команд и последовательно вводит в действие секцию управления.