Добавлен: 06.07.2023
Просмотров: 103
Скачиваний: 2
а
|
Код Операции |
Операционная Адресная часть
часть
б
|
КОП |
А1 |
А2 |
А3 |
А4 |
в
|
КОП |
А1 |
А2 |
А3 |
г
|
КОП |
А1 |
А2 |
д
|
КОП |
А1 |
е
|
КОП |
Рис.5 Структуры команд:
а – обобщенная; б – четырехадресная; в – трехадресная;
г – двухадресная; д – одноадресная; е – безадресная
Общий вид команды машины может быть таким: К А1 А2 А3, где К - код действия, а А1, А2, А3 - адреса ячеек памяти. Для выполнения команд служит специальное арифметико-логическое устройство (АЛУ) . Оно состоит из двух особых ячеек - счётчика команд и регистра команд, а также сумматора. При выполнении ЭВМ программы в счётчик команд последовательно заносятся номера ячеек, где содержатся исполняемые команды, сами команды помещаются в регистр команд, а в сумматоре происходят арифметические действия. Сумматор также имеет свою ячейку - для промежуточных результатов вычислений. Отметим, что команды современных ЭВМ могут занимать несколько ячеек памяти. Кроме представленного счётчика команд могут использоваться и другие способы определения порядка выполнения команд, хранящихся в памяти машины. Так широко используется принцип микропрограммного управления, при котором часть машинного слова определяет адрес ячейки хранящей следующую команду, либо регистровую или косвенную регистровую адресацию на основании информации которых вычисляется адрес следующей команды.
В общем случае память машины в упрощенном виде можно представить как длинную страницу, состоящую из отдельных строк. Каждая такая строка, как было показано выше, называется ячейкой памяти, и в свою очередь, разделяется на разряды. Все ячейки памяти занумерованы. Наличие у каждой ячейки адреса позволяет отличать ячейки друг от друга, обращаться к любой ячейке, чтобы записать в неё новую информацию или извлечь ту информацию, которая в ней хранится.
Содержимым любого разряда может быть либо нулём 0, либо единицей 1. Значит, в любую ячейку памяти записывается некоторый набор нулей и единиц, составляющих машинное слово. Таким образом наличие пронумерованных ячеек памяти, содержащих машинные слова кодов программы и способности процессоров интерпретировать и определять адрес следующей исполняемой команды, реализуют принцип автоматического программного выполнения команд программы без участия человека.
Современные процессоры имеют разветвленную систему команд, которая очень упрощенно может быть разделена на команды:
1. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ - это такие операции, как сложение, вычитание, умножение, деление и другие.
2. ЛОГИЧЕСКИЕ ОПЕРАЦИИ - это такие операции, как сравнение, отредактировать и отметить, логическое И и логическое ИЛИ, исключение, проверка по маске и прочее.
3. ОПЕРАЦИИ ВВОДА-ВЫВОДА - это такие операции, как начать, остановить, опросить устройства ввода-вывода, опросить каналы и так далее.
4. ОПЕРАЦИИ ПЕРЕКЛЮЧЕНИЯ СОСТОЯНИЯ - это такие операции, как проверить и установить, загрузить реальные адреса и так далее.
Любую задачу компьютер разбивает на отдельные логические операции, производимые над двоичными числами, причем в одну секунду осуществляются сотни тысяч или миллионы таких операций. Сложение, вычитание, умножение и деление элементарные операции, выполняемые А Л У ЭВМ. Помимо арифметического устройства АЛУ включает и логическое устройство, предназначенное для операций, при осуществлении которых отсутствует перенос из разряда в разряд. Иногда эти операции называют логическое И и логическое ИЛИ. Все операции в АЛУ производятся в регистрах специально отведенных ячейках АЛУ. Время выполнения простейших операций определяется минимальным временем сложения двух операндов, находящихся в регистрах. В случае, если одно или оба слагаемых находятся не в регистра, а в запоминающем устройстве (ЗУ) , учитывается также время пересылки слагаемых в регистры и время записи полученной суммы в ЗУ. В большинстве современных микропроцессоров это время составляет от нескольких сотен наносекунд до нескольких микросекунд.
Все команды программы выполняются последовательно, команда за командой, в том порядке, как они записаны в памяти ЭВМ (естественный порядок следования команд). Этот порядок характерен для линейных программ, т. е. программ, не содержащих разветвлений.
Обрабатываемые данные и выполняемая программа должны находиться в запоминающем устройстве - памяти ЭВМ, куда они вводятся через устройство ввода. Функционально память машины делится на две части: внутреннюю и внешнюю.
Внутренняя, или основнаяу память - это запоминающее устройство, напрямую связанное с процессором и предназначенное для хранения выполняемых программ и данных, непосредственно участвующих в вычислениях. Обращение к внутренней памяти ЭВМ осуществляется с высоким быстродействием, но она имеет ограниченный объем, определяемый системой адресации машины.
Оперативная память, по объему составляющая большую часть внутренней памяти, служит для приема, хранения и выдачи информации. При выключении питания ЭВМ содержимое оперативной памяти в большинстве случаев теряется. Постоянная память обеспечивает хранение и выдачу информации. В отличие от содержимого оперативной памяти, содержимое постоянной заполняется при изготовлении ЭВМ и не может быть изменено в обычных условиях эксплуатации. В постоянной памяти хранятся часто используемые (универсальные) программы, и данные, к примеру, некоторые программы операционной системы, программы тестирования оборудования ЭВМ и др. При выключении питания содержимое постоянной памяти сохраняется.
Современные компьютеры позволяют держать в памяти машины с целью экономии машинного времени и повышения производительности компьютеров сразу несколько программ. При этом внутри машины организовываются сложные циклы с возможностью прерывания и возврата к выполнению программ в зависимости от присвоенных им приоритетов. При этом реализуется принцип так называемой мультипрограммной работы ЭВМ. Этот метод был признан очень удобным, так как при организации мультипрограммного цикла:
1. Машина не простаивала зря: при одновременном выполнении нескольких программ и команд в работе процессора появлялась новая функция анализ и распределение машинного времени, отведённого на выполнение каждой программы;
2. За каждый машинный такт (вследствие с очередностью или уровнем приоритета, общим временем, требующимся на выполнения команды) выполнялась одна или несколько команд.
Действительно, метод мультипрограммной работы оказался потрясающе эффективным, но для его успешной реализации требовалось очень много оперативной памяти, так как всякая программа, которая может быть вызвана впоследствии, оставляет небольшую (а иногда и очень большую!) свою часть резидентной в оперативной памяти. Возможны два варианта: сохранить большую часть ОЗУ свободной, по надобности загружая в ОП ту или иную программу, требующую непосредственного выполнения и, после этого, отработав с данной программой, отчистить содержимое ОП для загрузки новой программы. Либо второй вариант состоит в том, чтобы сразу загрузить в ОП Машины все требующиеся программы, таким образом заполнив её до основания и потом дать процессору команду на выполнение. Первый вариант не является примером мультипрограммной организации и существенно уступает ему в эффективности. Таким образом в памяти машины одновременно исполняется огромное количество процессов, каждый из которых реализует принцип автоматического программного управления.