Архитектура фон Неймана: история возникновения термина. Основные архитектурные принципы эвм

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня.

По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новое.

Принципы фон Неймана

  1. Использование двоичной системы счисления в вычислительных машинах . Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
  2. Программное управление ЭВМ . Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Созданием машины с хранимой в памяти программой было положено начало тому, что мы сегодня называем программированием.
  3. Память компьютера используется не только для хранения данных, но и программ . При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
  4. Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы . В любой момент можно обратиться к любой ячейке памяти по ее адресу. Этот принцип открыл возможность использовать переменные в программировании.
  5. Возможность условного перехода в процессе выполнения программы . Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода.

Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой.

Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день. И хотя программы для современных компьютеров могут писаться годы, однако они работают на миллионах компьютеров после несколько минутной установки на жесткий диск.

Как работает машина фон Неймана

Машина фон Неймана состоит из запоминающего устройства (памяти) - ЗУ, арифметико-логического устройства - АЛУ, устройства управления – УУ, а также устройств ввода и вывода.

Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Все команды программы записываются в соседние ячейки памяти, а данные для обработки могут содержаться в произвольных ячейках. У любой программы последняя команда должна быть командой завершения работы.

Команда состоит из указания, какую операцию следует выполнить (из возможных операций на данном «железе») и адресов ячеек памяти, где хранятся данные, над которыми следует выполнить указанную операцию, а также адреса ячейки, куда следует записать результат (если его требуется сохранить в ЗУ).

Арифметико-логическое устройство выполняет указанные командами операции над указанными данными.

Из арифметико-логического устройства результаты выводятся в память или устройство вывода. Принципиальное различие между ЗУ и устройством вывода заключается в том, что в ЗУ данные хранятся в виде, удобном для обработки компьютером, а на устройства вывода (принтер, монитор и др.) поступают так, как удобно человеку.

УУ управляет всеми частями компьютера. От управляющего устройства на другие устройства поступают сигналы «что делать», а от других устройств УУ получает информацию об их состоянии.

Управляющее устройство содержит специальный регистр (ячейку), который называется «счетчик команд». После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы. УУ считывает из памяти содержимое ячейки памяти, адрес которой находится в счетчике команд, и помещает его в специальное устройство - «Регистр команд». УУ определяет операцию команды, «отмечает» в памяти данные, адреса которых указаны в команде, и контролирует выполнение команды. Операцию выполняет АЛУ или аппаратные средства компьютера.

В результате выполнения любой команды счетчик команд изменяется на единицу и, следовательно, указывает на следующую команду программы. Когда требуется выполнить команду, не следующую по порядку за текущей, а отстоящую от данной на какое-то количество адресов, то специальная команда перехода содержит адрес ячейки, куда требуется передать управление.

Машина тюринга

Маши́наТью́ринга (МТ) - абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма.

Машина Тьюринга является расширением конечного автомата и, согласно тезису Чёрча - Тьюринга, способна имитировать все исполнители (с помощью задания правил перехода), каким-либо образом реализующие процесс пошагового вычисления, в котором каждый шаг вычисления достаточно элементарен.

