На каких принципах построены компьютеры?

      Комментарии к записи На каких принципах построены компьютеры? отключены

Как устроен компьютер?

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

  • память (запоминающееустройство, ЗУ), состоящую из перенумерованных ячеек;
  • процессор,включающий в себя устройство управления (УУ) и арифметико-логическоеустройство (АЛУ);
  • устройство ввода;
  • устройство вывода.

Эти устройства соединены каналами связи, по которым передается информация.

Основные устройства компьютера и связи между ними представлены на схеме (рис. 2.1). Жирными стрелками показаны пути и направления движения информации, а простыми стрелками — пути и направления передачи управляющих сигналов.

Рис. 2.1. Общая схема компьютера

Функции памяти:

  • приём информации издругих устройств;
  • запоминание информации;
  • выдача информации позапросу в другие устройства машины.

Функции процессора:

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

<p>Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.

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

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

Основным элементом регистра является электронная схема, называемая триггером, которая способна хранить одну двоичную цифру (разряд двоичного кода). Логическая схема триггера описана в разделе 5.7.

Регистр представляет собой совокупностьтриггеров, связанных друг с другом определённым образом общей системойуправления.

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

  • сумматор — регистрАЛУ, участвующий в выполнении каждой операции;
  • счетчик команд —регистр УУ, содержимое которого соответствует адресу очередной выполняемойкоманды; служит для автоматической выборки программы из последовательныхячеек памяти;
  • регистр команд —регистр УУ для хранения кода команды на период времени, необходимый для еевыполнения. Часть его разрядов используется для хранения кода операции,остальные — для хранения кодов адресов операндов.

На каких принципах построены компьютеры?

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

Рис. 2.2. Джон фон Нейман, 1945 г.

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

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

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

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

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

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

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

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

Что такое команда?

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

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

  • код выполняемойоперации;
  • указания по определению операндов(или их адресов);
  • указания по размещениюполучаемого результата.

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

  • одноадресные;
  • двухадресные;
  • трехадресные;
  • переменноадресные.

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

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

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

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

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

Статьи к прочтению:

HyperNormalisation 2016


Похожие статьи: