Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

1.  Система команд и программная модель.

1.1.  Обобщенная программная модель МПС на основе МП 580 серии.

Основным элементом архитектуры МП системы обычно является регистр, т. е. некоторое физическое устройство, способное воспринимать, хранить и выдавать слово информации. Разрядность всех регистров в системе равна или кратна длине слова микропроцессора. Из всего разнообразия схем триггерных регистров наибольшее распространение в МП системах получили простейшие регистры-защелки (фиксаторы), выполненные на D-триггерах. Восьмибитный регистр-защелка имеет восемь входных линий DI7 – DI0, восемь выходных линий D7 – D0 и управляющий сигнал С (сигнал синхронизации). При высоком уровне сигнала С выходные сигналы на линиях D7 – D0 повторяют значения входных сигналов на этих линиях (с определенной задержкой распространения). Когда сигнал С изменяется от высокого уровня к низкому, на выходных линиях D7 – D0 фиксируются и сохраняются (эффект «защелкивания») те значения сигналов на входных линиях DI7 – DI0, которые действовали в момент перехода. Для правильной работы регистра-защелки необходимо, чтобы входные сигналы не изменялись в течение некоторого интервала времени до начала действия спадающего фронта сигнала С и в течение некоторого интервала времени после окончания действия этого фронта. Первый из этих интервалов называют временем установления (set-up time), второй — временем сохранения (hold time). Регистр-защелка обычно имеет асинхронный вход сброса CLR.

Ячейки памяти и порты ввода-вывода, по существу, являются регистрами, и поэтому любая МП система состоит из огромного числа регистров, а функционирование ее (выполнение программы) заключается в передачах слов между регистрами. Порядок передач, часть из которых сопровождается преобразованиями слов, определяется последовательностью команд программы. Команды дешифрируются устройством управления (управляющим автоматом) микропроцессора и преобразуются в определенные последовательности управляющих сигналов.

НЕ нашли? Не то? Что вы ищете?

Команды состоят из двух полей: поля операции (оператор), которое определяет выполняемое действие или операцию, и поля операнда — данные, участвующие в операции. Длина оператора обычно составляет 1 байт, и содержимое его называется кодом операции. В микропроцессорах используется адресный принцип построения команд — в поле операнда содержится не значение операнда, хотя это допускается в командах с непосредственной адресацией, а адрес регистра, содержащего операнд и называемого регистром-источником, или S-регистром.

 

Рисунок 1 - Структурная схема микропроцессора

Блок регистров организован в шесть 16-битных регистров: программный счетчик PC, указатель стека SP, регистр временного хранения W, Z и три пары 8-битных регистров общего назначения В, С; D, Е; Н, L. Программный счетчик хранит адрес текущей ячейки программной памяти. Указатель стека адресует последнюю занятую ячейку (или «верхушку») стека. Перед загрузкой в стек каждого байта производится декремент (уменьшение содержимого на 1) указателя стека, а после извлечения из стека каждого байта выполняется автоматический инкремент указателя стека. Инициализация указателя стека производится специальной командой LXI SP, поэтому в качестве стека допускается использовать любую область внешнего ОЗУ. Регистр W, Z недоступен программисту и используется при выполнении команд для временного хранения слов.

В микропроцессоре К580 применяются одно - и двухадресные команды, причем двухадресными являются только команды межрегистровых передач. В таких командах приходится адресовать регистр-источник и регистр-получатель (D-регистр). Во всех бинарных командах, связанных с преобразованием данных, в качестве подразумеваемого и поэтому неадресуемого операнда используется содержимое важнейшего внутреннего регистра микропроцессора — аккумулятора, или А-регистра (накопительный регистр, накапливающий сумматор, накопитель, регистр-сумматор, регистр результата). Обычно результат операции загружается в аккумулятор. Таким образом, аккумулятор является узловой точкой всех преобразований данных и основным рабочим регистром микропроцессора. Он выполнен как регистр-защелка, вход которого связан с выходом АЛУ, а выход подключается к одному из входов АЛУ.

Арифметическо-логическое устройство представляет собой сложную двухвходовую комбинационную схему, которая сигналами от устройства управления коммутируется на выполнение определенной операции. Арифметическо-логическое устройство микропроцессора К580 рассчитано на параллельное преобразование двух 8-битных операндов.

