Используемый в современных компьютерах принцип программного управления был предложен в 1945 году Дж. фон Нейманом. Этот принцип включает следующие положения.
Принципы программного управления. Краткие пояснения принципов обновлено: 22 ноября, 2019
Источник: nauchniestati.ru
Принцип программного управления.
Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд.
Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемой программой.
Первой выполняется команда, заданная пусковым адресом программы. Обычно это адрес первой команды программы. Адрес следующей команды однозначно определяется в процессе выполнения текущей команды и может быть либо адресом следующей по порядку команды, либо адресом любой другой команды. Процесс вычислений продолжается до тех пор, пока не будет выполнена команда, предписывающая прекращение вычислений.
05. Основы устройства компьютера. Регистры и команды процессора. [Универсальный программист]
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Но существуют компьютеры, принципиально отличающиеся от фон-неймановских. Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без «счетчика команд», указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими.
2КЛАССИЧЕСКАЯ АРХИТЕКТУРА ЭВМ
При рассмотрении компьютерных устройств принято различать их архитектуру и структуру.
Архитектурой компьютера называется его описание на некотором общем уровне, включающее описание пользовательских возможностей программирования, системы команд, системы адресации, организации памяти т. е. все то, что однозначно определяет процесс обработки информации на данной ЭВМ.
Структура ЭВМ — совокупность элементов компьютера и связей между ними.
Ввиду большой сложности современных ЭВМ принято представлять их структуру иерархически, т. е. понятие «элемент» жестко не фиксируется. Так, на самом высоком уровне сама ЭВМ может считаться элементом. На следующем (программном) уровне иерархии элементами структуры ЭВМ являются память, процессор, устройства ввода-вывода и т. д. На более низком уровне (микропрограммном) элементами служат узлы и блоки, из которых строятся память, процессор и т. д. Наконец, на самых низких уровнях элементами выступают интегральные логические микросхемы и электронные приборы.
Перечисленные принципы функционирования ЭВМ предполагают, что компьютер должен иметь следующие устройства:
G-, M-КОДЫ — #25 — БАЗОВЫЕ G-КОДЫ: G00 И G01 / Программирование обработки на станках с ЧПУ
— арифметико-логическое устройство (АЛУ), выполняющее арифметические и логические операции;
— устройство управления (УУ), которое организует процесс выполнения программы;
— запоминающее устройство (ЗУ), или память для хранения программ и данных;
— внешние устройства для ввода (устройства ввода) и вывода (устройства вывода) информации.
Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя.
Схема устройства ЭВМ представлена на рисунке 1. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком.
Все устройства ЭВМ соединены линиями связи, по которым предаются информационные и управляющие сигналы, а синхронизация процессов передачи осуществляется при помощи тактовых импульсов, вырабатываемых генератором тактовых импульсов (ГТИ).
Запоминающее устройство у современных компьютеров «многоярусно». Оно включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время, и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ, но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается — определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.
Рисунок 1 – Обобщенная структурная схема ЭВМ
Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок — процессор, предназначенный для обработки данных по заданной программе путем выполнения арифметических и логических операций и программного управления работой устройств компьютера.
Процессор (центральный процессор, ЦП) — программно-управляемое устройство, осуществляющее процесс обработки цифровой информации, управление им и координацию работы всех устройств компьютера.
Процессор, построенный на одной или нескольких больших интегральных микросхемах, называют микропроцессором.
Для ускорения выполнения арифметических операций с плавающей точкой к АЛУ подключается дополнительный математический сопроцессор.
Устройство управления (УУ) — формирует и подает во все блоки машины, в нужные моменты времени, управляющие импульсы, обусловленные спецификой выполняемой операции и результатами предыдущих операций; формирует адреса ячеек памяти, используемых выполняемой операцией, и передает эти адреса в соответствующие блоки ЭВМ; опорную последовательность импульсов устройство управления получает от генератора тактовых импульсов ( ГТИ).
Для кратковременного хранения, записи и выдачи информации, непосредственно используемой в вычислениях в ЦП, имеется процессорная память (ПП), состоящая из специализированных ячеек памяти, называемых регистрами.
Регистр — совокупность триггеров, связанных друг с другом определённым образом общей системой управления и выполняет функцию кратковременного хранения числа или команды. Регистр характеризуется единственным числом: количеством битов, которые могут в нем храниться. Помещенная в регистр информация остается там до тех пор, пока она не будет заменена другой.
Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые важные регистры имеют свои названия, например:
— сумматор — регистр АЛУ, участвующий в выполнении каждой операции;
— счетчик команд — регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;
— регистр команд — регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные — для хранения кодов адресов операндов;
— регистр операндов – регистр АЛУ для хранения данных на период времени до выполнения операций над ними.
Устройства ввода обеспечивают считывание информации с определенных носителей информации и ее представление в форме электрических сигналов, воспринимаемых другими устройствами ЭВМ.
Устройства вывода представляют собой результаты обработки информации в форме, удобной для визуального восприятия. При необходимости они обеспечивают запоминание результатов на носителях, с которых эти результаты могут быть снова введены в ЭВМ для дальнейшей обработки, или передачу результатов на исполнительные органы управляемого объекта.
СИСТЕМА КОМАНД ЭВМ
Команда — это описание элементарной операции, которую должен выполнить компьютер.
Команды хранятся в ячейках памяти в двоичном коде.
В общем случае, команда содержит следующую информацию:
— код выполняемой операции;
— указания по определению операндов (или их адресов);
— указания по размещению получаемого результата;
— адрес следующей команды.
Команда ЭВМ обычно состоит из двух частей — операционной и адресной. Операционная часть (иначе она еще называется кодом операции — КОП) указывает, какое действие необходимо выполнить с информацией. Адресная часть описывает, где используемая информация хранится. У нескольких немногочисленных команд управления работой машины адресная часть может отсутствовать, операционная часть имеется всегда.
Адресная часть обладает большим разнообразием, чем операционная. В зависимости от количества операндов, команды бывают:
Основной набор команд довольно слабо изменился в ходе бурной эволюции ЭВМ. В то же время способы указания адреса расположения информации в памяти претерпели значительное изменение. Первые ЭВМ имели наиболее простую и наглядную трехадресную систему команд.
Трехадресная команда легко расшифровывалась и была удобна в использовании, но с ростом объемов ОЗУ ее длина становилась непомерно большой, т.к. длина команды складывается из длины трех адресов и кода операции. Современные же микро-ЭВМадресуются к памяти, содержащей не менее 2 16 = 65536 ячеек, на каждое адресное поле команды придется отвести 16 бит.
Поэтому появились двухадресные машины, длина команды в которых сокращалась за счет исключения адреса записи результата. В таких ЭВМ результат операции оставался в специальном регистре (сумматоре) и был пригоден для использования в последующих вычислениях. В некоторых машинах результат записывался вместо одного из операндов. Дальнейшее упрощение команды привело к созданию одноадресных машин.
В современных компьютерах длина команд переменная (обычно от двух до четырех байтов),а способы указания адресов переменных весьма разнообразные. В адресной части команды может быть указан:
— сам операнд (число или символ);
— адрес операнда (номер байта, начиная с которого расположен операнд);
— адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.
Порядок выполнения команды
Рабочий цикл в общем виде одинаков для всех фон-неймановских машин.
Каждая программа состоит из отдельных машинных команд. Каждая машинная команда, в свою очередь, делится на ряд элементарных унифицированных составных частей, которые принято называть тактами. В зависимости от сложности команды она может быть реализована за разное число тактов. Существенное удлинение команды происходит, если обрабатываемые данные еще не находятся внутри процессора и их приходится считывать из ОЗУ.
При выполнении каждой команды ЭВМ проделывает определенные стандартные действия, которые можно проследить по схеме на рисунке 2:
— из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;
— выбранная команда передается в устройство управления на регистр команд;
— устройство управления расшифровывает адресное поле команды;
— по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;
— УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;
— результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;
— все предыдущие этапы повторяются до достижения команды «стоп».
После выборки команды останова ЭВМ прекращает обработку программы. Для выхода из этого состояния требуется либо запрос от внешних устройств, либо перезапуск машины.
Рисунок 2 — Общая схема компьютера
ВИДЫ АРХИТЕКТУР ЭВМ
Классификация по Флинну
Одиночный поток команд (Single Instruction) | Множество потоков команд (Multiple Instruction) | |
Одиночный поток данных (Single Data) | SISD | MISD |
Множество потоков данных (Multiple Data) | SIMD | MIMD |
ОКОД — Вычислительная система с одиночным потоком команд и одиночным потоком данных (SISD, Single Instruction stream over a Single Data stream).
ОКМД — Вычислительная система с одиночным потоком команд и множественным потоком данных (SIMD, Single Instruction, Multiple Data).
МКОД — Вычислительная система со множественным потоком команд и одиночным потоком данных (MISD, Multiple Instruction Single Data).
МКМД — Вычислительная система со множественным потоком команд и множественным потоком данных (MIMD, Multiple Instruction Multiple Data).
По признакам и их сочетаниям среди архитектур выделяют:
— по разрядности интерфейсов и машинных слов: 8-, 16-, 32-, 64-, 86-разрядные (ряд ЭВМ имеет и иные разрядности);
— по количеству центральных процессоров: однопроцессорные, многопроцессорные.
Источник: cyberpedia.su
Принцип программного управления
Современные ЭВМ строятся на одном принципе – принципе программного управления. В основе принципа программного управления лежит представление алгоритма в форме операторной схемы, которая задает правило вычислений, как композицию операторов ( операций над информацией) двух типов: операторов, обеспечивающих преобразование информации, и операторов, анализирующих информацию с целью определения порядка выполнения операторов. Реализация этого принципа в различных ЭВМ может быть разной. Используемый в современных компьютерах принцип программного управления был предложен в 1945 году Дж. фон Нейманом [2], и с тех пор неймановский принцип программного управления используется в качестве основного принципа построения ЭВМ. Этот принцип включает следующие положения.
- Информация кодируется в двоичной форме и разделяется на единицы (элементы) информации, называемые словами.
- Разнотипные слова информации (числа, символы, команды) различаются по способу использования, но не способами кодирования.
- Слова информации размещаются в ячейках памяти машины и идентифицируются номерами ячеек, называемыми адресами слов.
- Алгоритм представляется в форме последовательности управляющих слов, которые определяют наименование операции и слова информации, участвующие в операции, и называются командами. Алгоритм, представленный в терминах машинных команд, называется программой.
- Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом алгоритмом.
Дадим некоторые короткие комментарии перечисленных положений принципа программного управления. Использование в ЭВМ двоичных кодов обусловлено спецификой электронных схем, применяемых для передачи, хранения и преобразования информации. Совокупности битов информации, используемых для представления отдельных чисел, команд и т.п., рассматриваются как самостоятельные информационные объекты и называются словами. Слово обрабатывается в ЭВМ как одно целое — как машинный элемент информации. Согласно второму положению, все слова в ЭВМ выглядят совершенно одинаково и сами по себе неразличимы. Только порядок использования слов в программе вносит в них различия. Благодаря такому ‘однообразию’ слов оказывается возможным использовать одни и те же операции для обработки слов различной природы, например, и чисел, и команд. Третье положение фиксирует специфику хранения и идентификации (обозначения) информации, порождаемую свойствами машинной памяти. Машинная память — совокупность ячеек, каждая из которых служит местом для хранения слова информации, и наиболее подходящий синоним этого термина — ‘склад информации’. Ячейка памяти выделяется для хранения значения величины, в частности, константы или команды. Чтобы записать слово в память, необходимо указать адрес ячейки, отведенной для хранения соответствующей величины. Чтобы выбрать слово из памяти (прочитать его), следует опять же указать адрес ячейки памяти. Таким образом, адрес ячейки становится машинным идентификатором (именем) величины и команды. Для обозначения величин и команд в ЭВМ нет никаких других средств, кроме адресов, присваиваемых величинам и командам в процессе составления программы вычислений. Кроме того, отметим, что выборка (чтение) слова из памяти не разрушает информацию, хранимую в ячейке. Это позволяет любое слово, записанное однажды, читать какое угодно число раз, т.е. из памяти выбираются не слова, а копии слов. Дополнительно к сказанному следует заметить, что адрес ячейки может быть представлен в ЭВМ как и любое другое слово информации, что используется в операциях индексирования и базирования. В четвертом положении принципа программного управления утверждается, что программа представляется в ЭВМ в виде упорядоченной линейной последовательности команд следующего вида: 1 r 1 m 1 m 1 m 1 m 1 m
КО | А ![]() |
А ![]() |
. | . | А ![]() |
Здесь прямоугольник обозначает слово информации, части которого, имеющие определенный смысл, принято называть полями. Так, КО, А, А
, . , А
— поля команды, представляющие соответственно код операции и адреса операндов, участвующих в операции. Сверху указаны номера двоичных разрядов полей: код операции состоит из r битов, каждое поле адреса операнда А
— А
содержит m битов. Приведенное представление команды характеризует структуру или, иначе, формат команды. Согласно пятому положению, память неймановской машины сугубо линейна. Это выражается в том, что процесс вычислений, выполняемых ЭВМ по заданной программе, начинается с команды, заданной пусковым адресом программы. За ней выполняется следующая в памяти команда. Последовательность нарушается только в том случае, если выполняется команда условного или безусловного перехода, в которой непосредственно указывается адрес следующей команды. Процесс вычислений продолжается до тех пор, пока не будет выполнена команда, предписывающая прекращение вычислений. Неймановский принцип программного управления не является единственно возможным принципом функциональной организации ЭВМ. Так, Дж. Айлиф в [3 ] предлагает принципы построения машины, отличной от традиционных неймановских машин. Отличия сводятся в основном к следующему. Во-первых, предлагается тип информации отображать в кодах данных (сравни с п.2). В результате числа, адреса, команды окажутся различимыми в программе и операция, указываемая в команде, производится машиной в форме, соответствующей типам операндов, что должно уменьшить число потенциальных ошибок в программе. Во-вторых, вследствие линейности памяти ЭВМ ( см. пояснения к п.5), программист вынужден любую структуру данных (вектор, матрицу, таблицу) спроектировать на линейную цепочку адресов I, I+1, . I+N. Затем при обработке информации из структуры данных, приходится выделять адреса отдельных структурных элементов. Процедуры размещения в памяти и выделения из нее отдельных элементов достаточно сложны. Дж. Айтлиф предлагает вносить описание структуры данных непосредственно в память машины и за счет этого обеспечить автоматическое выявление адресов отдельных элементов в процессе выполнения программы, что также должно уменьшить число потенциальных ошибок программиста. Очевидно, что дополнительные возможности ЭВМ обеспечиваются за счет введения дополнительной аппаратуры и ее усложнения, а следовательно, и повышения стоимости. К настоящему времени принципы Айтлифа не нашли воплощения в продукции каких-либо известных компьютерных фирм. Неоднократно декларируется необходимость пересмотра неймановского принципа, так как возможности таких машин доведены до предела. Однако и в параллельных и конвейерных ЭВМ процессоры работают по принципу Дж. фон Неймана, что является убедительным подтверждением того, что этот принцип является наиболее рациональным принципом построения ЭВМ.
Источник: studfile.net