Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Структура микропроцессора






Общая структура нашего гипотетического иллюстративного микро­процессора представлена на рис. 4.2. Входящие в его состав компо­ненты говорят о том, что он является процессором с программным уп­равлением. Некоторые компоненты, а именно программный счетчик (счетчик команд), стек и регистр команд, служат для обработки ко­манд.

Такие компоненты, как АЛУ, триггер переноса, общие ре­гистры (или рабочие) и регистр адреса данных, служат для обработки данных. Все остальные компоненты, а именно дешифратор команд и блок управления и синхронизации (БУС), управляют работой дру­гих компонентов. Взаимодействие компонентов осуществляется по внутренним каналам передачи данных. Связь микропроцессора с другими блоками (ЗУ и устройствами ввода/вывода) происходит по адресной шине, шине данных и управляющей шине.

Микропроцессор работает со словами, состоящими из 8 битов. Такие слова, называемые байтами, удобны при выполнении ариф­метических и логических операций и используются в большинстве выпускаемых микропроцессоров. Поэтому мы будем предполагать, что все данные представляются именно такими словами. Если в расчетах встречаются числа «большей длины», то применяются специаль­ные программы для вычислений с «двойной точностью», «тройной точностью» и т. д.

 

 

Рис. 4.2. Гипотетический микропроцессор. Числа в скобках

указывают количество разрядов или линий

 

 

С другой стороны, адрес из 8 битов позволяет прямо адресовать только 28 = 256 ячеек памяти. Для реальных задач этого, конечно, мало. Поэтому для задания адреса памяти обычно используется 16 раз­рядов (два байта), и это позволяет прямо адресовать 216=65 536 яче­ек).

Информация к микропроцессору и от него передается по шинам. Шины данных в соответствии с длиной слова состоят из 8 линий, тогда как адресная шина состоит из 1- 6 линий. Как показано на рис. 4.1, адресная шина однонаправленная, а шина данных двунаправленная. Управляющая шина состоит из 5 линий, ведущих к блоку управления и синхронизации и 8 выходящих из него линий. По этим линиям пере­даются управляющие и тактирующие сигналы между компонентами микропроцессора и между микропроцессором и другими блоками микрокомпьютера.

Счетчик команд состоит из 16 битов и содержит адрес очередного байта команды, считываемого из памяти. Он автоматически увеличи­вается на единицу после чтения каждого байта. Существует связь между счетчиком команд и вершиной стека из 64 регистров. Одна из функций стека — сохранение адреса возврата из подпрограммы. В стеке могут также сохраняться данные из верхних трех общих регистров и триггера переноса.

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

Регистр адреса данных содержит адрес операнда для команд, об­ращающихся к памяти, адрес порта для команд ввода/вывода или ад­рес следующей команды для команд перехода.

Пятнадцать 8-битовых общих регистров содержат операнды для всех команд, работающих с данными. Для указания этих регистров используются 4-битовые коды от 0000 до 1110. Регистр 0000 называется аккумулятором (АК) и участвует во всех арифметических и логиче­ских операциях. В частности, он содержит один из операндов перед выполнением операции и получает результат после ее завершения. Обычно обращения к общим регистрам осуществляются при помощи R-селектора или r-селектора. R-селектор позволяет обращаться к лю­бому регистру, тогда как через r-селектор доступны только регистры 0000, 0001 и 0010.

Очень полезная возможность, присутствующая во многих маши­нах, — это косвенная адресация. Некоторый вариант косвенной адре­сации встроен и в наш микропроцессор). Задание несуществующего регистра общего назначения 1111 используется как указание на то, что нужно обратиться к байту памяти по 16-разрядному адресу, который получается комбинированием содержимого двух фиксированных об­щих регистров. А именно, старшие 8 разрядов адреса — из регистра 0001, а младшие 8 разрядов адреса — из регистра 0010 (в дальнейшем эти два регистра мы будем называть Н и L соответственно; Н — от слова Higher, высший, или старший, L — от Lower, низший, или младший). Чтобы пояснить подобную косвенную адресацию, предпо­ложим, что регистр 0001, т. е. регистр Н, содержит 1011101, а регистр 0010, т. е. регистр L, содержит 00101011. Тогда любая команда, ссы­лающаяся на регистр 1111, вызовет выборку операнда из ячейки па­мяти с адресом 101110100101011.

Все арифметические и логические операции выполняются в ариф­метико-логическом устройстве (АЛУ). Входами АЛ У служат две 8-битовые шины. Одна из них идет от аккумулятора (регистр 0000), а другая — от R -селектора, который выбирает либо один из регист­ров общего назначения от 0000 до 1110, либо ячейку памяти, если задана косвенная адресация. Еще одна входная линия поступает в АЛУ от триггера переноса С, который участвует в некоторых ариф­метических и логических операциях.

Результаты из АЛУ передаются в аккумулятор по выходной 8-би­товой шине. Существуют еще две линии, идущие от АЛУ к блоку уп­равления и синхронизации; они передают информацию о наличии или отсутствии двух особых условий: аккумулятор содержит нули (ли­ния Z) и старший разряд аккумулятора равен 1 (линия N). Вторая линия очень удобна при работе с числами в дополнительном коде, когда старший разряд знаковый, причем 1 соответствует отрицатель­ным числам. Триггер переноса и обе линии состояния АЛУ Z и N называются флажками и используются в командах условного пере­хода.

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

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.