
- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •Аппаратура компьютера
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
1.2. Неймановский принцип программного управления
Принцип программного управления может быть реализован многими способами, как кардинально различными, так и различающимися фрагментарно. Один из способов реализации программного управления был предложен в 1945 г. американским математиком Дж. фон Нейманом. С тех пор неймановский принцип программного управления стал основным принципом построения всех поколений компьютеров.
В основе неймановского принципа программного управления лежит представление алгоритмов в форме операторных схем. Операторная схема алгоритма задает правило вычислений как композицию операторов двух типов:
основных операторов – операторов преобразования информации, предписывающих определенные операции над определенными данными;
операторов перехода (следования), анализирующих данные для определения следующего выполняемого оператора.
Неймановский принцип программного управления состоит в следующем:
-
Информация кодируется в двоичной форме и разделяется на единицы информации, называемые словами (машинными словами). Разнотипные слова различаются не способами кодирования (формой кода), а способами использования.
-
Слова размечаются в ячейках памяти компьютера и идентифицируются номерами ячеек, которые определяют адреса слов.
-
Алгоритм представляется как последовательность управляющих слов, называемых командами. Команда определяет наименование операции и слова участвующие в ней в качестве исходных данных и результатов. Алгоритм, представленный в терминах машинных команд, называется программой (программным кодом). Выполнение программы сводится к последовательному выполнению команд в порядке, определенном самой программой.
И
спользование
для представления информации двоичных
кодов связано с их естественным
соответствием физике электронных схем
(полупроводниковых элементов), используемых
для передачи, хранения и преобразования
информации в компьютере. Слово
обрабатывается в компьютере как целое
– как машинный элемент информации.
Слово имеет следующую структуру:
Здесь b – бит – двоичная переменная, принимающая значения b=0 или b=1. Биты называются разрядами слова и нумеруются от 1 до N или от 0 до N-1. Число битов N в слове называется длиной слова. Кроме бита в качестве элемента информации используется последовательность из восьми битов, называемая байтом. Один байт позволяет закодировать 28 = 256 различных состояний и используется для представления значений от 0 до 255 или одного символа алфавитно-цифровой информации (буквы, цифры или специального символа). В таком случае длина машинного слова принимается кратной байту и может составлять 1, 2, 4 или 8 байтов, т.е. 8, 16, 32 или 64 бита соответственно.
В форме машинных слов представляются и числа, и команды, и информация других типов. Любое слово может использоваться в качестве операнда любой операции и в качестве команды. Слова исходных данных, результаты и команды программы размещаются в одном пространстве – памяти компьютера, что делает любую информацию равнодоступной для ввода, обработки и вывода. Следовательно, и команды программы могут обрабатываться всеми имеющимися способами. Размещение данных и команд программы в единой памяти и равнодоступность их для обработки – в этом сущность неймановского принципа программного управления.
Память компьютера не имеет ничего общего с памятью, существующей в живой природе. Память компьютера – совокупность ячеек, т.е. склад для хранения информации. Ячейки нумеруются натуральными числами 0, 1, 2, … , которые являются адресами ячеек и одновременно адресами хранимых в ячейках слов. Чтобы записать слово в память, необходимо указать адрес А и представить слово, которое будет помещено в ячейку А. Чтобы прочитать слово, необходимо указать адрес А, по которому из ячейки А будет выбрана копия хранимого в ней слова. Любое слово, записанное однажды, можно читать сколько угодно раз.
К
b
b . . . b b b . . . b . . . b b . .
. b 1 N (1.1)
. .
Код
операции Адрес
1 .
. . Адрес
K
Операционная
часть Адресная
часть
С
лово,
представляющее команду, разделяется
на части – поля: поле кода операции,
поле первого адреса, поле второго адреса
и т.д. Код
операции
определяет наименование операции,
предписываемой командой: сложить,
умножить, прочитать, записать и т.д. В
адресной части команды записываются
адреса операндов, участвующих в операции.
Структура команд обычно представляется
в следующем виде:
Здесь КО – код операции, представляемый полем из l битов, А1, А2 и А3 – адреса операндов длиной в m битов. В поле кода операции можно закодировать наименования до L=2l операций номерами 0, 1, … , L-1. В поле адреса можно указать адреса M=2m операндов, представляемых целыми числами 0, 1, … , M-1.
Основные команды реализуют операторы вида:
[ А3 ] := [ А1 ] * [ А2 ],
где [ Аi ] – слово с адресом Аi, := – знак “присвоить”, * – символ операции, указанный в коде операции. В соответствии со структурой команды (1.2) и используя мнемонические обозначения кода операции и адресов, команду можно представить в следующем виде
* [ А1 ] [ А2 ] [ А3 ],
где * – символ операции и [ А1 ], [ А2 ], [ А3 ] – операнды, размещаемые в ячейках памяти с адресами А1, А2, А3. Однако эта команда, представленная в двоичной форме (1.2), хранится в памяти компьютера как слово, состоящее из последовательности битов:
11010011101……….10001 ,
в котором могут быть выделены поля кода операции и адресов в соответствии со структурой команды (1.2).
Команды перехода в адресной части содержат адреса команд, к одной из которых будет выполнен переход в результате выполнения операции перехода.
Процесс вычислений, выполненных компьютером по заданной программе, состоит в последовательном выполнении команд. Первой выполняется команда, заданная начальным адресом – адресом первой команды программы. Адрес следующей команды однозначно определяется в процессе выполнения текущей команды. Основные команды выполняются в естественном порядке – в порядке их следования по адресам А, А+1, А+2 и т.д. Команды перехода определяют адрес следующей команды принудительно. Например, при положительном результате предыдущей операции адрес следующей команды будет А1, а при отрицательном результате А2, где А1 и А2 – адреса, указанные в команде перехода. Процесс вычислений заканчивается после выполнения последней команды программы.