Основные принципы построения компьютеров.

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

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

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

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

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

Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

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

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

Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины.

3. Принцип адресности. Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.

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

Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских.

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

 

 

4. ЭЛЕМЕНТАРНЫЕ КОМАНДЫ ЭВМ.

 

Команда – это описание элементарной операции, которую должен выполнить компьютер.

В общем случае, команда содержит следующую информацию:

§ код выполняемой операции ;

§ указания по определению операндов (или их адресов) ;

§ указания по размещению получаемого результата.

В зависимости от количества операндов, команды бывают:

§ одноадресные;

§ двухадресные;

§ трехадресные;

§ переменоадресные.

Команды хранятся в ячейках памяти в двоичном коде.

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

В адресной части команды может быть указан, например:

§ сам операнд (число или символ);

§ адрес операнда (номер байта, начиная с которого расположен операнд);

§ адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.

Рассмотрим несколько возможных вариантов команды сложения (англ. add — сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями:

· одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре)

add x

· двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y)

add x y

· трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z)

add x y z

Как пpавило, процесс выполнения команды разбивается на следующие этапы:

· из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды;

· выбранная команда передается в устройство управления на регистр команд;

· устройство управления расшифровывает адресное поле команды;

· по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов;

· УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными;

· результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата;

· все предыдущие этапы повторяются до достижения команды “стоп”.