Устройство машины Тьюринга[

В состав машины Тьюринга входит неограниченная в обе стороны лента (возможны машины Тьюринга, которые имеют несколько бесконечных лент), разделённая на ячейки, и управляющее устройство (также называется головкой записи-чтения (ГЗЧ )), способное находиться в одном из множества состояний . Число возможных состояний управляющего устройства конечно и точно задано.

Управляющее устройство может перемещаться влево и вправо по ленте, читать и записывать в ячейки символы некоторого конечного алфавита. Выделяется особый пустой символ, заполняющий все клетки ленты, кроме тех из них (конечного числа), на которых записаны входные данные.

Управляющее устройство работает согласно правилам перехода , которые представляют алгоритм, реализуемый данной машиной Тьюринга. Каждое правило перехода предписывает машине, в зависимости от текущего состояния и наблюдаемого в текущей клетке символа, записать в эту клетку новый символ, перейти в новое состояние и переместиться на одну клетку влево или вправо. Некоторые состояния машины Тьюринга могут быть помечены как терминальные , и переход в любое из них означает конец работы, остановку алгоритма.

Машина Тьюринга называется детерминированной , если каждой комбинации состояния и ленточного символа в таблице соответствует не более одного правила. Если существует пара «ленточный символ - состояние», для которой существует 2 и более команд, такая машина Тьюринга называется недетерминированной .

Описание машины Тьюринга[

Конкретная машина Тьюринга задаётся перечислением элементов множества букв алфавита A, множества состояний Q и набором правил, по которым работает машина. Они имеют вид: q i a j →q i1 a j1 d k (если головка находится в состоянии q i , а в обозреваемой ячейке записана буква a j , то головка переходит в состояние q i1 , в ячейку вместо a j записывается a j1 , головка делает движение d k , которое имеет три варианта: на ячейку влево (L), на ячейку вправо (R), остаться на месте (N)). Для каждой возможной конфигурации имеется ровно одно правило (для недетерминированной машины Тьюринга может быть большее количество правил). Правил нет только для заключительного состояния, попав в которое машина останавливается. Кроме того, необходимо указать конечное и начальное состояния, начальную конфигурацию на ленте и расположение головки машины.

Пример машины Тьюринга[

Приведём пример МТ для умножения чисел в унарной системе счисления. Запись правила «q i a j →q i1 a j1 R/L/N» следует понимать так: q i - состояние при котором выполняется это правило, a j - данные в ячейке, в которой находится головка, q i1 - состояние в которое нужно перейти, a j1 - что нужно записать в ячейку, R/L/N - команда на перемещение.

Архитектура ЭВМ джона фон неймана

Архитектура фон Неймана - широко известный принцип совместного хранения команд и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают принцип хранения данных и инструкций в одной памяти.

Принципы фон неймана

Принципы фон Неймана[

Принцип однородности памяти

Команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования; то есть одно и то же значение в ячейке памяти может использоваться и как данные, и как команда, и как адрес в зависимости лишь от способа обращения к нему. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, открывает ряд возможностей. Так, циклически изменяя адресную часть команды, можно обеспечить обращение к последовательным элементам массива данных. Такой прием носит название модификации команд и с позиций современного программирования не приветствуется. Более полезным является другое следствие принципа однородности, когда команды одной программы могут быть получены как результат исполнения другой программы. Эта возможность лежит в основе трансляции - перевода текста программы с языка высокого уровня на язык конкретной вычислительной машины.

Принцип адресности

Структурно основная память состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек - адреса.

Принцип программного управления

Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов - команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.

Типы процессоров

Микропроцессор - это устройство, представляющее собой одну или несколько больших интегральных схем(БИС), выполняющих функции процессора ЭВМ.Классическое вычислительное устройство состоит из арифметического устройства (АУ), устройства управления (УУ), запоминающего устройства (ЗУ) и устройства ввода-вывода (УВВ).

IntelCeleron 400 Socket 370 в пластиковом корпусе PPGA, вид сверху.

Существуют процессоры различной архитектуры.

CISC (англ. ComplexInstructionSetComputing) - концепция проектирования процессоров, которая характеризуется следующим набором свойств:

· большим числом различных по формату и длине команд;

· введением большого числа различных режимов адресации;

· обладает сложной кодировкой инструкции.

Процессору с архитектурой CISC приходится иметь дело с более сложными инструкциями неодинаковой длины. Выполнение одиночной CISC-инструкции может происходить быстрее, однако обрабатывать несколько таких инструкций параллельно сложнее.

Облегчение отладки программ на ассемблере влечет за собой загромождение узлами микропроцессорного блока. Для повышения быстродействия следует увеличить тактовую частоту и степень интеграции, что вызывает необходимость совершенствования технологии и, как следствие, более дорогого производства.

Достоинства архитектуры CISC [показать]

Недостатки архитектуры CISC [показать]

RISC (Reduced Instruction Set Computing). Процессор с сокращенным набором команд. Система команд имеет упрощенный вид. Все команды одинакового формата с простой кодировкой. Обращение к памяти происходит посредством команд загрузки и записи, остальные команды типа регистр-регистр. Команда, поступающая в CPU, уже разделена по полям и не требует дополнительной дешифрации.

Часть кристалла освобождается для включения дополнительных компонентов. Степень интеграции ниже, чем в предыдущем архитектурном варианте, поэтому при высоком быстродействии допускается более низкая тактовая частота. Команда меньше загромождает ОЗУ, CPU дешевле. Программной совместимостью указанные архитектуры не обладают. Отладка программ на RISC более сложна. Данная технология может быть реализована программно-совместимым с технологией CISC (например, суперскалярная технология).

Поскольку RISC-инструкции просты, для их выполнения нужно меньше логических элементов, что в конечном итоге снижает стоимость процессора. Но большая часть программного обеспечения сегодня написана и откомпилирована специально для CISC-процессоров фирмы Intel. Для использования архитектуры RISC нынешние программы должны быть перекомпилированы, а иногда и переписаны заново.

Тактовая частота

Тактовая частота - показатель скорости выполнения команд центральным процессором.
Такт - промежуток времени, необходимый для выполнения элементарной операции.

В недалеком прошлом тактовую частоту центрального процессора отождествляли непосредственно с его производительностью, то есть чем выше тактовая частота ЦП, тем он производительнее. На практике имеем ситуацию, когда процессоры с разной частотой имеют одинаковую производительность, потому что за один такт могут выполнять разное количество команд (в зависимости от конструкции ядра, пропускной способности шины, кэш-памяти).

Тактовая частота процессора пропорциональна частоте системной шины (см. ниже ).

Разрядность

Разрядность процессора - величина, которая определяет количество информации, которое центральный процессор способен обработать за один такт.

Например, если разрядность процессора равна 16, это значит, что он способен обработать 16 бит информации за один такт.

Думаю, всем понятно, что чем выше разрядность процессора, тем большие объемы информации он может обрабатывать.

Обычно, чем больше разрядность процессора, тем его производительность выше.

В настоящее время используются 32- и 64-разрядные процессоры. Разрядность процессора не означает, что он обязан выполнять команды с такой же самой разрядностью.

Кэш-память

Первым делом ответим на вопрос, что такое кэш-память?

Кэш-память – это быстродействующая память компьютера, предназначена для временного хранения информации (кода выполняемых программ и данных), необходимых центральному процессору.

Какие данные хранятся в кэш-памяти?

Наиболее часто используемые.

Какое предназначение кэш-памяти?

Дело в том, что производительность оперативной памяти, сравнительно с производительностью ЦП намного ниже. Получается, что процессор ждет, когда поступят данные от оперативной памяти – что понижает производительность процессора, а значит и производительность всей системы. Кэш-память уменьшает время ожидания процессора, сохраняя в себе данные и код выполняемых программ, к которым наиболее часто обращался процессор (отличие кэш-памяти от оперативной памяти компьютера – скорость работы кэш-памяти в десятки раз выше).

Кэш-память, как и обычная память, имеет разрядность. Чем выше разрядность кэш-памяти тем с большими объемами данных может она работать.

Различают кэш-память трех уровней: кэш-память первого (L1), второго (L2) и третьего (L3). Наиболее часто в современных компьютерах применяют первые два уровня.

Рассмотрим подробнее все три уровня кэш-памяти.

Кэш-память первого уровня является самой быстрой и самой дорогой памятью.

Кэш-память первого уровня расположена на одном кристалле с процессором и работает на частоте ЦП (отсюда и наибольшее быстродействие) и используется непосредственно ядром процессора.

Емкость кэш-памяти первого уровня невелика (в силу дороговизны) и исчисляется килобайтами (обычно не более 128 Кбайт).

Кэш-память второго уровня - это высокоскоростная память, выполняющая те функции, что и кэш L1. Разница между L1 и L2 в том, что последняя имеет более низкую скорость, но больший объем (от 128 Кбайт до 12 Мбайт), что очень полезно для выполнения ресурсоемких задач.

Кэш-память третьего уровня расположена на материнской плате. L3 значительно медленнее L1и L2, но быстрее оперативной памяти. Понятно, что объем L3 больше объема L1и L2. Кэш-память третьего уровня встречается в очень мощных компьютерах.

Количество ядер

Современные технологии изготовления процессоров позволяют разместить в одном корпусе более одного ядра. Наличие нескольких ядер значительно увеличивает производительность процессора, но это не означает что присутствие n ядер дает увеличение производительности в n раз. Кроме этого, проблема многоядерности процессоров заключается в том, что на сегодняшний день существует сравнительно немного программ, написанных с учетом наличия у процессоранескольких ядер.

Многоядерность процессора, прежде всего, позволяет реализовать функцию многозадачности: распределять работу приложений между ядрами процессора. Это означает, что каждое отдельное ядро работает со “своим” приложением.

Структура материнской платы

Прежде чем выбирать материнскую плату нужно хотя бы поверхностно рассмотреть ее структуру. Хотя здесь стоит отметить, что расположение гнезд и других деталей материнской платы не играют особой роли.

Первое, на что стоит обратить внимание – это сокет процессора. Это небольшое квадратное углубление с креплением.

Для тех, кто знаком с таким термином как «оверлокинг» (разгон компьютера) стоит обратить внимание на наличие двойного радиатора. Зачастую в материнских платах отсутствует двойной радиатор. Поэтому для тех, кто в будущем намерен разгонять свой компьютер, желательно проследить, чтобы этот элемент на плате присутствовал.

Продолговатые слоты PCI-Express предназначены для видеокарт, ТВ-тюнеров, аудио и сетевых карт. Для видеокарт нужна большая пропускная способность и для них используют разъемы PCI-Express X16. Для остальных адаптеров используются разъемы PCI-Express X1.

Совет эксперта! PCI-разъемы с различной пропускной способность выглядят почти одинаково. Стоит особенно внимательно рассмотреть разъемы и прочитать надписи под ними, чтобы избежать внезапных разочарований дома при установке видеокарт.

Разъемы меньшего размера предназначены для планок оперативной памяти. Обычно они окрашены в черный или синий цвет.

Чипсет платы обычно скрыт под радиатором. Этот элемент отвечает за совместную работу процессора и остальных частей системного блока.

Маленькие квадратные разъемы на краю платы служат для подключения жесткого диска. С другого бока расположены разъемы для устройств ввода и вывода (USB, мышка, клавиатура и т. д.).

Производитель

Материнские платы производят многие компании. Выделить из них лучшие или худшие практически невозможно. Плату любой компании можно назвать качественной. Зачастую даже неизвестные производители предлагают хороший товар.

Секрет в том, что все платы комплектуются чипсетами от двух компаний: AMD и Intel. Причем отличия чипсетов незначительные и играют роль только при решении глубоко специализированных задач.

Форм-фактор

В случае материнских плат размер имеет значение. Стандартный форм-фактор ATX встречается в большинстве домашних компьютеров. Большой размер, а, следовательно, наличие широкого набора гнезд позволяют улучшать основные характеристики компьютера.

Уменьшенная версия mATX встречается реже. Возможности улучшения ограничены.

Также существует mITX. Этот форм-фактор встречается в бюджетных офисных компьютерах. Улучшение характеристик или невозможно или не имеет смысла.

Зачастую процессоры и платы продаются в комплекте. Однако если процессор был куплен раньше, важно проследить, чтобы он был совместим с платой. Посмотрев на сокет, совместимость процессора и материнской платы можно определить моментально.

Чипсет

Связующее звено всех составляющих системы – это чипсет. Чипсеты изготавливают две компании: Intel и AMD. Особой разницы между ними нет. По крайне мере для рядового пользователя.

Стандартные чипсеты состоят из северного и южного мостов. Самые новые модели Intelсостоят только из северного. Сделано это не с целью экономии. Этот фактор никак не уменьшает производительность чипсета.

Наиболее современные чипсеты Intel состоят из одного моста, так как большая часть контроллеров теперь находится в процессоре, среди которых контроллер оперативной памяти DD3, PCI-Express 3.0 и некоторые другие.

Аналоги от AMD построены на традиционной схеме двух мостов. Например, 900-я серия комплектуется южным мостом SB950 и северным 990FX (990X, 970).

При выборе чипсета стоит отталкиваться от возможностей северного моста. Северный мост 990FX может поддерживать одновременно работу 4-х видеокарт в режиме CrossFire. В большинстве случае такая мощность – избыточна. Но для любителей тяжеловесных игры или тех, кто работают с требовательным графическими редакторами, этот такой чипсет будет наиболее подходящим.

Немного урезанная версия 990Х все еще может поддерживать работу двух видеокарт одновременно, а вот 970-я модель работает исключительно с одной видеокартой.

Компоновка Материнских плат

· подсистема обработки данных;

· подсистема электропитания;

· вспомогательные (сервисные) блоки и узлы.

Основные компоненты подсистемы обработки данных материнской платы приведены на рис. 1.3.14.

1 – гнездо процессора; 2 – фронтальная шина; 3 – северный мост; 4 – тактовый генератор; 5 – шина памяти; 6 – разъемы оперативной памяти; 7 – разъемы IDE (ATA); 8 – разъемы SATA; 9 – южный мост; 10 – разъемы IEEE 1394; 11 – разъемы USB; 12 – разъем сети Ethernet; 13 – аудиоразъемы; 14 – шина LPC; 15 – контроллер Super I/O; 16 – порт PS/2;

17 – параллельный порт; 18 – последовательные порты; 19 – разъем Floppy Disk;

20 – BIOS; 21 – шина PCI; 22 – разъемы PCI; 23 – разъемы AGP или PCI Express;

24 – внутренняя шина; 25 – Шина AGP/PCI Express; 26 – разъем VGA

FPM (Fast Page Mode) - вид динамической памяти.
Его название соответствует принципу работы, так как модуль позволяет быстрее получать доступ к данным которые находятся на той же странице, что и данные, переданные во время предыдущего цикла.
Эти модули использовались на большинстве компьютеров с процессорами 486 и в ранних системах с процессорами Pentium, ориентировочно в 1995 году.

Модули EDO (Extended Data Out) появились в 1995 году как новый тип памяти для компьютеров с процессорами Pentium.
Это модифицированный вариант FPM.
В отличие от своих предшественников, EDO начинает выборку следующего блока памяти в то же время, когда отправляет предыдущий блок центральному процессору.

SDRAM (Synchronous DRAM) - вид памяти со случайным доступом, работающий на столько быстро, чтобы его можно было синхронизировать с частотой работы процессора, исключая режимы ожидания.
Микросхемы разделены на два блока ячеек так, чтобы во время обращения к биту в одном блоке шла подготовка к обращению к биту в другом блоке.
Если время обращения к первой порции информации составляло 60 нс, все последующие интервалы удалось сократить до 10 нс.
Начиная с 1996 года большинство чипсетов Intel стали поддерживать этот вид модулей памяти, сделав его очень популярным вплоть до 2001 года.

SDRAM может работать на частоте 133 МГц, что почти в три раза быстрее, чем FPM и в два раза быстрее EDO.
Большинство компьютеров с процессорами Pentium и Celeron, выпущенных в 1999 году использовали именно этот вид памяти.

DDR (Double Data Rate) стал развитием SDRAM.
Этот вид модулей памяти впервые появился на рынке в 2001 году.
Основное отличие между DDR и SDRAM заключается в том, что вместо удвоения тактовой частоты для ускорения работы, эти модули передают данные дважды за один такт.
Сейчас это основной стандарт памяти, но он уже начинает уступать свои позиции DDR2.

DDR2 (Double Data Rate 2) - более новый вариант DDR, который теоретически должен быть в два раза более быстрым.
Впервые память DDR2 появилась в 2003 году, а чипсеты, поддерживающие ее - в середине 2004.
Эта память, также как DDR, передает два набора данных за такт.
Основное отличие DDR2 от DDR - способность работать на значительно большей тактовой частоте, благодаря усовершенствованиям в конструкции.
Но измененная схема работы, позволяющая добиться высоких тактовых частот, в то же время увеличивает задержки при работе с памятью.

DDR3 SDRAM (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных, третье поколение) - это тип оперативной памяти, используемой в вычислительной технике в качестве оперативной и видео- памяти.
Пришла на смену памяти типа DDR2 SDRAM.

У DDR3 уменьшено на 40 % потребление энергии по сравнению с модулями DDR2, что обусловлено пониженным (1,5 В, по сравнению с 1,8 В для DDR2 и 2,5 В для DDR) напряжением питания ячеек памяти.
Снижение напряжения питания достигается за счёт использования 90-нм (вначале, в дальнейшем 65-, 50-, 40-нм) техпроцесса при производстве микросхем и применения транзисторов с двойным затвором Dual-gate (что способствует снижению токов утечки).

Модули DIMM с памятью DDR3 механически не совместимы с такими же модулями памяти DDR2 (ключ расположен в другом месте), поэтому DDR2 не могут быть установлены в слоты под DDR3 (это сделано с целью предотвращения ошибочной установки одних модулей вместо других - эти типы памяти не совпадают по электрическим параметрам).

RAMBUS (RIMM)

RAMBUS (RIMM) - это вид памяти, который появился на рынке в 1999 году.
Он основан на традиционной DRAM но с кардинально измененной архитектурой.
Дизайн RAMBUS делает обращение к памяти более «разумным», позволяя получать предварительный доступ к данным, немного разгружая центральный процессор.
Основная идея, использованная в этих модулях памяти, заключается в получении данных небольшими пакетами но на очень высокой тактовой частоте.
Например, SDRAM может передавать 64 бит информации при частоте 100 МГц, а RAMBUS - 16 бит при частоте 800 МГц.
Эти модули не стали успешными, так как у Intel было много проблем с их внедрением.
Модули RDRAM появились в игровых консолях Sony Playstation 2 и Nintendo 64.

RAM означает Random Access Memory - Память Произвольного Доступа - память, доступ к которой осуществляется по адресу. Адреса при последовательном доступе могут принимать любые значения, поэтому можно получить независимый доступ к любому адресу (или "ячейке").

Статистическая память - это память, построенная из статических переключателей. Она хранит информацию до тех пор, пока подается питание. Обычно требуется не менее шести транзисторов для хранения одного бита в SRAM схеме. SRAM используется в малых системах (до нескольких сот Кб RAM) и применяется там, где критична скорость доступа (как кэш внутри процессоров или на материнских платах).

Динамическая память (DRAM) зародилась в начале 70х. Она основана на емкостных элементах. Мы можем думать о DRAM как о наборе конденсаторов, управляемых переключающимися транзисторами. Только один "конденсаторный транзистор" необходим для хранения одного бита, поэтому DRAM обладает большей емкостью чем SRAM (и она дешевле).
DRAM организована в виде прямоугольного массива ячеек. Чтобы обратиться к ячейке, нам нужно выбрать ряд и колонку, в которой находится эта ячейка. Обычно это реализуется таким образом, что старшая часть адреса указывает на ряд, а младшая часть адреса указывает на ячейку в ряду ("колонку"). Исторически сложилось так (из-за медленной скорости и маленьких IC пакетов в начале 70"х), что адрес подается на DRAM чип в две фазы - адрес ряда с адресом колонки по одинаковым линиям. Сперва чип принимает адрес ряда и затем через несколько наносекунд по той же линии передается адрес колонки. Чип считывает данные и передает их на вывод. При цикле записи данные принимаются чипом вместе с адресом колонки. Для управления чипом используется несколько управляющих линий. RAS (Row Address Strobe) сигналы которыми передается адрес ряда и также активируется весь чип. CAS (Column Address Strobe) сигналы которыми передается адрес колонки. WE (Write Enable) указывающий, что произведенный доступ - это доступ записи. OE (Output Enable) открывает буфера используемые для передачи данных с чипа памяти на "хост" (процессор).
FP DRAM

Так как каждый доступ к классической DRAM требует передачи двух адресов, он был слишком медленным для 25 МГц машин. FP (Fast Page) DRAM это вариант классической DRAM, в котором нет необходимости передавать адрес ряда в каждом цикле доступа. До тех пор пока RAS линия активна, ряд остается выбранным и индивидуальные ячейки из этого ряда можно выбрать передачей только адреса колонки. Итак, в то время как ячейка памяти остается той же самой, время доступа меньше, потому что только одна фаза передачи адреса необходима в большинстве случаев.

EDO (Extended Data Out) DRAM это вариант FP DRAM. В FP DRAM адрес колонки должен оставаться верным во время всего периода передачи данных. Буфера данных активизируются только во время цикла передачи адреса колонки, по сигналу уровня активности CAS сигнала. Данные должны быть считаны с шины данных памяти до того как в чип поступит новый адрес колонки. EDO память сохраняет данные в буферах вывода после того как CAS сигнал возвращается в неактивное состояние и адрес колонки убирается. Адрес следующей колонки может передаваться параллельно с чтением данных. Это предоставляет возможность использовать частичное совпадение при чтении. В то время как ячейки памяти EDO RAM одинаковы по скорости с FP DRAM, последовательный доступ может осуществляться быстрее. Итак EDO должны быть чем-то более быстрым, чем FP, особенно для массивного доступа (как например в графических приложениях).

Video RAM может основываться на любой из перечисленных выше DRAM архитектур. Помимо "обычного" механизма доступа, описанного ниже, у VRAM есть один или два специальных серийных порта. VRAM часто упоминается как двупортовая или трехпортовая память. Серийные порты содержат регистры которые могут хранить содержимое целого ряда. Возможно передать данные с целого ряда массива памяти в регистр (или наоборот) за один цикл доступа. Затем данные могут быть считаны или записаны в регистр серийного доступа порциями любой длины. Поскольку регистр состоит из быстрых, статических ячеек, доступ к нему очень быстр, обычно в несколько раз быстрее чем к массиву памяти. В большинстве типичных приложений VRAM используется в качестве буфера экранной памяти. Параллельный порт (стандартный интерфейс) используется процессором, а серийный порт используется для передачи данных о точках на дисплее (или считывании данных с видео источника).

WRAM это патентованная архитектура памяти разработанная Matrox и (кто же еще, дайте вспомнить...- Samsung?, MoSys?...). Она похожа на VRAM, но позволяет хосту производить более быстрый доступ. WRAM использовалась на графических платах Millenium и Millenium II производимых Matrox (но не на современных Millenium G200).

SDRAM это полная переделка DRAM, представленная в 90"х. "S" означает Synchronous (Синхронная), так как в SDRAM реализован полностью синхронный (и следовательно очень быстрый) интерфейс. Внутри SDRAM содержит (обычно два) DRAM массива. У каждого массива свой собственный Page Register (Регистр Страницы), который (немного) напоминает регистр серийного доступа на VRAM. SDRAM работает гораздо умнее чем обычная DRAM. Весь контур синхронизируется с сигналом внешних часов. На каждом такте часов чип принимает и выполняет команду, переданную по командным линиям. Названия командных линий остались теми же, что и в классических DRAM чипах, но их функции только похожи на оригинал. Есть команды для передачи данных между массивом памяти и регистрами страницы, и для доступа к данным в регистрах страницы. Доступ к регистру страницы очень быстр - современные SDRAMы могут передавать новое слово данных каждые 6..10 нс.

Synchronous Graphics RAM это вариант SDRAM, рассчитанный на графические приложения. Аппаратная структура почти идентична, поэтому в большинстве случаев мы можем менять SDRAM и SGRAM (смотрите Matrox G200-карты - некоторые из них используют SD, другие SG). Разница в функциях осуществляемых регистром страницы. SG может записать несколько расположений в одиночный цикл (это позволяет очень быстро производить заполнения цветом и очистку экрана), и может записать только несколько бит в слове (биты выбираются битовой маской хранимой интерфейсным контуром). Поэтому SG быстрее в графических приложениях, хотя физически не быстрее чем SD при "нормальном" использовании. Добавочные возможности SG используются графическими акселераторами. Я думаю что, в частности, очень полезны возможности очистки экрана и Z-буфера.

RAMBUS (RDRAM)

RAMBUS (торговая марка RAMBUS, Inc.) начал разрабатываться с 80"х, так что он не нов. Современные RAMBUS технологии сочетают в себе старые но очень хорошие идеи и сегодняшнии технологии производства памяти. В основе RAMBUS лежит простая идея: мы берем любой хороший DRAM, встраиваем в чип статический буфер (как в VRAM и SGRAM), и предоставляем специальный, электронно настраивающийся интерфейс работающий на 250..400 МГц. Интерфейс как минимум вдвое быстрее чем применяющийся в SDRAM, и в то время как время случайного доступа обычно медленнее, последовательный доступ производится очень, очень, очень быстро. Помните что когда были представлены 250 МГц RDRAMы, большинство DRAMов работали на частотах 12..25 МГц. RDRAM требует специального интерфейса и очень осторожного физического размещения на PCB. Большинство RDRAM чипов воглядят совсем иначе чем другие DRAMы: у всех у них все сигнальные линии находятся на одной стороне корпуса (чтобы они были одинаковой длины), и только 4 линии питания на другой стороне. RDRAMы используются в графических картах на чипах Cirrus 546x. Вскоре мы увидим RDRAMы используемые в качестве главной памяти на ПК.

Устройство жёстких дисков.

Винчестер содержит набор пластин, представляющих чаще всего металлические диски, покрытые магнитным материалом – платтером (гамма-феррит-оксид, феррит бария, окись хрома…) и соединенные между собой при помощи шпинделя (вала, оси).

Сами диски (толщина примерно 2мм.) изготавливаются из алюминия, латуни, керамики или стекла. (см. Рис)

Для записи используются обе поверхности дисков. Используется 4-9 пластин. Вал вращается с высокой постоянной скоростью (3600-7200 оборотов/мин.)

Вращение дисков и радикальное перемещение головок осуществляется с помощью 2-х электродвигателей.

Данные записываются или считываются с помощью головок записи/чтения по одной на каждую поверхность диска. Количество головок равно количеству рабочих поверхностей всех дисков.

Запись информации на диск ведется по строго определенным местам - концентрическим дорожкам (трекам). Дорожки делятся на сектора. В одном секторе 512 байт информации.

Обмен данными между ОЗУ и НМД осуществляется последовательно целым числом (кластером). Кластер - цепочки последовательных секторов (1,2,3,4,…)

Специальный двигатель с помощью кронштейна позиционирует головку чтения/записи над заданной дорожкой (перемещает ее в радиальном направлении).

При повороте диска головка располагается над нужным сектором. Очевидно, что все головки перемещаются одновременно и считывают инфоголовки перемещаются одновременно и считывают информацию с одинаковых дорожек разныхрмацию с одинаковых дорожек разных дисков.

Дорожки винчестера с одинаковым порядковым номером на разных дисках винчестера называется цилиндром.

Головки чтения записи перемещаются в вдоль поверхности платтера. Чем ближе к поверхности диска находится головка при этом не касаясь ее, тем выше допустимая плотность записи.

Интерфейсы жестких дисков.

IDE (АТА – Advanced Technology Attachment) - параллельный интерфейс подключения накопителей, именно поэтому был изменен (с выходом SATA) на PATA (Parallel ATA). Раньше использовался для подключения винчестеров, но был вытеснен интерфейсом SATA. В настоящее время используется для подключения оптических накопителей.

SATA (Serial ATA) – последовательный интерфейс обмена данными с накопителями. Для подключения используется 8-pin разъем. Как и в случае с PATA – является устаревшим, и используется только для работы с оптическими накопителями. Стандарт SATA (SATA150) обеспечивал пропускную способность равную 150 МБ/с (1,2 Гбит/с).

SATA 2 (SATA300). Стандарт SATA 2 увеличивал пропускную способность в двое, до 300 МБ/с (2,4 Гбит/с), и позволяет работать на частоте 3 ГГц. Стандартны SATA и SATA 2 совместимы между собой, однако для некоторых моделей необходимо вручную устанавливать режимы, переставляя джамперы.

SATA 3, хотя про требованию спецификаций правильно называть SATA 6Gb/s. Этот стандарт в двое увеличил скорость передачи данных до 6 Гбит/с (600 МБ/с). Также к положительным нововведениям относится функция программного управления NCQ и команды для непрерывной передачи данных для процесса с высоким приоритетом. Хоть интерфейс и был представлен в 2009 году, особой популярностью у производителей он пока не пользуется и в магазинах встречает не так часто. Кроме жестких дисков этот стандарт используется в SSD (твердотельные диски). Стоит заметить, что на практике пропускная способность интерфейсов SATA не отличаются скоростью передачи данных. Практически скорость записи и чтения дисков не превышает 100 Мб/с. Увеличение показателей влияет только пропускную способность между контроллером и кеш-памятью накопителя.

SCSI(Small Computer System Interface) – стандарт применяется в серверах, где необходима повышеная скорость передачи данных.

SAS (Serial Attached SCSI) – поколение пришедшее на смену стандарта SCSI, использующее последовательную передачу данных. Как и SCSI используется в рабочих станциях. Полностью совместив с интерефейсом SATA.

CF (Compact Flash) – Интерфейс для подключения карт памяти, а также для 1,0 дюймовых винчестеров. Различают 2 стандарта: Compact Flash Type I и Compact Flash Type II, отличие в толщине.

FireWire – альтернативный интерфейс более медленному USB 2.0. Используется для подключения портативных жестких дисков. Поддерживает скорость до 400 Мб/с, однако физическая скорость ниже, чем у обычных. При чтении и записи максимальный порг 40 Мб/с.

Типы видеокарт

Современные компьютеры (ноутбуки) выпускаются с различными типами видеокарт, от которых напрямую зависит производительность в графических программах, воспроизведение видео и так дальше.

В настоящее время используется 3 типа адаптеров, которые могут совмещаться.

Рассмотрим подробнее типы видеокарт:

  • интегрированная;
  • дискретная;
  • гибридная;
  • две дискретные;
  • Hybrid SLI.

Интегрированная видеокарта – это недорогой вариант. В ней нет видеопамяти и графического процессора. С помощью чипсета графику обрабатывает центральный процессор, оперативная память используется вместо видеопамяти. Такая система устройства значительно снижает и производительность компьютера в целом, и графическую обработку в частности.

Часто применяется в бюджетных комплектациях ПК или ноутбука. Позволяет работать с офисными приложениями, смотреть и редактировать фото и видео, но невозможно играть в современные игры. Доступны только устаревшие варианты с минимальными требованиями к системе.

Джон фон Нейман уже в восьмилетнем возрасте владел основами высшей математики и несколькими иностранными и классическими языками. Закончив в 1926 году Будапештский университет, фон Нейман преподавал в Германии, а в 1930 году эмигрировал в США и стал сотрудником Принстонского института перспективных исследований.

В 1944 году фон Нейман и экономист О. Моргенштерн написали книгу «Теория игр и экономическое поведение». Эта книга содержит не только математическую теорию игр, но ее применения к экономическим, военным и другим наукам. Джон фон Нейман был направлен в группу разработчиков ENIAC консультантом по математическим вопросам, с которыми встретилась эта группа.

В 1946 году вместе с Г. Гольдстейном и А. Берксом он написал и выпустил отчет «Предварительное обсуждение логической конструкции электронной вычислительной машины». Поскольку имя фон Неймана как выдающегося физика и математика было уже хорошо известно в широких научных кругах, все высказанные положения в отчете приписывались ему. Более того, архитектура первых двух поколений ЭВМ с последовательным выполнением команд в программе получила название «фон Неймановской архитектуры ЭВМ».

1. Принцип программного управления

Этот принцип обеспечивает автоматизацию процессов вычислений на ЭВМ.

Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды. Так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти. Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды “стоп”. Таким образом, процессор исполняет программу автоматически, без вмешательства человека


2. Принцип однородности памяти

Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатом вычислений.

Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм). Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции - перевода текста программы с языка программирования высокого уровня на язык конкретной машины.

3. Принцип адресности

Структурно основная память состоит из перенумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.

Фон Нейман описал, каким должен быть компьютер, чтобы он был универсальным и удобным средством для обработки информации . Он прежде всего должен иметь следующие устройства:

    Арифметическо-логическое устройство, которое выполняет арифметические и логические операции Устройство управления, которое организует процесс выполнения программ Запоминающее устройство для хранения программ и данных Внешние устройства для ввода-вывода информации.

Компьютеры, построенные на этих принципах, относят к типу фон-неймановских.

На сегодняшний день это подавляющие большинство компьютеров, в том числе и IBM PC – совместимые. Но есть и компьютерные системы с иной архитектурой – например системы для параллельных вычислений.

Магистрально-модульный принцип построения ЭВМ

Под архитектурой компьютера понимается его логическая организация, структура, ресурсы, т. е. средства вычислительной системы. Архитектура современных ПК основана на магистрально-модульном принципе.

Модульный принцип позволяет потребителю самому подобрать нужную ему конфигурацию компьютера и производить при необходимости его модернизацию. Модульная организация системы опирается на магистральный (шинный) принцип обмена информации. Магистраль или системная шина - это набор электронных линий, связывающих воедино по адресации памяти, передачи данных и служебных сигналов процессор, память и периферийные устройства.

Обмен информацией между отдельными устройствами ЭВМ производится по трем многоразрядным шинам, соединяющим все модули, - шине данных, шине адресов и шине управления.

Подключение отдельных модулей компьютера к магистрали на физическом уровне осуществляется с помощью контроллеров, а на программном обеспечивается драйверами. Контроллер принимает сигнал от процессора и дешифрует его, чтобы соответствующее устройство смогло принять этот сигнал и отреагировать на него. За реакцию устройства процессор не отвечает - это функция контроллера. Поэтому внешние устройства ЭВМ заменяемы, и набор таких модулей произволен.


Разрядность шины данных задается разрядностью процессора, т. е. количеством двоичных разрядов, которые процессор обрабатывает за один такт.

Данные по шине данных могут передаваться как от процессора к какому-либо устройству, так и в обратную сторону, т. е. шина данных является двунаправленной. К основным режимам работы процессора с использованием шины передачи данных можно отнести следующие: запись/чтение данных из оперативной памяти и из внешних запоминающих устройств, чтение данных с устройств ввода, пересылка данных на устройства вывода.

Выбор абонента по обмену данными производит процессор, который формирует код адреса данного устройства, а для ОЗУ - код адреса ячейки памяти. Код адреса передается по адресной шине, причем сигналы передаются в одном направлении, от процессора к устройствам, т. е. эта шина является однонаправленной.

По шине управления передаются сигналы, определяющие характер обмена информацией, и сигналы, синхронизирующие взаимодействие устройств, участвующих в обмене информацией.

Внешние устройства к шинам подключаются посредством интерфейса. Под интерфейсом понимают совокупность различных характеристик какого-либо переферийного устройства ПК, определяющих организацию обмена информацией между ним и центральным процессором. В случае несовместимости интерфейсов (например, интерфейс системной шины и интерфейс винчестера) используют контроллеры.

Чтобы устройства, входящие в состав компьютера, могли взаимодействовать с центральным процессором, в IBM-совместимых компьютерах предусмотрена система прерываний (Interrupts). Система прерываний позволяет компьютеру приостановить текущее действие и переключиться на другие в ответ на поступивший запрос, например, на нажатие клавиши на клавиатуре. Ведь с одной стороны, желательно, чтобы компьютер был занят возложенной на него работой, а с другой - необходима его мгновенная реакция на любой требующий внимания запрос. Прерывания обеспечивают немедленную реакцию системы.

Прогресс компьютерных технологий идет семимильными шагами. Каждый год появляются новые процессоры, платы, накопители и прочие периферийные устройства. Рост потенциальных возможностей ПК и появление новых более производительных компонентов неизбежно вызывает желание модернизировать свой компьютер. Однако нельзя в полной мере оценить новые достижения компьютерной технологии без сравнения их с существующими стандартами.

Разработка нового в области ПК всегда базируется на старых стандартах и принципах. Поэтому знание их является основополагающим фактором для (или против) выбора новой системы.

В состав ЭВМ входят следующие компоненты :

    центральный процессор (CPU); оперативная память (memory);
    устройства хранения информации (storage devices);
    устройства ввода (input devices);
    устройства вывода (output devices);
    устройства связи (communication devices).

Основы учения об архитектуре вычислительных машин заложил выдающийся американский математик Джон фон Нейман. Он подключился к созданию первой в мире ламповой ЭВМ ENIAC в 1944 г., когда ее конструкция была уже выбрана. В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”. С тех пор прошло полвека, но выдвинутые в ней положения сохраняют актуальность и сегодня.

В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций. В дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации – текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера.

Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Это было весьма трудоемким занятием: например, для изменения программы машины ENIAC требовалось несколько дней (в то время как собственно расчет не мог продолжаться более нескольких минут – выходили из строя лампы). Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

Фон Нейман не только выдвинул основополагающие принципы логического устройства ЭВМ, но и предложил ее структуру, которая воспроизводилась в течение первых двух поколений ЭВМ. Основными блоками по Нейману являются устройство управления (УУ) и арифметико-логическое устройство (АЛУ) (обычно объединяемые в центральный процессор), память, внешняя память, устройства ввода и вывода. Схема устройства такой ЭВМ представлена на рис. 1. Следует отметить, что внешняя память отличается от устройств ввода и вывода тем, что данные в нее заносятся в виде, удобном компьютеру, но недоступном для непосредственного восприятия человеком. Так, накопитель на магнитных дисках относится к внешней памяти, а клавиатура – устройство ввода, дисплей и печать – устройства вывода.

Рис. 1. Архитектура ЭВМ, построенной на принципах фон Неймана. Сплошные линии со стрелками указывают направление потоков информации, пунктирные – управляющих сигналов от процессора к остальными узлам ЭВМ

Устройство управления и арифметико-логическое устройство в современных компьютерах объединены в один блок – процессор, являющийся преобразователем информации, поступающей из памяти и внешних устройств (сюда относятся выборка команд из памяти, кодирование и декодирование, выполнение различных, в том числе и арифметических, операций, согласование работы узлов компьютера). Более детально функции процессора будут обсуждаться ниже.

Память (ЗУ) хранит информацию (данные) и программы. Запоминающее устройство у современных компьютеров “многоярусно” и включает оперативное запоминающее устройство (ОЗУ), хранящее ту информацию, с которой компьютер работает непосредственно в данное время (исполняемая программа, часть необходимых для нее данных, некоторые управляющие программы), и внешние запоминающие устройства (ВЗУ) гораздо большей емкости, чем ОЗУ. но с существенно более медленным доступом (и значительно меньшей стоимостью в расчете на 1 байт хранимой информации). На ОЗУ и ВЗУ классификация устройств памяти не заканчивается – определенные функции выполняют и СОЗУ (сверхоперативное запоминающее устройство), и ПЗУ (постоянное запоминающее устройство), и другие подвиды компьютерной памяти.

В построенной по описанной схеме ЭВМ происходит последовательное считывание команд из памяти и их выполнение. Номер (адрес) очередной ячейки памяти. из которой будет извлечена следующая команда программы, указывается специальным устройством – счетчиком команд в УУ. Его наличие также является одним из характерных признаков рассматриваемой архитектуры.

Разработанные фон Нейманом основы архитектуры вычислительных устройств оказались настолько фундаментальными, что получили в литературе название “фон-неймановской архитектуры”. Подавляющее большинство вычислительных машин на сегодняшний день – фон-неймановские машины. Исключение составляют лишь отдельные разновидности систем для параллельных вычислений, в которых отсутствует счетчик команд, не реализована классическая концепция переменной и имеются другие существенные принципиальные отличия от классической модели (примерами могут служить потоковая и редукционная вычислительные машины).

По-видимому, значительное отклонение от фон-неймановской архитектуры произойдет в результате развития идеи машин пятого поколения, в основе обработки информации в которых лежат не вычисления, а логические выводы.

Что-то вроде ностальгии: принципы фон Неймана

Я не сумел отыскать тетрадь с первой частью лекций по Архитектуре ЭВМ, поэтому данные пришлось брать из других источников.
В 1945 году Джон фон Нэйман, физик и математик венгерского происхождения, работавший в США над проектом ENIAC, опубликовал доклад, в котором были намечены основные принципы построения компьютера. Высказанные в докладе положения получили название "Принципы фон Нэймана".

1. Принцип программного управления.
Программа состоит из набора команд, выполняемых процессором последовательно. Выборка программы из памяти осуществляется с помощью счётчика команд. Выборка команд из памяти прекращается по достижении и выполнении команды “стоп”.


Отсюда видно, что команды в программе и сами программы выполняются последоватльно друг за другом. Также архитектура фон Нэймана позволяет совершать условные и безусловные переходы в случае если необходимо выполнить команду, не следующую непосредственно после выполненной, а расположенной в другом месте памяти. Но это не нарушает последовательный принцип выполнениия команд поскольку в каждый момент времени может выполняться только одна команда.

2. Принцип однородности памяти.
Программы и данные кодируются в двоичном коде и хранятся в одной памяти. Над командами можно выполнять такие же действия, как и над данными.


Таким образом для памяти всё равно, что хранится в данной ячейке — данные или команды. Также этот принцип позволяет программе в процессе выполнения подвергать себя переработке (так в программе организуется выполнение циклов и подпрограмм). Команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык команд конкретной машины.

Разные типы данных в свою очередь могут быть различены по форматам.

3. Принцип адресности.

Структурно основная память (ОЗУ) состоит из пронумерованных ячеек. Процессору в произвольный момент времени доступна любая ячейка.


Оперативная память как бы разбивается на ячейки фиксированной длины. Каджая такая ячейка имеет адрес (а фактически номер), обращаясь по которому можно получить содержание ячейки.

Эти принципы надолго стали определяющими в развитии ЭВМ. Лишь в 60-е годы появилась теория вычислительных систем, выходящая за пределы принципов фон Нэймана (главное отличие состояло в параллельности вычислений). Но это касалось больших профессиональных ЭВМ, а персональные компьютеры использовали эти принципы до последнего времени. Наш преподаватель архитектуры ЭВМ Игорь Юсупович говорил нам, что фоннэймановский компьютер себя практически исчерпал. Тогда я не представлял во что это выльется, а теперь двух и четырёхядерные процессоры стали обыденностью

В 1946 Джон фон Нейман (с соавторами) описал архитектуру некоторого абстрактного вычисли­теля, который сейчас принято называть машиной фон Неймана . Эта машина является абстрактной моделью ЭВМ, однако, эта абстракция отличается от абстрактных исполнителей алгоритмов (например, машины Тьюринга). Если машину Тьюринга принципиально нельзя реализовать из-за входящей в её архитектуру бесконечной ленты, то машина фон Неймана не поддаётся реализации, так как многие детали в архитектуре этой машины не конкретизированы . Это было сделано специально, чтобы не сковывать творческого подхода к делу у инженеров-разработчиков новых ЭВМ.

В некотором смысле машина фон Неймана подобна абстрактным структурам данных, которые Вы изучали в предыдущем семестре. Для таких структур данных, как Вы помните, для их использования необходимо было произвести отображение на структуры данных хранения и реализовать соответствующие операции над этими данными.

Можно сказать, что в машине фон Неймана зафиксированы те особенности архитектуры, которые в той или иной степени должны быть присущи, по мнению авторов этой абстрактной машины, всем компьютерам. Разумеется, практически все современные ЭВМ по своей архитектуре отличаются от машины фон Неймана, однако эти отличия удобно изучать именно как отличия , проводя сравнения и сопоставления с машиной фон Неймана. При нашем рассмотрении данной машины будет обращено внимание на отличия архитектуры машины фон Неймана от современных ЭВМ. Основополагающие свойства архитектуры машины фон Неймана будут сформулированы в виде принципов фон Неймана . Эти принципы многие годы определяли основные черты архитектуры ЭВМ нескольких поколений .

На рис. 2.1 приведена схема машины фон Неймана, как она изображается в большинстве учебников, посвящённых архитектуре ЭВМ. На этом рисунке толстыми стрелками показаны потоки команд и данных , а тонкими – передача между устройствами управляющих сигналов . Машина фон Неймана состоит из памяти, устройств ввода/вывода и центрального процессора (ЦП). Центральный процессор, в свою очередь, состоит из устройства управления (УУ) и арифметико-логического устройства (АЛУ). Рассмотрим последовательно устройства машины фон Неймана и выполняемые ими функции.

Память

Принцип линейности и однородности памяти.

Память – линейная (упорядоченная) однородная последовательность некоторых элементов, называемых ячейками . В любую ячейку памяти другие устройства машины (по толстым стрелкам) могут записать и считать информацию, причём время чтения из любой ячейки одинаково для всех ячеек. Время записи в любую ячейку тоже одинаково (это и есть принцип однородности памяти). Такая память в современных компьютерах называется памятью с произвольным доступом (Random Access Memory, RAM). На практике многие ЭВМ могут иметь участки памяти разных видов, одни из которых поддерживают только чтение информации (Read Only Memory, ROM), другие могут допускать запись, но за большее время, чем в остальную память (это так называемая полупостоянная память) и др.

Ячейки памяти в машине фон Неймана нумеруются от нуля до некоторого положительного числа N, которое обычно является степенью двойки. Адресом ячейки называется её номер. Каждая ячейка состоит из более мелких частей, именуемых разрядами и нумеруемых также от нуля и до определённого числа. Количество разрядов в ячейке обозначает разрядность памяти . Каждый разряд может хранить цифру в некоторой системе счисления. В большинстве ЭВМ используется двоичная система счисления, т.к. это более выгодно с точки зрения аппаратной реализации, в этом случае каждый разряд хранит один бит информации. Восемь бит составляет один байт .

Содержимое ячейки называется машинным словом . С точки зрения архитектуры, машинное слово – это минимальный объём данных, которым могут обмениваться различные узлы машины (не надо, однако, забывать о передаче управляющих сигналов по тонким стрелкам). Из каждой ячейки памяти можно считать копию машинного слова и передать её в другую часть памяти, при этом оригинал не меняется. При записи в память старое содержимое ячейки пропадает и заменяется новым машинным словом.

Заметим, что на практике решение задачи сохранения исходного машинного слова при чтении из ячейки для некоторых видов памяти является нетривиальным и достаточно трудоёмким, так как в этой памяти (она называется динамической памятью) при чтении оригинал разрушается. Приведём типичные характеристики памяти современных ЭВМ.

1. Объём памяти – сотни миллионов ячеек (обычно восьмиразрядных).

2. Скорость работы памяти: время доступа (минимальная задержка на чтение слова) и время цикла (минимальная задержка на чтение из одной и той же ячейки двух слов) – порядка единиц и десятков наносекунд (1 секунда=10 9 наносекунд). Заметим, что для упомянутой выше динамической памяти время цикла больше , чем время доступа, так как надо ещё восстановить разрушенное при чтении содержимое ячейки.

3. Стоимость. Для основной памяти ЭВМ пока достаточно знать, что чем быстрее такая память, тем она, естественно, дороже. Конкретные значения стоимости памяти не представляют интереса в рамках наших лекций.

Принцип неразличимости команд и данных. Машинное слово представляет собой либо команду, либо подлежащее обработке данное (число, символьная информация, элемент изображения и т.д.). Для краткости в дальнейшем будем называть такую информацию ²числами². Данный принцип фон Неймана заключается в том, что числа и команды неотличимы друг от друга – в памяти и те и другое представляются некоторым набором разрядов, причём по внешнему виду машинного слова нельзя определить, что оно представляет – команду или число.

Из этого принципа вытекает очевидное следствие – принцип хранимой программы . Этот принцип является очень важным, его суть состоит в том, что программа хранится в памяти вместе с числами, а значит, может изменяться во время счёта этой программы. Говорят также, что программа может самомодифицироваться во время счёта. Заметим, что, когда фон Нейман писал свою работу, большинство тогдашних ЭВМ хранили программу в памяти одного вида, а числа – в памяти другого вида. В современных ЭВМ и программы, и данные хранятся в одной и той же памяти.

Понравилось? Лайкни нас на Facebook