§ 7. Основополагающие принципы устройства ЭВМ
Информатика. 10 класса. Босова Л.Л. Оглавление
7.1. Принципы Неймана-Лебедева
В каждой области науки и техники существуют фундаментальные идеи или принципы, определяющие на многие годы вперёд её содержание и направление развития. В компьютерных науках роль таких фундаментальных идей сыграли принципы, сформулированные независимо друг от друга двумя крупнейшими учёными XX века — Джоном фон Нейманом и Сергеем Алексеевичем Лебедевым.
Принцип — основное, исходное положение какой-нибудь теории, учения, науки и пр.
Принципы Неймана-Лебедева — базовые принципы построения ЭВМ, сформулированные в середине прошлого века, не утратили свою актуальность и в наши дни.

Джон фон Нейман (1903-1957) — американский учёный, сделавший важный вклад в развитие целого ряда областей математики и физики. В 1946 г., анализируя сильные и слабые стороны ЭНИАКа, совместно с коллегами пришёл к идее нового типа организации ЭВМ.

Сергей Алексеевич Лебедев (1902-1974) — академик, основоположник вычислительной техники в СССР, главный конструктор первой отечественной электронной вычислительной машины МЭСМ, автор проектов компьютеров серии БЭСМ (Большая Электронная Счётная Машина), разработчик принципиальных положений суперкомпьютера «Эльбрус». В 1996 году посмертно награждён медалью «Пионер компьютерной техники» — самой престижной наградой международного компьютерного сообщества.
Рассмотрим сущность основных принципов Неймана-Лебедева:
1) состав основных компонентов вычислительной машины;
2) принцип двоичного кодирования;
3) принцип однородности памяти;
4) принцип адресности памяти;
5) принцип иерархической организации памяти;
6) принцип программного управления.
Первый принцип определяет состав основных компонентов вычислительной машины.
Любое устройство, способное производить автоматические вычисления, должно иметь определённый набор компонентов: блок обработки данных, блок управления, блок памяти и блоки ввода/вывода информации.
Функциональная схема такого компьютера, отражающая программное управление работой и взаимодействием его основных узлов, представлена на рисунке 2.5.

Рис. 2.5. Функциональная схема компьютеров первых поколений
Его информационным центром является процессор:
• все информационные потоки (тонкие стрелки на рисунке) проходят через процессор;
• управление всеми процессами (толстые стрелки на рисунке) также осуществляется процессором.
Такие блоки есть и у современных компьютеров. Это:
• процессор, состоящий из арифметико-логического устройства (АЛУ), выполняющего обработку данных, и устройства управления (УУ), обеспечивающего выполнение программы и организующего согласованное взаимодействие всех узлов компьютера;
• память, предназначенная для хранения исходных данных, промежуточных величин и результатов обработки информации, а также самой программы обработки информации. Различают память внутреннюю и внешнюю. Основная часть внутренней памяти используется для временного хранения программ и данных в процессе обработки. Такой вид памяти принято называть оперативным запоминающим устройством (ОЗУ). Ещё одним видом внутренней памяти является постоянное запоминающее устройство (ПЗУ), содержащее программу начальной загрузки компьютера. Внешняя или долговременная память предназначена для длительного хранения программ и данных в периоды между сеансами обработки;
• устройства ввода, преобразующие входную информацию в форму, доступную компьютеру;
• устройства вывода, преобразующие результаты работы компьютера в форму, доступную для восприятия человеком.
Вместе с тем в архитектуре современных компьютеров и компьютеров первых поколений есть существенные отличия. О них будет сказано чуть ниже.
Рассмотрим суть принципа двоичного кодирования информации.
Вся информация, предназначенная для обработки на компьютере (числа, тексты, звуки, графика, видео), а также программы её обработки представляются в виде двоичного кода — последовательностей 0 и 1.
Все современные компьютеры хранят и обрабатывают информацию в двоичном коде. Выбор двоичной системы счисления обусловлен рядом важных обстоятельств: простотой выполнения арифметических операций в двоичной системе счисления, её «согласованностью» с булевой логикой, простотой технической реализации двоичного элемента памяти (триггера).
Несмотря на всеобщее признание, использование в компьютерной технике классической двоичной системы счисления не лишено недостатков. В первую очередь это проблема представления отрицательных чисел, а также нулевая избыточность (т. е. отсутствие избыточности) двоичного представления. Пути преодоления указанных проблем были найдены уже на этапе зарождения компьютерной техники.
В 1958 г. в Московском государственном университете им. М. В. Ломоносова под руководством И. П. Брусенцова был создан троичный компьютер «Сетунь» (рис. 2.6). В нём применялась уравновешенная троичная система счисления, использование которой впервые в истории позволило представлять одинаково просто как положительные, так и отрицательные числа.
Итак, благодаря двоичному кодированию, данные и программы по форме представления становятся одинаковыми, а следовательно, их можно хранить в единой памяти.