При указании в команде полного 16-битного адреса памяти она становится 3-байтной: первым байтом <В1> всегда является код операции; вторым — байт <В2>, содержащий младшие 8 бит адреса А7-А0; а третьим—байт <В3>, содержащий старшие 8 бит адреса А15-А8. Такая команда занимает в программной памяти три смежные ячейки. Для сокращения длины программы и экономии программной памяти в микропроцессор введены такие режимы адресации, которые позволяют применять одно - и двухбайтные команды. На рисунке 2 показано размещение фрагмента программы в памяти. Для хранения текущего адреса программной памяти используется программный счетчик PC или Р-регистр (счетчик команд, счетчик инструкций, счетчик адреса команды, указатель команды). При каждом обращении к программной памяти производится автоматическое увеличение содержимого программного счетчика на единицу, называемое инкрементом.

 

Рисунок 2 - Размещение команд программы в памяти

Выполнение команды в МП системе, как и любой вычислительной машине, состоит из следующих крупных этапов: выборка команды, считывание операнда и собственно выполнение операции. В свою очередь каждый из этапов включает в себя несколько более мелкиx шагов. Рассмотрим выполнение 3-байтной команды, считая, что в программном счетчике содержится адрес 0500.

На первом шаге содержимое программного счетчика по шине адреса передается в память и сигналом считывания DBIN производится выборка первого байта команды — им всегда является код операции. По шине данных код операции передается в микропроцессор, загружается в регистр команд и хранится в нем в течение всего последующего времени выполнения команды. Одновременно с этим производится инкремент программного счетчика, который указывает на следующую ячейку программной памяти с адресом 0501.

Регистр команд связан со сложной схемой дешифрирования и синхронизации, из которой информация о коде операции поступившей из памяти команды передается в устройство управления. На это же устройство подаются сигналы синхронизации и внешние управляющие сигналы. Устройство управления генерирует необходимые последовательности сигналов, коммутирующих схемы самого микропроцессора и поступающих в другие компоненты системы. Основу устройства управления микропроцессора К580 составляют программируемые логические матрицы.

По коду операции устройство управления распознает 3-байтную команду и осуществляет необходимые действия по выборке второго и третьего байтов команды. Для этого содержимое PC (в данном случае 0501) по шине адреса передается в память, осуществляется считывание второго байта <В2> команды и передача его по шине данных в младшие биты регистра адреса памяти (регистр Z). Одновременно производится инкремент PC, который указывает на следующую ячейку программной памяти с адресом 0502. Аналогично в старшие биты регистра адреса памяти (регистр W) считывается третий байт <ВЗ> данной команды. Выборка команды завершена, a PC содержит адрес 0503.

На этапе считывания операнда содержимое регистра адреса памяти по шине адреса передается в память, сигнал DBIN производит считывание, байт операнда по шине данных передается в микропроцессор и загружается в один из регистров для временного хранения. Теперь микропроцессор готов к собственно выполнению операции. Устройство управления подключает на входы АЛУ регистр с операндом и аккумулятор и коммутирует схему АЛУ на выполнение операции, определяемой кодом операции, хранящимся в регистре команд. Арифметическо-логическое устройство выполняет операцию, и формируемый на его выходах результат загружается в аккумулятор. (Трехбайтные команды в микропроцессоре К580 связаны только с передачами слов, поэтому третий этап описан здесь для некоторой гипотетической команды).

На этом выполнение команды завершается, и микропроцессор готов к выполнению следующей команды, адрес которой уже сформирован в программном счетчике.

Временной интервал выполнения одной команды называется циклом команды. Характерной особенностью микропроцессоров является независимость циклов команд от значений операндов. Поэтому циклы команд можно измерять числом периодов сигналов синхронизации (тактов). Зная эти значения и частоту генератора синхронизации, можно точно определить время выполнения любого сегмента программы.

Рассмотренный пример выполнения 3-байтной команды показывает, что собственно ее выполнение занимает небольшую долю цикла команды, а значительная часть его приходится на подготовительные действия — выборку команды и считывание операнда. Для сокращения длины программы и увеличения производительности микропроцессора в его состав необходимо ввести дополнительные внутренние регистры.

Одну из групп образуют регистры адреса, рассчитанные на хранение 16-битных адресов и называемые указателями памяти. В микропроцессоре К580 таким особым указателем памяти является указатель стека SP, используемый при организации вложенных подпрограмм и обработке многоуровневых прерываний. Кроме того, в качестве указателей памяти используются регистровые пары В-(В, С), D-(D, E), Н-(Н, L). Наличие указателей памяти позволяет с помощью косвенной адресации обращаться к памяти 1-байтными командами. Важно подчеркнуть, что все указатели памяти являются программно доступными, т. е. их содержимое можно модифицировать с помощью специальных команд.

