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