Рис. 2.6. ЭВМ «Сетунь»
Команды программ и данные хранятся в одной и той же памяти, и внешне в памяти они неразличимы. Распознать команды и данные можно только по способу использования. Это утверждение называют принципом однородности памяти.
Так как представленные в памяти команды и данные внешне неразличимы, то одно и то же значение в ячейке памяти может использоваться и как данные, и как команда в зависимости лишь от способа обращения к нему. Так, если к двоичной последовательности обращаются как к числу, то в ней выделяют поле (область) знака и поле значащих разрядов. Если к двоичной последовательности обращаются как к команде, то в ней выделяют поле кода операции и поле адресов операндов.
Однородность памяти позволяет производить операции не только над данными, но и над командами. Взяв в качестве данных для некоторой программы команды другой программы, в результате её исполнения можно получить команды третьей программы. Данная возможность лежит в основе трансляции — перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.
Структурно оперативная память компьютера состоит из отдельных битов — однородных элементов, обладающих двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое — единице. Для записи или считывания группы соседних битов объединяются в ячейки памяти, каждая из которых имеет свой номер (адрес).
Команды и данные размещаются в единой памяти, состоящей из ячеек, имеющих свои номера (адреса). Это принцип адресности памяти.
Очень важно, что информация может считываться из ячеек и записываться в них в произвольном порядке, т. е. процессору в произвольный момент доступна любая ячейка памяти. Организованную таким образом память принято называть памятью с произвольным доступом.
Разрядность ячеек памяти (количество битов в ячейке) у компьютеров разных поколений была различной. Основой оперативной памяти современных компьютеров является восьмибитная ячейка. Ячейка такой разрядности может быть использована для работы с одним символом. Для хранения чисел используется несколько последовательных ячеек (четыре — в случае 32-битного числа).
На современных компьютерах может одновременно извлекаться из памяти и одновременно обрабатываться до 64 разрядов (т. е. до восьми байтовых (восьмибитных) ячеек). Это возможно благодаря реализации на них принципа параллельной обработки данных — одновременного (параллельного) выполнения нескольких действий.
Можно выделить два основных требования, предъявляемых к памяти компьютера:
1) объём памяти должен быть как можно больше;
2) время доступа к памяти должно быть как можно меньше.
Создать запоминающее устройство, одновременно удовлетворяющее двум этим требованиям, затруднительно. Действительно, в памяти большого объёма требуемые данные искать сложнее, в результате чего их чтение замедляется. Для ускорения чтения нужно использовать более сложные технические решения, что неизбежно приводит к повышению стоимости всего компьютера. Решение проблемы — использование нескольких различных видов памяти, связанных друг с другом. В этом и состоит суть принципа иерархической организации памяти.
Трудности физической реализации запоминающего устройства высокого быстродействия и большого объёма требуют иерархической организации памяти.
В современных компьютерах используются устройства памяти нескольких уровней, различающиеся по своим основным характеристикам: времени доступа, сложности, объёму и стоимости. При этом более высокий уровень памяти меньше по объёму, быстрее и имеет большую стоимость в пересчёте на байт, чем более низкий уровень. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне.
Большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещён в более быструю, но дорогостоящую и поэтому небольшую память. Использование более быстрой памяти увеличивает производительность вычислительного комплекса.
Главное отличие компьютеров от всех других технических устройств — это программное управление их работой.
Принцип программного управления определяет общий механизм автоматического выполнения программы.
Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности команд. Команды представляют собой закодированные управляющие слова, в которых указывается:
• какое выполнить действие;
• из каких ячеек считать операнды (данные, участвующие в операции);
• в какую ячейку записать результат операции.
Команды, входящие в программу, выполняются процессором автоматически в определённой последовательности. При этом выполняется следующий цикл действий:
1) чтение команды из памяти и её расшифровка;
2) формирование адреса очередной команды;
3) выполнение команды.
Этот цикл повторяется до достижения команды, означающей окончание выполнения программы, решающей некоторую конкретную задачу. В современных компьютерах по завершении работы программы управление передаётся операционной системе.
7.2. Архитектура персонального компьютера
Современные персональные компьютеры различаются по своим размерам, конструкции, разновидностям используемых микросхем и модулей памяти, другим характеристикам. В то же время все они имеют единое функциональное устройство, единую архитектуру — основные узлы и способы взаимодействия между ними (рис. 2.7).
Архитектура — это наиболее общие принципы построения компьютера, отражающие программное управление работой и взаимодействием его основных функциональных узлов.
На рисунке 2.7 изображены хорошо известные вам узлы современного компьютера:
процессор,
внутренняя память,
устройства ввода,
устройства вывода и внешняя память.

