Блок управления и синхронизации
Вообще говоря, микропроцессор состоит из триггеров и комбинационных вентилей и работает как синхронная последовательностная схема. Триггеры всех регистров и флажков микропроцессора получают синхроимпульсы по общей линии от внешнего генератора. Поэтому любые изменения содержимого регистров или флажков могут происходить лишь в строго определенные моменты времени. Новые состояния определяются комбинационными схемами по текущим состояниям триггеров и флажков, а также по значениям внешних сигналов. Общая схема работы показана на рис. 4.3. Комбинационные схемы выполняют функции, связанные с передачей данных между регистрами, с обработкой данных, формированием информации о состоянии, выбором пути при передачах управления и т. п.
Рис.4.3. Общая схема работы микропроцессора
Поскольку некоторые из этих функций довольно сложны, реализующие их комбинационные схемы оказываются многоуровневыми и, следовательно, дают заметные задержки при распространении сигнала. Частота синхроимпульсов выбирается такой, чтобы в интервале между импульсами успевали переключиться триггеры и сработать комбинационные схемы в расчете на самую большую задержку. На рис. 4.3. показаны также и внешние по отношению к микропроцессору компоненты. В их число входят запоминающие устройства и устройства ввода/вывода. Информация между внешними компонентами и микропроцессором передается по шинам также в синхронном режиме. В нашем микропроцессоре частота от тактового генератора подается на входную управляющую линию «такт». На обмен данными с внешним устройством уходит два такта, т. е. два периода импульсов синхронизации. В них входит и время срабатывания шин, и время отклика внешней компоненты. Поскольку шины участвуют во всех внешних обменах, именно они фактически оказываются «узким местом», ограничивающим быстродействие микропроцессора. Поэтому вся синхронизация в микропроцессоре строится вокруг внешних обменов.
Последовательность синхронизирующих импульсов разбивается на так называемые машинные циклы, по три такта в каждом цикле. При работе микропроцессора в каждом машинном цикле происходит один внешний обмен. Первый и второй такты тратятся на обмен и иногда на обработку данных; третий такт весь выделяется для той переработки данных, которую нужно выполнить между последовательными внешними обменами. При всех внешних обменах используются шины адресов и данных. Передачи данных делятся на два класса: входные и выходные (по отношению к микропроцессору). Каждый класс характеризуется своими временными диаграммами сигналов на шинах. Выходные обмены бывают двух типов. Обмены первого типа, в которых участвует главная память, называются записью; второго, - в которых участвует устройство вывода, называются выводом. В классе входных обменов три типа. Два из них называются чтением и вводом, и в них участвуют соответственно главная память и устройство ввода. Третий тип связан с прерываниями. Четыре выходные управляющие шины — «запись», «вывод», «чтение» и «ввод» — служат для задания типа и момента обмена. На рис. 4.4 (а) приведены временные диаграммы сигналов за машинный цикл, в котором выполняется выходной обмен. Микропроцессор задает как состояние адресной шины, подавая на нее либо 16-разрядный адрес памяти для операции записи, либо 8-разрядный код устройства для операции вывода, так и состояние шины данных.
Рис.4.4 Временные диаграммы обменов в иллюстративном микропроцессоре, (а) Диаграмма выходных обменов,
(б) Диаграмма входных обменов
Предполагается, что информация на шинах правильно установлена и неизменна, от переднего фронта импульса T1 до переднего фронта импульса Тз). При операции записи импульс на управляющую линию «запись» подается одновременно с Т2, и он используется для стробирования передачи содержимого шины данных в ячейку главной памяти с адресом, заданным на адресной шине. При операции вывода импульс, также одновременно с Т2, подается на управляющую линию «вывод» и используется для стробирования передачи содержимого шины данных в регистр устройства вывода, код которого задан на младшей половине адресной шины. На рис. 4.4(б) показаны временные диаграммы для входных обменов. Содержимое адресной шины задается в те же моменты и теми же способами, что и для выходных обменов. Содержимое шины данных на этот раз определяется внешним компонентом. Микропроцессор в интервале между задним фронтом Т1 и передним фронтом Т3 устанавливает логическую 1 на управляющую линию «чтение» или «ввод», и это служит запросом к внешнему компоненту поместить данные на шину данных. Линия «чтение» используется главной памятью, а линия «ввод» — устройствами ввода. В обоих случаях предполагается, что информация на шине данных достоверна между передними фронтами импульсов Т2 и Т3, и стробирование передачи ее на соответствующий регистр микропроцессора выполняется одновременно с задним фронтом Т2. Кроме рассмотренных выше управляющих линий, существует еще восемь: Пуск, Сброс, Стоп, Синхр, Прер, ППрер, ПДП и ППДП. Четыре последние относятся к прерываниям программы и прямому доступу в память. Здесь мы остановимся на первых четырех. «Пуск» — это входная линия, которая устанавливает режим автоматической работы микропроцессора. А именно, появление импульса в этой линии приводит к тому, что процессор по первому же синхроимпульсу начнет выполнять программу с той команды, адрес которой находился на счетчике команд. «Сброс» — это входная линия, с помощью которой микропроцессор устанавливается в начальное состояние. В частности, по импульсу в линии «сброс» прекращается выполнение программы, счетчик команд устанавливается в нуль, а флажки прерываний сбрасываются. «Стоп» — это выходная линия, на которой поддерживается состояние логической 1 все время, пока микропроцессор не выполняет программы (остановлен). И наконец, «Синхр» — это выходная линия, на которую подается импульс одновременно с третьим синхроимпульсом каждого машинного цикла и которая используется в некоторых случаях для согласования работы некоторых внешних компонентов с внутренним машинным циклом микропроцессора.
Система команд Обычно микропроцессор выполняет команды из некоторого фиксированного набора, называемого системой команд. Разные микропроцессоры имеют различные системы команд. Детальное описание системы команд нашего иллюстративного микропроцессора приведено в табл. 4.1 и 4.2. Для каждой команды приводится ее символическое обозначение, формат, а также символическое и словесное описание выполняемого действия. Никаких других команд наш микропроцессор выполнять не может, следовательно, решение любой задачи должно быть представлено в виде последовательности этих команд. Формат каждой команды в табл. 4.2 полностью определяет представление команды в памяти компьютера. Таким образом, команда в памяти хранится как последовательность из нулей и единиц. С другой стороны, для человека много удобнее символические обозначения. Поэтому при написании программ можно пользоваться символической формой, преобразуя ее в машинный двоичный формат непосредственно перед вводом в машину. Во всех наших описаниях мы также для удобства будем пользоваться символической формой представления команд.
Фаза выборки и дешифрации Обычно команды выполняются в последовательном порядке. Будем предполагать, что все программы начинаются с команды в ячейке 000016. Время, нужное, чтобы прочитать команду из памяти, декодировать ее и выполнить, называется командным циклом. Ввиду того что команды могут состоять из одного, двух и трех байтов и что время их выполнения может быть разным, командный цикл не является постоянной величиной. Следовательно, нам необходима.некоторая меньшая единица времени. В предыдущем разделе такая единица была введена в виде машинного цикла, состоящего из трех тактов синхронизации. Таблица 4.1
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|