Вторую группу образуют регистры общего назначения (РОН), разрядность которых равна длине слова микропроцессора и которые могут хранить любые данные. (Синонимы: сверхоперативная, локальная, внутренняя или «блокнотная» память микропроцессора, общие регистры, универсальные регистры). Специальными командами можно загрузить в любой РОН данные из памяти, передать данные из одного РОН в другой и запомнить содержимое любого РОН в памяти. Гораздо важнее то, что содержимое любого РОН может быть операндом в разнообразных операциях. Команды, оперирующие содержимым РОН, оказываются короткими и выполняются за минимальное время, так как этап считывания операнда из памяти в них отсутствует. В микропроцессоре К580 есть шесть РОН: В, С, D, E, H, L с 3-битными внутренними адресами от 000 до 101. Аккумулятор А можно использовать как РОН с адресом 111. При составлении прикладных программ приходится избирать то или иное направление их выполнения в зависимости от особенностей (признаков) текущих результатов, т. е. принимать решения в соответствии со складывающейся ситуацией. Для этого при выполнении многих команд микропроцессор формирует двоичные признаки (флажки), отражающие особенности результата выполненной команды. Значение каждого признака фиксируется в специальном триггере. Если какая-либо особенность имеет место, то в соответствующем триггере записывается 1 (флажок установлен); в противном случае триггер фиксирует 0 (флажок сброшен). Совокупность триггеров флажков образует регистр флажков, или F-регистр, называемый также регистром кода условия. Содержимое аккумулятора и F-регистра будем называть в дальнейшем словом состояния программы. Для его обозначения будем использовать аббревиатуру PSW (processor status word). Входы F-регистра через комбинационную схему связаны с выходом АЛУ, и вместе с формированием результата операции производится установка или сброс флажков.

В микропроцессоре К580 имеются следующие флажки:

С — флажок переноса. Устанавливается при наличии переноса из старшего бита результата (в операциях вычитания флажок С становится флажком заема);

S — флажок знака. Совпадает со значением старшего бита результата;

Z — флажок нуля. Устанавливается при нулевом результате;

Р — флажок паритета. Устанавливается при наличии в результате четного числа единиц. Используется термин «паритет» вместо обычного термина, «четность», так как иногда приходится подчеркивать четный паритет (even parity) и нечетный паритет (odd parity).

AC — флажок вспомогательного переноса (полупереноса). Устанавливается при возникновении переноса из третьего бита в четвертый, т. е. из младшей тетрады в старшую.

В F-регистре флажки распределены следующим образом: бит 7 — флажок S, бит 6 — флажок Z, бит 4 — флажок АС, бит 2 — флажок Р, бит 0 — флажок С. Биты 5 и 4 содержат нули, а бит 1 — единицу. Важнейшим из флажков является флажок С, называемый иногда битом связи. Наличие его позволяет организовать на малоразрядном микропроцессоре обработку данных любой длины путем последовательной обработки байтов oпeрандов.

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

В точном соответствии со смыслом выполняемой команды в микропроцессоре должны производиться передачи слов между многочисленными внутренними регистрами. Оказалось удобным организовать их по внутренней двунаправленной шине данных, состоящей из восьми линий. Естественно, передачи по шине приводят к тому, что в любой момент времени на нее можно выдать содержимое только одного регистра-источника. Обычно и принимает данные с шины только один регистр-получатель. Выходные схемы регистра-источника и входные схемы регистра-получателя коммутируются управляющими сигналами.

Обмен 8-битными словами между внутренней шиной данных и блоком регистров производится через мультиплексор выбора регистра. Имеются также линии передачи 16-битных слов между блоком регистров и схемой инкремента/декремента (инкрементор/декрементор). Эта схема представляет собой быстродействующую комбинационную схему, выходное слово которой в зависимости управляющих сигналов представляет собой увеличенное или уменьшенное на 1 значение входного слова, Шестнадцатибитные слова из любой пары регистров можно загрузить в регистр-защелку адреса, который управляет буферами шины адреса и схемой инкремента/декремента. Последняя преобразует слова в соответствии с заданной операцией и возвращает их в блок регистров. Введение схемы инкремента/декремента обеспечивает совмещение инкремента программного счетчика с другими действиями микропроцессора. В состав узла АЛУ входят аккумулятор, регистр-защелка аккумулятора, регистр временного хранения данных, регистр флажков и параллельное 8-битное АЛУ. Предусмотрена также схема десятичной коррекции, которая позволяет обрабатывать двоично-кодированные десятичные числа (ДКД-числа, или BCD-числа). Результат операции с выхода АЛУ можно передать на внутреннюю шину или загрузить в аккумулятор. Регистр временного хранения принимает информацию с внутренней шины и может выдавать ее в АЛУ, регистр флажков или на внутреннюю шину.

Чтобы изолировать внутреннюю шину данных от внешней, введены тристабильные буферные элементы с регистрами-защелками. В режиме записи (вывода) код с внутренней шины данных загружается в регистр-защелку, триггеры которого управляют выходными буферами внешней шины данных. Выходные буферы отключаются при считывании (вводе) или при выполнении операций, не связанных с обменом данными. В режиме считывания информация с внешней шины данных передается на внутреннюю шину данных.

В технической документации обычно приводятся более подробные структурные схемы микропроцессоров. Однако для подавляющего большинства пользователей анализировать внутреннее устройство (микроархитектуру) микропроцессора совсем не обязательно, тем более что по мере роста степени интеграции оно неизбежно будет становиться все более сложным. Достаточную для практического использования микропроцессоров информацию дает программная (регистровая) модель МП системы. В нее включается только те регистры, к которым можно обращаться программно. Знания программной модели вместе со знанием системы команд (они образуют макроархитектуру системы) вполне достаточно для составления прикладных программ. Проектирование аппаратных средств МП систем облегчается при наличии типовых конфигураций, построенных из микросхем, входящих в микропроцессорное семейство.

 

Рисунок 3 - Программная модель МП системы

На рисунке 3 показана программная модель МП системы на базе микропроцессора К580. Особенностью микропроцессора является возможность программного объединения (конкатенации) 8-битных РОН в 16-битные регистровые пары. Пары могут хранить 16-битные операнды или выступать в качестве указателей памяти. Основным указателем памяти служит Н-пара, которая адресуется в командах как РОН с адресом 110. Ячейка памяти, адрес которой определяется содержимым Н-пары, обозначается М (memory — память). Микропроцессор может адресовать до 256 портов ввода, до 256 портов вывода, а также 64 К ячеек памяти.

1.2.  Программная модель терминала RPT-80.

Сопряжение терминала с внешним устройствами (АЦПУ – алфавитно-цифровое печатающее устройство, модем, НГМД – накопитель на гибком магнитном диске, дисплей с клавиатурой, объекты управления) осуществляется платами РТ-25, РТ-55 и другими. Платы содержат: программируемый параллельный интерфейс 8255 (КР580ВВ55) (РТ-55); программируемый параллельный адаптер 8251 (КР580ВВ51) (РТ-25). Их адреса устанавливаются вставными перемычками, а режим работы (в частности, направление ввод и вывод) определяются пользователем.

0000

….

0BFF

Монитор

RPS

ППЗУ 3 кб

PT -10

4 кб

5000

….

5BFF

Область

монитора

(ввод-вывод)

ППЗУ

PT -40

4 кб

0C00

….

0FFF

Область

монитора

ОЗУ

1 кб

5C00

….

5FFF

Область пользователя

1000

….

1DFF

Область пользователя

ОЗУ

PT -45

4 кб

6000

….

6BFF

Область пользователя

1E00

….

1FFF

Область

монитора (стек)

6C00

….

73FF

Арифметические подпрограммы

2000

….

2FFF

Область пользователя

ОЗУ

PT -45

4 кб

7400

….

7FFF

Область дисплейного монитора

3000

….

3FFF

Адреса ОЗУ плат РТ-25

ОЗУ

4 кб

8000

….

8FFF

Область пользователя

ОЗУ

PT -45

4 кб

4000

….

4BFF

Область

монитора

ППЗУ

PT -40

4 кб

9000

….

9FFF

Область пользователя

ОЗУ

PT -45

4 кб

4C00

….

4FFF

Область пользователя

A000

….

FFFF

Область пользователя

Рисунок 4 – Память RPT-80

1.2.1. Выяснить экспериментально какую область выделяет под стек программа-монитор. Разработать и апробировать программу иллюстрирующую работу со стеком (при этом под стек выделить свою область). После окончания работы программы прежнее значение [SP] должно быть восстановлено.

Адрес

Код

Мнемоника

Примечание

8000

21

LXI H, 0000

HL←0000h

8001

00

8002

00

8003

39

DAD SP

HL←[HL]+ [SP]

8004

22

SHLD 8300

M(8300) ←[HL]

8005

00

8006

83

8007

21

LXI H, 8200

HL←8200h

8008

00

8009

82

800A

F9

SPHL

SP←[HL]

800B

01

LXI D, DDEE

DE←DDEEh

800C

CC

800D

BB

800E

C5

PUSH D

M([SP]) ←[DE]

800F

C1

POP D

DE←M([SP])

8010

2A

LHLD 8300

HL←[M(8300)]

8011

00

8012

83

8013

F9

SPHL

SP←[HL]

8014

C9

RET

PC←[M([SP])]

1.3.  Показать на программной модели порядок выполнения команды. Указать число байт, число циклов, число тактов и команд, а также влияние на флаги. Указать вид адресации, используемый командой. Составить 2 программы (учитывающие возможности RPT-80 и Микролаб-580), иллюстрирующие действие приведенной программы.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3