Рис. 2.7. Функциональная схема компьютера (К — контроллер)
Обмен данными между устройствами компьютера осуществляется с помощью магистрали.
Магистраль (шина) — устройство для обмена данными между устройствами компьютера.Магистраль состоит из трёх линий связи:
• шины адреса, используемой для указания физического адреса, к которому устройство может обратиться для проведения операции чтения или записи;
• шины данных, предназначенной для передачи данных между узлами компьютера;
• шины управления, по которой передаются сигналы, управляющие обменом информацией между устройствами и синхронизирующие этот обмен.
В компьютерах, имевших классическую фон-неймановскую архитектуру, процессор контролировал все процессы ввода/вывода. При этом быстродействующий процессор затрачивал много времени на ожидание результатов работы от значительно более медленных внешних устройств. Для повышения эффективности работы процессора были созданы специальные электронные схемы, предназначенные для обслуживания устройств ввода/вывода или внешней памяти.
Контроллер — это специальный микропроцессор, предназначенный для управления внешними устройствами: накопителями, мониторами, принтерами и т. д.
Благодаря контроллерам данные по магистрали могут передаваться между внешними устройствами и внутренней памятью напрямую, минуя процессор. Это приводит к существенному снижению нагрузки на центральный процессор и повышает эффективность работы всей вычислительной системы.
Современные компьютеры обладают магистрально-модульной архитектурой, главное достоинство которой заключается в возможности легко изменить конфигурацию компьютера путём подключения к шине новых или замены старых внешних устройств.
Если спецификация на шину (детальное описание всех её параметров) является открытой (опубликованной), то производители могут разработать и предложить пользователям разнообразные дополнительные устройства для компьютеров с такой шиной. Подобный подход называют принципом открытой архитектуры. Благодаря ему пользователь может собрать именно такую компьютерную систему, которая ему нужна.
7.3. Перспективные направления развития компьютеров
Мир современных компьютеров необычайно разнообразен. Кроме микропроцессоров, встраиваемых во всевозможные устройства, и разных типов персональных компьютеров существуют значительно более мощные вычислительные системы.
Это серверы в глобальной компьютерной сети, управляющие её работой и хранящие огромные объёмы информации.
Это многопроцессорные системы параллельной обработки данных, обеспечивающие:
• сокращение времени решения вычислительно сложных задач;
• сокращение времени обработки больших объёмов данных;
• решение задач реального времени;
• создание систем высокой надёжности.
Время однопроцессорных вычислительных систем прошло. Не только суперкомпьютеры, но и современные персональные компьютеры, ноутбуки, игровые приставки основаны на многопроцессорных, многоядерных и других технологиях, предполагающих одновременное выполнение множества инструкций.
В наши дни электронная техника уже подошла к предельным значениям своих технических характеристик, которые определяются физическими законами. Поэтому идёт поиск неэлектронных средств хранения и обработки данных, ведутся работы по созданию квантовых и биологических компьютеров, проводятся исследования в области нанотехнологий.
САМОЕ ГЛАВНОЕ
В каждой области науки и техники существуют фундаментальные идеи или принципы, определяющие на многие годы вперёд её содержание и направление развития. В компьютерных науках роль таких фундаментальных идей сыграли принципы, сформулированные независимо друг от друга двумя крупнейшими учёными XX века — Джоном фон Нейманом и Сергеем Алексеевичем Лебедевым.
К основополагающим принципам построения компьютеров (принципам Неймана-Лебедева) можно отнести следующие:
1) состав основных компонентов вычислительной машины;
2) принцип двоичного кодирования;
3) принцип однородности памяти;
4) принцип адресности памяти;
5) принцип иерархической организации памяти;
6) принцип программного управления.
Архитектура — это наиболее общие принципы построения компьютера, отражающие программное управление работой и взаимодействием его основных функциональных узлов.
Классическая архитектура компьютеров первых поколений предполагала осуществление взаимодействия всех устройств через процессор и наличие неизменного набора внешних устройств.
Современные персональные компьютеры обладают открытой магистрально-модульной архитектурой — устройства взаимодействуют через шину, что способствует оптимизации процессов обмена информацией внутри компьютера. Второе преимущество современной архитектуры — возможность легко изменить конфигурацию компьютера путём подключения к шине новых или замены старых внешних устройств.
Вопросы и задания
1. Перечислите основные фундаментальные идеи, лежащие в основе построения компьютеров.
3. Чем обусловлен выбор двоичного кодирования для представления информации в компьютере?
5. В чём состоит суть принципа адресности памяти?
7. В чём состоит суть принципа программного управления?
8. Подготовьте сообщение о Джоне фон Неймане и его вкладе в развитие компьютерной техники.
9. Для чего предназначена магистраль (шина)? Из каких частей она состоит?
10. Что такое магистрально-модульная архитектура? В чём её главное достоинство?
11. В чём заключается принцип открытой архитектуры?
§ 6. История развития вычислительной техники
§ 7. Основополагающие принципы устройства ЭВМ
§ 8. Программное обеспечение компьютера