Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Перечень операций подлежащих программированию





1. Сложение каких-либо двух элементов массива.

2. Сложение элементов массива с константой.

3. Нахождение наибольшего (наименьшего) из элементов массива.

4. Цикл (сложение всех элементов массива).

5. Переход к подпрограмме с передачей параметров через регистры.

6. Переход к подпрограмме с передачей параметров через стек.

7. Умножение двух элементов массива.

В дополнение к семи операциям в каждом варианте должна присутствовать как заключительная операция загрузки программы.

Для последней операции до загрузки программы помимо программы на машинном языке необходимо также представить ассемблерный код данной операции.

Последовательность операций для каждого варианта задания определяется методом случайной выборки.

 

 

Архитектура микропроцессоров

В настоящее время выпускается много моделей микропроцессоров с очень широким спектром параметров. Мы не будем пытаться изучить их все, а опишем гипотетический микропроцессор с архитектурой (т. е. структурой и языком), обладающей типичными чертами. Таким образом, мы сможем лучше осветить наиболее существенные аспекты функционирования микропроцессоров вообще, не вдаваясь в детали, характерные для тех или иных конкретных моделей. Хотя наш гипо­тетический микропроцессор и не выпускается промышленностью, он близок к некоторым реально существующим моделям, например к про­цессорам серии 8000 фирмы «Интел».

 

Микрокомпьютер

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

Первые четыре функции обычно выполняются одним функцио­нальным блоком — микропроцессором. Функции хранения инфор­мации осуществляет запоминающее устройство. В него могут входить как постоянная память, так и оперативная. Наконец, внешние ком­муникации осуществляют блоки, называемые портами ввода/вывода; Каждый такой порт является интерфейсом между микропроцессором и: каким-либо внешним устройством, например терминалом, внешней памятью для хранения больших объемов информации, контроллером технологических процессов или измерительным прибором.



 

Рис. 4.1. Структура микрокомпьютера с шинной организацией

 

Структура микрокомпьютера, состоящего из подобных блоков, приведена на рис. 4.1. Взаимодействие блоков осуществляется при помощи шин трех типов: адресных шин, шин данных и управляющих шин. В дальнейшем мы будем рассматривать именно такую структуру шин, хотя возможны и другие варианты.

 

 

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

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

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

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

 

 

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

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

 

 

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

Информация к микропроцессору и от него передается по шинам. Шины данных в соответствии с длиной слова состоят из 8 линий, тогда как адресная шина состоит из 16 линий. Как показано на рис. 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 внешних линий реализуется интерфейс устройства управления с другими моду­лями микрокомпьютера. Назначение этих линий мы рассмотрим в сле­дующем разделе.

 

 





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.