Файл: История развития средств вычислительной техники (Фоннеймановская архитектура ЭВМ).pdf
Добавлен: 28.03.2023
Просмотров: 188
Скачиваний: 3
Центральный процессор ЭВМ может одновременно только записывать или считывать данные и команды программы из памяти, так как центральный процессор и память соединяются одной шиной, которая может использоваться в один момент времени либо для отправки данных в память, либо для чтения данный из памяти, рисунок 15.
Рисунок 15. Устройства ЭВМ, связанные общей шиной
Принцип адресности
Данный принцип говорит о том, что центральный процессор может обращаться к оперативной памяти, указывая порядковый номер ячейки памяти, из которой надо считать или записать данные. Чтение из памяти может осуществляться только по ячейкам, обращение к отдельному биту ячейки памяти невозможно. При необходимости узнать состояние отдельного бита конкретной ячейки памяти, центральный процессор должен сперва считать ячейку целиком, затем произвести обращение к отдельному биту ячейки и выяснить его состояние.
Современные процессоры могут читать одновременно сразу несколько ячеек памяти, расположенных подряд. В современной терминологии порядковый номер ячейки памяти называется ее адресом. Если имеется в виду ячейка памяти контроллера устройства, то адрес, по которому процессор обращается к ячейке называется портом ввода-вывода, рисунок 16.
Рисунок 16. Нумерация ячеек памяти
Сам процесс обращения центрального процессора к ячейке памяти для чтения или записи называется – адресацией.
Для обращения к портам ввода-вывода используется та же шина, что и для обращения к ячейкам памяти, поэтому при обращении процессора к контролерам внешних устройств, обращение к памяти невозможно. Ячейки памяти, расположенные на контроллерах устройств, принято называть регистрами ввода-вывода, рисунок 17.
Рисунок 17. Общая шина для памяти и внешних устройств
Принцип программного управления
Вычислительные машины, созданные до EDVAC, тоже имели программное управление [6]. Поэтому название данного принципа может ввести в заблуждение. На самом деле под принципом программного управления понимается только то, что теперь программа представляет собой команды, записанные, тем же способом, что и данные, с которыми программа работает, т.е. команды кодируются последовательностью двоичных цифр, а не представляют собой перфокарты, перфоленты или перемычки. Команды, как и данные, должны располагаться в памяти компьютера и представлены в аналогичном виде.
В современных ЭВМ программа может располагаться кусками в разных местах памяти компьютера. В схеме Неймана предполагалось последовательное размещение команд программы. Команды выполнялись последовательно и изменение порядка выполнения команд могло быть нарушено только специальной командой, изменяющей значение счетчика команд. Счетчик команд – это специальное устройство, выполняющее счет выполненных команд программы и позволяющее процессору вычислите адрес следующей команды программы. В современных процессорах счетчиком команд является специальная ячейка памяти внутри процессора, хранящая адрес следующей команды программы, рисунок 18.
Рисунок 18. Работа счетчика команд программы
Изменение значения счетчика команд программы применяется для организации программных циклов или условных ветвлений программы, т.е. выполнения различных кусков программы в зависимости от результатов ранее произведенных программой вычислений.
Заключение
С высокой долей вероятности «принципами фон Неймана» в настоящее время называется коллективный труд группы ученых, работавших над ENIAC, в которую входил Нейман. Слава создателя концепции построения большинства современных ЭВМ принадлежит Нейману, только по причине того, что именно его имя значилось на титульном листе отчета по EDVAC, разосланного изначально небольшим тиражом по исследовательским институтам.
Следует все же отметить, что идея использовать двоичную систему счисления для представления данных принадлежит именно Нейману. На это указывает его труд конца 1940-х годов по теории автоматов, в основу которого Нейман положил дискретную математику, оперирующую двумя логическими понятиями «истина» и «ложь». Кроме того, после окончания работы над ENIAC в 1946 году появляется широко известная 53-х страничная работа «Preliminary discussion of the logical design of an electronic computing instrument» (пер. с анг. «Предварительное рассмотрение логической конструкции электронно-вычислительного устройства») за авторством: Неймана, Голдстайна и Бёркса, датированная 28 июня [13] (работа издана в виде книги в 1982 году).
Все трое ученных принимали участие в работах над ENIAC, именно во время работы над ENIAC были сформированы и опубликованы принципы фоннеймановской архитектуры. Это доказывает, что по меньшей мере некоторые из принципов фон Неймана были выработаны группой исследователей и не принадлежат только Нейману.
Касательно актуальности фоннеймановской архитектуры можно отметить, что несомненно, для своего времени данная логическая структура построения ЭВМ была революционным и гениальным решением. Архитектура настолько удачна, что существует практически в неизменном виде до настоящего времени и массово используется для построения ЭВМ.
Однако, «узкое место» архитектуры – одношинная структура, также дошло до настоящего времени в неизменном виде и по сей день доставляет массу проблем разработчикам различных узлов ЭВМ.
Нейман не мог не знать о другой, существующей на тот момент, т.н. «гарвардской архитектуре ЭВМ», разработанной в конце 1930 годов Гарвардским университетом. Гарвардская архитектура не имела данного недостатка, так как для хранения данных и команд программы использовались различные устройства, каждое с собственной шиной связи с процессором. Это позволяло выполнять одновременно чтение данных и команд из памяти, что значительно ускоряло процесс вычисления.
Недостатком гарвардской архитектуры является высокая стоимость и сложность реализации системы. Возможно, именно этот недостаток гарвардской архитектуры стал решающим фактором для Неймана, чтобы отказаться от использования двухшинной структуры в пользу одношинной. Очевидно, для современности, предъявляющей совсем другие требования к скорости вычислений, фоннеймановская архитектура является устаревшей, она давно уже не отвечает требованиям современной действительности и требует значительной переработки.
Применение многоядерных процессоров и многоуровневой кэш-памяти ситуацию значительно не исправит. Выходом из положения может служить переход на т.н. «канальную архитектуру ЭВМ», разработанную советскими инженерами и хорошо зарекомендовавшую себя за время эксплуатации ЭВМ с канальной архитектурой.
Второй выход – использовать многопроцессорную структуру с собственной памятью для каждого процессора (MIMD-архитектура) [7]. Этот способ менее реалистичный, так как потребует переучивания огромного количества программистов и переработки всего программного обеспечения, рассчитанного на однопроцессорную архитектуру, каким является подавляющее большинство всего программного обеспечения на планете.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Аблязов Р.З. Программирование на ассемблере на платформе x86-64. Руководство. – Издательство: ДМК Пресс, 2016. – 302 с.