Содержание
- Введение
- Принципы фон Неймана построения ЭВМ
- Заключение
- Список используемой литературы
Введение
Основы учения об архитектуре
вычислительных машин заложил выдающийся
американский математик Джон фон Нейман.
Он подключился к созданию первой в мире
ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция
была уже выбрана. В процессе работы во
время многочисленных дискуссий со своими
коллегами Г. Голдстайном и А. Берксом
фон Нейман высказал идею принципиально
новой ЭВМ. В 1946 г. ученые изложили свои
принципы построения вычислительных машин
в ставшей классической статье “Предварительное
рассмотрение логической конструкции
электронно-вычислительного устройства”.
2. Принципы фон Неймана
построения ЭВМ
Авторство концепции, положенной в основу
фон-неймановской архитектуры, в действительности
принадлежит коллективу авторов (фон Нейман,
Дж. Экерт, Дж. Макли), которые работали
над созданием одной из первых ЭВМ общего
назначения с возможностью перепрограммирования
- ENIAC (1943, в частности фон Нейман был консультантом
в этом проекте), а потом уже глубже реализована
в машине EDVAC (1952). Сами принципы были сформулированы
в нескольких публикациях, среди которых
следует выделить такую как Burks, AW, Goldstine,
HH, and von Neumann, J. Preliminary Discussion Of The Logical Design Of An Electronic Computing
Instrument , 1945 («Предыдущая дискуссия о логическом
устройстве электронного вычислительного
инструмента ») и Von Neumann, J. First Draft Of A Report
On The EDVAC , 1946 («Первый вариант доклада о EDVAC»).
Собственно, главной проблемой, которая
стояла перед «пионерами» вычислительной
техники была чрезвычайная сложность
введения алгоритма вычислений в ЭВМ,
для чего приходилось иметь дело с многочисленными
переключателями, тумблерами, разъемами
и другими коммутирующих элементов. Это
затрудняло процесс, приводило к огромному
количеству ошибок и отнюдь не прибавляло
этим машинам универсальности.
Фон Нейман в своей «Предварительный
дискуссии» предложил взамен хранить
алгоритм вместе с данными для вычислений
в памяти вычислительной машины, что бы
давало возможность во-первых оперативно
перепрограммировать систему, а во-вторых
обращаться с командами как с данными,
проводить над ними такие же вычислительные
операции, то есть фактически открывало
возможность для написания программ, которые
сами себя модифицируют (и это было совсем
не экзотикой на то время, а практической
необходимостью). Таким образом предлагалась
организация вычислений, которая действительно
делала вычислительную машину универсальным
инструментом.
Такая структура делала невозможным
различение команд от данных в памяти
машины по структуре представления, но
фон-Нейманом было указано, что такое размещение
возможно «при условии, если машина каким-то
образом сможет различить их». Для того,
чтобы указать машине на то, где есть команды,
а где есть данные, была впоследствии предложена
концепциясчетчика команд (program counter), в
котором хранилась адрес текущей команды,
а после ее выполнения заменялась адресу
следующей. Адреса же самих операндов (данных)
хранились непосредственно в команде.
Также в «Предварительный дискуссии»
была достаточно подробно рассмотрена
четырехкомпонентной структура вычислительного
инструмента, которая сейчас считается
классической структурой фон-неймановской
машины, а именно: арифметическое устройство,
устройство управления, память и пульт
оператора.
Принципы фон Неймана построения ЭВМ:
- вычислительная машина конструктивно
делится на ряд устройств: процессор, запоминающее
устройство (для хранения программ и данных),
устройство ввода–вывода и т.д.;
- наличие хранимой в памяти программы;
одинаковое представление чисел
и команд в виде двоичных кодов;
принцип микропрограммного
управления процессом вычислений;
естественный порядок выборки
команд.
Согласно первому принципу
ЭВМ состоит из ряда устройств, взаимодействующих
друг с другом в процессе решения задачи.
Рассмотрим кратко основные устройства
и их функции (рис. 1).
Рис. 1. Структурная
схема ЭВМ
Арифметико–логическое
устройство (АЛУ) предназначено для выполнения
предусмотренных в ЭВМ арифметических
и логических операций. Участвующие в
операциях данные выбираются из ОЗУ, результаты
операций отсылаются в ОЗУ. Для ускорения
выборки операндов (данных, участвующих
в операциях) АЛУ может снабжаться собственной
местной памятью (сверхоперативным запоминающим
устройством – СОЗУ) на небольшое число
данных (в сравнении с ОЗУ), но обладающей
быстродействием, превышающим быстродействие
ОЗУ. При этом результаты операций, если
они участвуют в последующих операциях,
могут не отсылаться в ОЗУ, а храниться
в СОЗУ. Оперативная память вместе с СОЗУ
представляет собой единый массив памяти,
непосредственно доступный процессору
для записи и чтения данных, а также считывания
программного кода. К настоящему времени
для оптимизации работы созданы процессоры
с несколькими уровнями (от одного до трех)
кэширования ОЗУ (несколькими СОЗУ).
Устройство управления (УУ) – координирует работу
процессора, посылая в определенной временной
последовательности управляющие сигналы
в устройства ЭВМ, обеспечивая их соответствующее
функционирование и взаимодействие друг
с другом.
Оперативная память (ОЗУ) – реализуется, как правило,
на модулях (микросхемах) динамической
памяти. ОЗУ служит для хранения программы,
исходных данных задачи, промежуточных
и конечных результатов решения задачи.
Память ЭВМ к настоящему времени приобрела
довольно сложную структуру и "расползлась"
по многим компонентам. Кроме оперативной,
память включает также и постоянную (ПЗУ),
из которой можно только считывать команды
и данные, и некоторые виды специальной
памяти (например видеопамять графического
адаптера). Вся эта память вместе с оперативной
располагается в едином пространстве
с линейной адресацией. В любом компьютере
обязательно есть постоянная память, в
которой хранится программа начального
запуска компьютера и минимальный необходимый
набор сервисов (например: ROM BIOS).
Все узлы ЭВМ не входящие в ядро
называются периферийными. Они обеспечивают
расширение возможностей ЭВМ, облегчают
пользование ими. В состав периферийных
(внешних) устройств могут входить следующие
узлы.
Внешняя память (устройства хранения данных,
например, дисковые) – память, имеющая
относительно невысокое быстродействие,
но по сравнению с ОЗУ существенно более
высокую емкость. Внешняя память предназначена
для записи данных с целью последующего
считывания (возможно, и на другом компьютере).
От рассмотренной выше памяти, называемой
также внутренней, устройства хранения
отличаются тем, что процессор не имеет
непосредственного доступа к данным по
линейному адресу. Доступ к данным на устройствах
хранения выполняется с помощью специальных
программ, обращающихся к контроллерам
этих устройств. В силу того что быстродействие
внешней памяти значительно ниже быстродействия
АЛУ, последнее в процессе работы взаимодействует
лишь с ОЗУ, получая из него команды и данные,
отсылая в эту память результаты операций.
Часто при решении сложных задач емкость
ОЗУ оказывается недостаточной. В этих
случаях в процессе решения задач данные
определенными порциями могут пересылаться
из внешней памяти в ОЗУ, откуда они затем
выбираются для обработки в АЛУ.
Устройства ввода/вывода (УВВ) служат для преобразования
информации из внутреннего представления
в компьютере (биты и байты) в форму, доступную
окружающим, и обратно. Под окружающими
понимаем как людей, так и другие машины
(например технологическое оборудование,
которым управляет компьютер). К устройствам
ввода относятся клавиатура, мышь, джойстик,
микрофон, сканер, видеокамера, различные
датчики; к устройствам вывода – дисплей,
принтер, плоттер, акустические системы
(наушники), исполнительные механизмы.
Список устройств ввода/вывода безграничен
– благодаря фантазии и техническому
прогрессу в него входят все новые и новые
устройства; так, например, шлем виртуальной
реальности из области фантастики вышел
в производственно–коммерческую. Устройства
хранения к УВВ относить некорректно,
поскольку здесь преобразования информации
ради доступности внешнему миру не происходит.
Устройства хранения вместе с УВВ можно
объединить общим понятием периферийные устройства. Существует
еще большой класс коммуникационных
устройств, предназначенных для передачи
информации между компьютерами и (или)
их частями. Эти устройства обеспечивают,
например, соединение компьютеров в локальные
сети или подключение терминала (это УВВ)
к компьютеру через пару модемов. Периферийные
и коммуникационные устройства снабжаются
контроллерами или адаптерами, которые
доступны процессору.
2 принцип: наличие
хранимой в памяти программы;
Другим важнейшим принципом является принцип хранимой в памяти программы.
Согласно этому принципу команды программы,
закодированные в цифровом виде, хранятся
в памяти наравне с числами. В команде
указываются не сами участвующие в операциях
числа, а адреса ячеек ОП, в которых они
находятся, и адрес ячейки, куда помещается
результат операции.
Поскольку программа хранится в памяти,
одни и те же команды могут нужное число
раз извлекаться из памяти и выполняться.
Более того, так как команды представляются
в машине в форме чисел, то над командами
как над числами машина может производить
операции (“модификации команд”).
Команды выполняются в порядке, соответствующем
их расположению в последовательных ячейках
памяти, кроме команд безусловного и условного
переходов, изменяющих этот порядок соответственно
безусловно или только при выполнении
некоторого условия, обычно задаваемого
в виде равенства нулю, положительного
или отрицательного результата предыдущей
команды или отношения типа >, =, < для
указываемых командой чисел. Именно благодаря
наличию команд условного перехода ЭВМ
может автоматически изменять соответствующим
образом ход вычислительного процесса,
решать сложные логические задачи.
Перед решением задачи на ЭВМ программа
и исходные данные должны быть помещены
в ее память. Предварительно эта информация
обычно заносится во внешнюю память. Затем
при помощи устройства ввода программа и исходные данные считываются
в ОП.
3 принцип: одинаковое
представление чисел и команд в виде двоичных
кодов согласно этому принципу, вся
информация, поступающая в ЭВМ, кодируется
с помощью двоичных символов (сигналов);
Таким образом, в вычислительной
технике используется система двоичного
кодирования, основанная на представлении
данных последовательностью всего двух
знаков: 0 и 1. Эти знаки называются двоичными
цифрами, по-английски — binary digit или сокращенно
bit (бит). Одним битом могут быть выражены
два понятия: 0 или 1 (да или нет, черное
или белое, истина или ложь и т. п.). Если
количество битов увеличить до двух, то
уже можно выразить четыре различных понятия:
00 01 10 11
Тремя битами можно закодировать
восемь различных значений: 000 001 010 011 100
101 110 111
Увеличивая на единицу количество
разрядов в системе двоичного кодирования,
мы увеличиваем в два раза количество
значений, которое может быть выражено
в данной системе, то есть общая формула
имеет вид:
N=2m,
где N — количество независимых
кодируемых значений;
т — разрядность двоичного
кодирования, принятая в данной системе.
Кодирование целых
и действительных чисел
Целые числа кодируются двоичным
кодом достаточно просто — достаточно
взять целое число и делить его пополам
до тех пор, пока частное не будет равно
единице. Совокупность остатков от каждого
деления, записанная справа налево вместе
с последним частным, и образует двоичный
аналог десятичного числа.
19:2 = 9+1
9:2 = 4 + 1
4:2=2+0
2:2=1+0
Таким образом, 191() = 100112.
Для кодирования целых чисел
от 0 до 255 достаточно иметь 8 разрядов двоичного
кода (8 бит). Шестнадцать бит позволяют
закодировать целые числа от 0 до 65 535, а
24 бита — уже более 16,5 миллионов разных
значений.
Для кодирования действительных
чисел используют 80-разрядное кодирование.
При этом число предварительно преобразуется
в нормализованную форму:
3,1415926 = 0,31415926×101
300 000 = 0,3 × 106
123 456 789 = 0,123456789×1010
Первая часть числа называется
мантиссой, а вторая — характеристикой.
Большую часть из 80 бит отводят для хранения
мантиссы (вместе со знаком) и некоторое
фиксированное количество разрядов отводят
для хранения характеристики (тоже со
знаком).
Кодирование
текстовых данных
Если каждому символу алфавита
сопоставить определенное целое число
(например, порядковый номер), то с помощью
двоичного кода можно кодировать и текстовую
информацию. Восьми двоичных разрядов
достаточно для кодирования 256 различных
символов. Этого хватит, чтобы выразить
различными комбинациями восьми битов
все символы английского и русского языков,
как строчные, так и прописные, а также
знаки препинания, символы основных арифметических
действий и некоторые общепринятые специальные
символы, например символ "§".
Технически это выглядит очень
просто, однако всегда существовали достаточно
веские организационные сложности. В первые
годы развития вычислительной техники
они были связаны с отсутствием необходимых
стандартов, а в настоящее время вызваны,
наоборот, изобилием одновременно действующих
и противоречивых стандартов. Для того
чтобы весь мир одинаково кодировал текстовые
данные, нужны единые таблицы кодирования,
а это пока невозможно из-за противоречий
между символами национальных алфавитов,
а также противоречий корпоративного
характера.
4 принцип: принцип
микропрограммного управления процессом
вычислений;
Любая машинная команда рассматривается,
как некоторое сложное действие, которое
состоит из последовательности элементарных
действий над словами информации – микроопераций. Методы и приемы синтеза дискретных устройств
(ДУ) использовали их представление в виде
совокупности двух основных блоков: комбинационного
логического и блока элементов памяти.
Такой подход обладает универсальностью
и обеспечивает хорошие результаты при
построении относительно несложных ДУ.
Однако полученные на его основе процедуры
синтеза ДУ оказываются чрезмерно громоздкими
и трудоемкими при построении устройств
средней и большой сложности, имеющих
важное практическое значение. Работа
таких устройств обычно заключается в
реализации некоторого алгоритма обработки
информации, т.е. в выполнении упорядоченной
последовательности определенных операций
над поступающими данными. При построении
таких ДУ целесообразно использовать
принцип микропрограммного управления,
состоящий в следующем: