Принципы работы ЭВМ по структуре фон Неймана

Команды МПС

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

 

 



Рис 2.5. Формат команды

Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.

Главным элементом кода команды является код операции (КОП), он определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 - адреса операндов. А3 - адрес результата.

Длина команды зависит от числа адресных полей. По числу адресов команды делятся на:

 - безадресные,

 - одно-, двух-, трехадресные.

Длина кода команды измеряется в машинных словах.

Чтобы минимизировать число адресных полей, результат можно размещать по месту хранения одного из операндов (ADD AX, BX). Либо предварительно размещать один или несколько операндов в специально выделенных регистрах процессора (аккумуляторах). Также во многих типах операций (например, логических) третий, а часто и второй адрес вообще не используется (RET, IRET, JE xx, INC AL). Оттранслированные команды записываются в соседние ячейки памяти в порядке их следования в программе.

Множество реализуемых операций машины образует её систему команд. Система команд часто определяет области и эффективность применения ЭВМ. К системе команд ЭВМ предъявляют требования минимальности и функциональной полноты. Большинство алгоритмов может быть реализовано небольшим базовым набором команд. Вместе с тем система команд должна быть полной, т.е. содержать все команды, которые необходимы для интерпретации алгоритма в машинных кодах.

 

Принципы работы ЭВМ по структуре фон Неймана

 

Принципы работы ЭВМ иллюстрируются на рис. 2.6. По адресу команды, которая определяется содержимым СчК, выбирается из соответствующей ячейки ОЗУ слово, представляющее собой очередную команду программы и пересылается в регистр команд РгК. Часть команды (код операции) направляется в дешифратор ДШ. После чего, в соответствии с КОП формируется требуемая последовательность управляющих импульсов, которая подается на те устройства, которые должны выполнять расшифрованную операцию. Если КОП относится к арифметическим или логическим операциям, эти импульсы поступают в АУ.

По адресной части команды (А1 – А3) УУ вырабатывает сигналы управления для ОЗУ, обеспечивающие чтение операндов по адресам А1 и А2, посылку их в АУ и запись результатов по третьему адресу А3 обратно в ОЗУ. Признаки результата (знак, наличие переполнения, признак нуля и так далее) поступают в УУ, где записываются в специальный регистр признаков (РП).

После завершения выполнения данной операции, что определяется регистром состояния, в СчК добавляется единица (+1) и в следующем такте из ОЗУ будет выбрана следующая команда программы по порядку номеров ячеек ОЗУ, и затем этот процесс будет повторяться.

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

Рис.2.6. Принципы работы ЭВМ по структуре фон Неймана

Важное преимущество данной системы – универсальность:

В тоже время присутствуют ряд недостатков:

  1. Любая универсальность обязательно приводит к избыточности. Решение максимально трудной задачи требует гораздо больше средств, чем решение максимально простой и сложность универсальной системы должна быть такой, чтобы обеспечивать решение самой трудной задачи, но чем проще решаемая задача, тем большей становится избыточность системы. Избыточность ведет к увеличению стоимости системы, снижению ее надежности, увеличению потребляемой мощности и т.д.
  2. Кроме того, универсальность, как правило, приводит к существенному снижению быстродействия.

Таким образом, можно сделать следующий вывод. Системы на «жесткой логике» хороши там, где решаемая задача не меняется длительное время, где требуется самое высокое быстродействие, где алгоритмы обработки информации предельно просты. А универсальные, программируемые системы хороши там, где часто меняются решаемые задачи, где высокое быстродействие не слишком важно, где алгоритмы обработки информации сложные.

Автоматическое управление процессом работы микропрограммной ЭВМ по решению задачи достигается на основе принципа программного управления (ППУ), который составляет ее главную особенность и состоит в следующем:

Классификация команд МП

 

Классификация команд по основным признакам представлена ниже.

Классификация команд

 

По функциональному назначению команды процессора включает в себя следующие основные группы команд:

  • Команды передачи (пересылки) данных;
  • Команды обработки данных (арифметические, логические);
  • Команды передачи управления (переходов);

Команды пересылки данных не требуют выполнения никаких операций над операндами. Даные просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.

Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.

Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг). Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.

Команды переходов предназначены для изменения обычного порядка последовательного выполнения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т.д. Команды переходов всегда меняют содержимое счетчика команд. Переходы могут быть условными и безусловными. Именно эти команды позволяют строить сложные алгоритмы обработки информации.

По числу адресов различают однооперандными (или одноадресные) и двухоперандные (или двухадресные).

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

 

 

Слово состояния процессора

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

Совокупность значений этих информационных элементов по­лучила название вектора состояния или слова состояния процессора (программы).

Слово состояния процессора (на примере МП К580)

Вектор состояния в каждый момент времени должен со­держать информацию, достаточную для продолжения выпол­нения программы или повторного пуска программы с точки, соответствующей моменту формирования данного вектора со­стояния. При этом предполагается, что остальная информация, характеризующая состояние процессора, например содержимое регистров, или сохраняется, или может быть восстановлена программным путем по копии, сохраненной в памяти. Вектор состояния формируется в соответствующем регистре (регистрах) процессора, претерпевая изменения после выпол­нения каждой команды. Наборы информационных элементов, образующих векторы состояния, отличаются у ЭВМ разных типов. Наиболее просто он выглядит у микропроцессоров. Например, вектор состояния микропроцессора К580, включает в себя содержимое 16-разрядного счетчика команд (адрес оче­редной команды); содержимое 8-разрядного регистра признаков, называемое в документации на этот микропроцессор словом состояния процессора, и содержимое 8-разрядного аккумулято­ра АЛУ. Использование слова (вектора) состояния — распростра­ненный прием построения управления устройствами вычисли­тельной техники.

Для нормального функционирования МПС недостаточно управляющих сигналов, формируемых МП на собственных выводах т.к., нельзя отличить циклы обращения к памяти от циклов обращения ввода-вывода. Расширение числа управляющих сигналов достигается с помощью специального 8-разрядного кода BS (байта состояния), который МП выдает через шину данных в первом такте Т1 каждого машинного цикла. Байт состояния BS содержит информацию о текущем машинном цикле. Таким образом, в каждом машинном цикле МП формирует код типа текущего машинного цикла, который далее декодируется в системном контроллере. В результате декодирования кода типа машинного цикла формируется расширенный набор сигналов шины управления для управления памятью, устройствами ввода-вывода и прерываниями. Всего 11 типов машинных циклов:

1. FETCH Цикл М1 приема первого байта команды в
регистр IR .

2. MEMORY_READ Цикл чтения данных из памяти по адресу,

определяемому PC, BC, DE, HL.

3. MEMORY_WRITE Цикл записи данных в память по адресу,

определяемому BC, DE, HL, SP.

4.   STACK-READ Цикл чтения из стека, чтение памяти по адресу, определяемому SP.

5. STACK-WRITE Цикл записи в стек, запись в память по адресу,

определяемому SP.

6. INPUT Цикл ввода данных из порта в аккумулятор А.

7. OUTPUT Цикл вывода данных из аккумулятора в порт.

8. INTERRUPT-M1 Первый цикл подтверждения прерывания .

9. HALT Цикл останова.

10. HALT-INTERRUPT Первый цикл подтверждения прерываний в

состоянии останова.

11. INTERRUPT Второй и третий циклы подтверждения прерывания.


Назначение линий управления

F1 и F2 Это входные линии приема взаимно противофазных сигналов тактирования МП. Поступают с генератора тактовых импульсов (рис.2.19).

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

Ready Входная линия приема МП сигнала от ВУ, информирующих о готовности принять или выдать данные (высоким уровнем).


WAIT Выходная линия, на которую МП выставляет сигнал ожидания (высокий уровень), если в такте Т2 отсутствует высокий уровень на линии Ready.

Reset По этой линии поступает сигнал установки МП в исходное состояние. При этом в программный счетчик РС загружается стартовый адрес РС=0000h, с которого начинается пусковая программа. В регистр команд IR записывается код пустой команды NOP, т.е. IR=00h. Внутренние триггеры “разрешение прерывания” и “подтверждение захвата шины” устанавливаются в нулевое состояние. Состояние РОН и регистра признаков F по сигналу Reset не изменяется.

INT Линия приема сигнала запроса на прерывание от ВУ. МП анализирует состояние этой линии в конце текущей команды или в состояние “Останов”. И если внутренний триггер “разрешения прерываний” установлен в состояние “разрешено” (командой EI), то МП формирует машинные циклы обработки прерывания, выставляя на шину данных байт состояния SB, на основе которого системный контроллер вырабатывает сигналы INTA #.

 

INTE Выходная линия, на которую МП формирует сигнал

“разрешение прерывания”.

 

HOLD Входная линия приема сигнала запроса шин, поступающая от ВУ.

HLDA Выходная линия, на которую микропроцессор выставляет сигнал “подтверждение захвата шин” в ответ на сигнал HOLD. При этом буферы на шинах адреса и данных устанавливает в Z-состояние.

DBIN Выходная линия, на которую МП формирует сигнал высокого

уровня при выполнении команд чтения памяти или УВВ.

 

WR# Выходная линия. При выполнении команд записи в память или

УВВ МП выставляет сигнал низкого уровня.


Генератор тактовых импульсов формирует две взаимно противофазные импульсные последовательности F1 и F2. Микропроцессор воспринимает эти тактирующие сигналы, пересчитывает их с коэффициентом пересчета 3-5. Величина коэффициента пересчета определяется типом выполняемой в данный момент команды. В начале каждого машинного цикла микропроцессор формирует сигнал синхронизации (SYNC), который поступает на генератор тактовых импульсов. В генераторе тактовых импульсов с приходом сигнала SYNC формируется сигнал STSTB#, служащий для стробирования записи байта состояния SB процессора в регистр системного контроллера. Таким образом, в каждом машинном цикле МП формирует код типа текущего машинного цикла, который далее декодируется в системном контроллере. В результате декодирования кода типа машинного цикла формируется расширенный набор сигналов шины управления для управления памятью, устройствами ввода-вывода и прерываниями. Все сигналы имеют активным низкий уровень:

MEMRD# строб-сигнал чтения памяти.

MEMWR# строб-сигнал записи в память.

IORD# строб-сигнал чтения УВВ (портов).

IOWRC# строб-сигнал записи в УВВ (порты).

INTA# сигнал подтверждения прерывания. Используется для

стробирования чтения адреса подпрограммы обработки прерывания, например из контроллера прерывания КР580ВН59.





Команды МПС

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

 

 



Рис 2.5. Формат команды

Форматом команды называется заранее обговоренная структура полей в её кодах, позволяющая ЭВМ распознавать составные части кода.

Главным элементом кода команды является код операции (КОП), он определяет, какие действия будут выполнены по данной команде. Под него выделяется N старших разрядов формата. В остальных разрядах размещаются А1 и А2 - адреса операндов. А3 - адрес результата.

Длина команды зависит от числа адресных полей. По числу адресов команды делятся на:

 - безадресные,

 - одно-, двух-, трехадресные.

Длина кода команды измеряется в машинных словах.

Чтобы минимизировать число адресных полей, результат можно размещать по месту хранения одного из операндов (ADD AX, BX). Либо предварительно размещать один или несколько операндов в специально выделенных регистрах процессора (аккумуляторах). Также во многих типах операций (например, логических) третий, а часто и второй адрес вообще не используется (RET, IRET, JE xx, INC AL). Оттранслированные команды записываются в соседние ячейки памяти в порядке их следования в программе.

Множество реализуемых операций машины образует её систему команд. Система команд часто определяет области и эффективность применения ЭВМ. К системе команд ЭВМ предъявляют требования минимальности и функциональной полноты. Большинство алгоритмов может быть реализовано небольшим базовым набором команд. Вместе с тем система команд должна быть полной, т.е. содержать все команды, которые необходимы для интерпретации алгоритма в машинных кодах.

 

Принципы работы ЭВМ по структуре фон Неймана

 

Принципы работы ЭВМ иллюстрируются на рис. 2.6. По адресу команды, которая определяется содержимым СчК, выбирается из соответствующей ячейки ОЗУ слово, представляющее собой очередную команду программы и пересылается в регистр команд РгК. Часть команды (код операции) направляется в дешифратор ДШ. После чего, в соответствии с КОП формируется требуемая последовательность управляющих импульсов, которая подается на те устройства, которые должны выполнять расшифрованную операцию. Если КОП относится к арифметическим или логическим операциям, эти импульсы поступают в АУ.

По адресной части команды (А1 – А3) УУ вырабатывает сигналы управления для ОЗУ, обеспечивающие чтение операндов по адресам А1 и А2, посылку их в АУ и запись результатов по третьему адресу А3 обратно в ОЗУ. Признаки результата (знак, наличие переполнения, признак нуля и так далее) поступают в УУ, где записываются в специальный регистр признаков (РП).

После завершения выполнения данной операции, что определяется регистром состояния, в СчК добавляется единица (+1) и в следующем такте из ОЗУ будет выбрана следующая команда программы по порядку номеров ячеек ОЗУ, и затем этот процесс будет повторяться.

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

Дата: 2018-12-28, просмотров: 133.