
Микропроцессоры Токхайм / 5.3. АРХИТЕКТУРА МИКРОПРОЦЕССОРА
.doc5.3. АРХИТЕКТУРА МИКРОПРОЦЕССОРА
Практически все микропроцессоры содержат по меньшей мере следующие элементы: АЛУ; несколько регистров; счетчик команд; систему декодирования команд; секцию управления и синхронизации; буферы и защелки; внутренние шины цепей управления; несколько входов и выходов управления.
Кроме того, кристалл микропроцессора может также содержать функциональные устройства: ПЗУ; ОЗУ; ряд портов ВВ; внутренние цепи ГТИ — часов; программируемый таймер; систему выбора приоритета прерываний; логику интерфейса последовательно-параллельных взаимодействий при ВВ; логическое управление прямым доступом к памяти (ПДП).
В предыдущем параграфе мы изучили схему выводов и их назначение у типового микропроцессора. Здесь рассмотрим архитектуру того же МП, приведенную на рис. 5.6.
Начнем с внутренних соединений. Микропроцессор обладает восемью двунаправленными связями с шиной данных, по которым они выводятся на внутреннюю шину. Слева от МП показаны 16 выходов на адресную шину с буферами/защелками на внутренней адресной шине. Выходы управления показаны внизу слева; это линии записи, чтения и ГТИ. Внизу справа от МП принимаются два сигнала по линиям сброса и требования прерывания. У нашего МП есть внутренняя цепь ГТИ, и ему нужен только один внешний кристалл (или в некоторых случаях — одна емкость) для запуска МП. Наконец, этот микропроцессор запитан от единственного источника напряжением +5 В.
Функциональные назначения большинства устройств, составляющих этот микропроцессор, были уже изучены, мы их напомним только коротко.
Регистр команд: это устройство является 8-разрядным регистром и содержит первый байт команды (ее КОП).
Дешифратор команд: это устройство интерпретирует
(декодирует) содержимое регистра команд, определяет микропрограмму для выполнения нужной из всего множества команд и последовательно вводит в действие секцию управления.
Арифметико-логическое устройство (АЛУ): это устройство выполняет операции арифметические, логические и сдвига, в результате которых устанавливает регистр состояния (индикаторы). Результаты помещаются в аккумулятор, связанный с внутренней шиной. Часто внутренние регистры и аккумулятор рассматриваются как часть АЛУ. Условия индикатора передаются в устройство управления и синхронизации.
Аккумулятор: это устройство является универсальным 8-разрядным регистром, где концентрируется большинство
результатов выполнения команд — арифметических, логических, загрузки, запоминания результата, ввода/вывода.
Счетчик команд: это устройство является разновидностью 16-разрядной памяти, которое постоянно указывает на следующую выполняемую команду. Оно всегда содержит 16-разрядный адрес. Счетчик может быть инкрементирован или сброшен устройством управления или изменен командой передачи данных.
Устройство управления и синхронизации: это устройство получает сигналы дешифратора команд для определения природы выполняемой команды. Оно получает также информацию от регистра состояния в случае условного перехода. Сигналы управления и синхронизации передаются во все устройства системы для координации выполнения команд, и, наконец, оно вырабатывает сигналы управления внешними устройствами (ОЗУ, ПЗУ, УВВ и т. д.).
Регистр состояния: элементарный микропроцессор на рис. 5.6 содержит в своем регистре состояния индикаторы только нуля и переноса.
Новые дополнительные устройства этого микропроцессора содержат внутренний ГТИ, систему управления прерываниями, указатель стека и универсальный регистр данных/адреса.
Цепь внутреннего ГТИ с внешним кристаллом генерирует сигналы, аналогичные показанным на рис. 5.7. Генератор тактовых импульсов выдает сигналы с двумя различными фазами для использования их внутри микропроцессора. Выход CLK МП имеет сигнал, идентичный сигналу Ф2, и служит для синхронизации событий во всей системе. На рис. 5.7 сигналы ГТИ разделены на периоды Т (Т1 , Т2 и т. д.), определенное число которых формирует машинный цикл. Периоды Т имеют всегда постоянную длительность, тогда как длительность машинного цикла может меняться
(на рис. 5.7 приведен машинный цикл, включающий в себя четыре периода Т).
Соотношения между периодами Т (Т1 , Т2 и т. д.) и машинными циклами (М1 , М2 и т. д.) приведены на рис. 5.8, а. Машинные циклы определяют функционирование МП: считывание, запись, извлечение или выполнение. В нашем МП типовыми циклами являются: считывание (извлечение КОП); считывание из памяти или УВВ; запись в память или УВВ; выполнение внутренней операции.
Команда STORE (разместить данные) разделена на четыре цикла (М1—М4), как показано на рис. 5.8, а: во-первых, извлечение КОП (считывание); во-вторых, считывание из программной памяти; в-третьих, еще одно считывание из программной памяти; в-четвертых, операция записи в память. Сочетание этих четырех действий (считывание, считывание, считывание, запись) составляет цикл команды. Отметим, что все машинные циклы выполняются не одинаковое время. Первый занимает 4 периода Т, тогда как все остальные занимают только по 3. Полный цикл команды занимает 13 периодов.
На рис. 5.8, б приведен пример выполнения во времени команды непосредственного сложения. Первым машинным циклом М1 является извлечение КОП (считывание). В течение периода Т4 машинного цикла МП декодирует команду сложения ADD и решает, что для ее завершения ему на-
до два дополнительных цикла. Во втором цикле М2 считывается следующий байт из памяти, которым является операнд, и в течение цикла М3 выполняет операцию ADD в АЛУ. Заметим на рис. 5.8, что машинные циклы занимают не одинаковое время, но не больше, чем цикл команды.
Устройство управления прерываниями (см. рис. 5.6) принимает сигнал прерывания с внешнего устройства через вход INTR. Оно управляет по этому сигналу МП в соответствии с ранее рассмотренными этапами (см. § 5.2). Таким образом, МП ветвится в подпрограмму обслуживания прерываний, которая отвечает на требование прерывания, и по окончании ее МП возвращается в основную программу.
Указатель стека подобен счетчику команд в том смысле, что в нем содержится адрес, который он инкрементирует или декрементирует, он может быть также загружен новым адресом. Емкость указателя стека составляет 16 бит, т.е. он может посылать адрес по 16 линиям. Мы увидим использование указателя стека более подробно в § 5.5.
Регистр данных/адреса (см. рис. 5.6) составляется из двух 8-разрядных регистров, которые могут быть использованы вместе или раздельно; они обозначены Н и L соответственно старшему (HIGH) и младшему (LOW) байтам.
Когда эти два регистра используются вместе, мы обращаемся к паре HL. Регистры Н и L являются универсальными подобно аккумулятору в том смысле, что они могут быть инкрементированы, декрементированы, загружены данными и служить источником данных. Пара HL может служить также адресным регистром и хранить адрес назначения в ходе размещения данных в памяти или адресом источника в ходе загрузки аккумулятора. Таким образом, регистры Н и L могут быть использованы для размещения данных и манипуляций с ними или как указатель адреса. Подробнее использование регистра данных/адреса показано в § 5.4. Некоторые микропроцессоры обладают специальным регистром — счетчиком данных, который указывает на ячейку памяти (он используется подобно паре регистров HL нашего МП).
Упражнения
5.21. Перечислить по меньшей мере Шесть функциональных устройств, содержащихся на кристалле МП.
5.22. Обратиться к рис. 5.6. Какое функциональное устройство расположено между шиной данных МП и внешней шиной данных?
См. рис. 5.6. По каким трем выходным линиям обеспечивается синхронизация системы?
Счетчик команд является 16-разрядной областью
памяти, предназначенной для хранения _____ (адресов,
данных).
См. рис. 5.6. Сигналы управления чтением и записью посылаются устройством _____ микропроцессора.
Назвать четыре типа машинных циклов, рассмотренных в этом параграфе.
См. рис. 5.8. У какой команды — STORE или ADD более короткое время выполнения?
Если период Т длится 500 нс, какой будет длительность команды ADD на рис. 5.8?
См. рис. 5.6. Активизация входа INTR заставляет
устройство _____ привести микропроцессор к ветвлению
в подпрограмму обслуживания прерываний.
5.30. Указатель стека является аналогом счетчика
команд в том смысле, что он содержит _____ (адрес,
команду) длиной _____ бит.
См. рис. 5.6. Когда объединяются два регистра адреса/данных и используются как область памяти длиной 16 бит, они составляют пару регистров ______ .
См. рис. 5.6. Два регистра памяти, названные Н и L, являются регистрами _____.
См. рис. 5.6. Регистры Н и L могут быть использованы для размещения и обработки данных, а в форме пары HL — как ______ (указатель адреса, избиратель данных).
Решения
5.21. Арифметико-логическое устройство, несколько регистров, счетчик команд, дешифратор команд, устройство управления и синхронизации, шинные буферы, внутренние шины и несколько входов и выходов. 5.22. Шинные буферы/защелки. 5.23. Выводы считывания, записи и синхронизации. 5.24. Адресов. 5.25. Управления и синхронизации. 5.26. Считывание и извлечение КОП, считывание из памяти или УВВ, запись в память, выполнение внутренних операций. 5.27. ADD. 5.28. Для выполнения команды ADD нужно девять периодов Т, следовательно, 9x500 = =4500 нс=4,5 мкс. 5.29. Управления прерываниями. 5.30. Адрес; 16. 5.31. HL. 5.32. Адреса/данных. 5.33. Указатель адреса.