русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Функционирование микро-ЭВМ


Дата добавления: 2015-08-14; просмотров: 810; Нарушение авторских прав


Пусть требуется выполнить простую операцию сложения трех чисел, например 10+5+18 = 3310. Короткая и простая микропрограмма выполнения этой операции могла бы быть записана в следующей последовательности (рис. 6.7).

Рис. 6.7

Команда 1: загрузить (LOAD) первое число (1010) в ЦП.

Команда 2: сложить (ADD) второе число (510) с первым.

Команда 3 сложить (ADD) третье число (1810) с двумя предыдущими.

Команда 4: поместить (STORE) сумму (3310) в ячейку памяти 2000Н.

После загрузки в память программы эти команды могли бы извлекаться из нее как команды памяти, показанной на рис. 6.7. Заметим, что первая команда программы начинается с адреса 0000Н. Эта команда (LOAD число 0AH) использует 2 байт памяти. Первый байт памяти содержит оперативную часть команды, другой — операнд. Код операции LOAD для микропроцессора, используемого в этом примере, будет 86Н (1000 01102). Операнд 0AH (0000 10102) является первым числом, подлежащим загрузке в аккумулятор микропроцессора. Заметим, что рис. 6.7 является широко распространенным представлением содержимого памяти и адресов в шестнадцатеричной записи. В реальной действующей машине такая информация представляется в форме напряжения Н- и L-уровней.

Предположим, что программа размещена в блоке ОЗУ микро-ЭВМ (рис. 6.1), в которую входят устройства, представленные на рис. 6.5. В таком случае рис. 6.8 иллюстрирует каждую операцию программы (LOAD, ADD, ADD, STORE).

Рис. 6.8. Команды: a - LOAD; б - ADD; в - ADD: г – STORE

Операция загрузки (LOAD) первой команды подробно приведена на рис. 6.8, а и показывает, что содержимое ячейки памяти 0001Н загружено в аккумулятор, который содержит после этого 0000 10102 — первое слагаемое число. В результате операции загрузки стирается предыдущее и записывается новое содержимое аккумулятора. Вторая команда, операция ADD, детализирована на рис. 6.8,6.



Содержимое ячейки памяти 0003Н (0000 01012) складывается с содержимым аккумулятора 0000 10102, что дает сумму 0000 11112, помещаемую в аккумулятор, и мы можем заметить, что содержимое аккумулятора изменяется при операции ADD.

На рис. 6.8, в показана вторая операция ADD (команда 3); содержимое аккумулятора — сумма 0000 11112 сложена с содержимым ячейки памяти 0005Н, т.е. выполняется операция 0000 1111+0001 0010=0010 0001. Окончательно 0010 0001 появляется в аккумуляторе после второй операции ADD.

Операция STORE (РАЗМЕСТИТЬ) по команде 4 представлена на рис. 6.8, г. Содержимое аккумулятора (0010 00012) передано и размещено в ячейке памяти по адресу 2000Н. Заметим, так как это важно, что ячейки памяти данных были идентифицированы в памяти программы двумя раздельными байтами (0007Н и 0008Н). Ячейка памяти программы 0006Н содержит КОП В7Н прямой команды STORE (см. рис. 6.7).

Этот тип команды будет выполнен, вероятно, за время около 2—6 мкс большинством микро-ЭВМ. Рисунок 6.9 иллюстрирует процедуру выполнения центральным процессором этой специальной операции.

Рассмотрим извлечение, декодирование и выполнение команды LOAD по адресам 0000Н и 0001Н в программе.

Рассмотрим сверху слева направо последовательность действий на рис. 6.9: счетчик команд прежде всего устанавливает адрес первого этапа программы. После этого 16-разрядный адрес передается в адресный регистр, затем на адресную шину и в память программы. Для активизации памяти программы ЦП выдает сигнал считывания программы (1 на линии R/W), в то время как дешифратор адресов

Рис. 6.9. Подробный анализ команды LOAD непосредственных данных

(который не входит в состав ЦП) активизирует выбор кристалла CS нулем. Затем счетчик команд инкрементируется до 0001Н, ячейка памяти программы 0000Н становится доступной и ее содержимое считывается на шину данных.

Код операции (86Н) команды LOAD передается в регистр ЦП. Этап извлечения КОП команды LOAD завершен.

Затем КОП (86Н), содержащийся в регистре команды ЦП, интерпретируется дешифратором команд. В данном случае ЦП определяет, идет ли речь о команде LOAD непосредственно, что означает загрузку им содержимого памяти, адрес которой следует непосредственно за КОП, в аккумулятор. Содержимое счетчика команд (0001Н) передается в адресный регистр, на адресную шину и в память

Центральный процессор выдает импульс HIGH считывания на вход R/W памяти. Импульс LOW поступает на вход СS памяти, что активизирует память. В третьей строке (снизу) на рис. 6.9 счетчик команд инкрементируется до 0002Н, что подготавливает его к извлечению последующей команды. Ячейка памяти 0001Н становится доступной, и ее содержимое (0AH) поступает на шину данных, затем передается в аккумулятор. В ходе этапа извлечения КОП всегда помещается в регистр команд.



<== предыдущая лекция | следующая лекция ==>
Структура элементарного микропроцессора | Код коррекции ошибок


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.36 сек.