Архитектура ЭВМ Джона фон Неймана. Принципы формирования ЭВМ

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

Маши́наТью́ринга (МТ) - абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 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.

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

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

ОРГАНИЗАЦИЯ ЭВМ

Конспект лекций

Челябинск

ПРИНЦИПЫ ДЖОНА ФОН НЕЙМАН. ПОКОЛЕНИЯ ЭВМ

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

В основу построения подавляющего большинства ЭВМ положены следующие общие принципы, сформулированные в 1945 году американским ученым венгерского происхождения ДЖОНОМ фон НЕЙМАНОМ.

1) Принцип двоичного кодирования.

Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов.

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

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

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

Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

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

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

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

Согласно фон Нейману, ЭВМ состоит из следующих основных блоков:

– устройства ввода/вывода информации;

– память компьютера;

– процессор, состоящий из устройства управления (УУ) и арифметико-логического устройства (АЛУ).

Машины, построенные на этих принципах, называются ФОН-НЕЙМАНОВСКИМИ

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

К функциям памяти относятся:

– приём информации из других устройств;

– запоминание информации;

– выдача информации по запросу в другие устройства машины.

Функции процессора:

– обработка данных по заданной программе путем выполнения арифметических и логических операций;

– программное управление работой устройств компьютера.

Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством (АЛУ), а другая его часть, выполняющая функции управления устройствами, называется устройством управления (УУ). Обычно эти два устройства выделяются условно, конструктивно они не разделены.

В составе процессора имеется ряд специализированных дополнительных ячеек памяти, называемых регистрами.

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

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

Регистр представляет собой совокупность триггеров, связанных друг с другом определённым образом общей системой управления.

Существует несколько типов регистров (рис. 1.1), отличающихся видом выполняемых операций:.

– сумматор – регистр АЛУ, участвующий в выполнении каждой операции;

– счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;

– регистр команд – регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные – для хранения кодов адресов операндов.

Рисунок 1.1

Схема сопряжения регистров процессора

АРХИТЕКТУРА ТЕХНИЧЕСКИХ СРЕДСТВ

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

Микропроцессор

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

Микропроцессор, использованный в IBM/PC, был разработан и создан фирмой «Интел». Принципиальное отличие IBM/PC от персональных компьютеров предыдущего поколения заключается в использовании 16-разрядного микропроцессора. До появления IBM/PC наиболее популярные персональные компьютеры строились на базе 8-разрядных микропроцессоров.

Различия между 8- и 16-разрядными микропроцессорами состоит в том, что 8-разрядные процессоры могут манипулировать данными, состоящими из 8 бит, а 16-разрядные процессоры могут работать и 16-разрядными данными. Основное преимущество 16-разрядных процессоров перед 8-разрядными заключается в значительном повышении их быстродействия, мощности и удобства их набора команд. Кроме того, существенно увеличивается объем адресуемой памяти. Большинство 8-разрядных процессоров может использовать не более 64К памяти, что значительно уменьшает возможности эффективного использования персональных компьютеров. Процессоры 8088 и 8086, используемые в IBM/PC, позволяют адресовать 1024К.

Функциональное назначение

Сигналы синхронизации работы системы обеспечиваются генератором 8284А. Эти сигналы используются всеми элементами компьютера и задают длительность операций. С тактовым генератором связан таймер 8255А-5, использующийся для поддержки интерфейса накопителя на кассетной магнитной ленте и встроенного динамика.

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

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

X-терминалы

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

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

Типовой X-терминал (рис.3.1) включает следующие элементы:

– экран высокого разрешения – обычно размером от 14 до 21 дюйма по диагонали;

– микропроцессор на базе Motorola 68xxx или RISC-процессор типа Intel i960, MIPS R3000 или AMD29000;

– отдельный графический сопроцессор в дополнение к основному процессору, поддерживающий двухпроцессорную архитектуру, которая обеспечивает более быстрое рисование на экране и прокручивание экрана;

– базовые системные программы, на которых работает система X-Windows и выполняются сетевые протоколы;

– программное обеспечение сервера X11.

– переменный объем локальной памяти (от 2 до 8 Мбайт) для дисплея, сетевого интерфейса, поддерживающего сетевые протоколы передачи данных.

– порты для подключения клавиатуры и мыши.

Рисунок 3.1

Схема работы X-терминала

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

Минимальный объем требуемой для работы памяти X-терминала составляет 1 Мбайт. В зависимости от функциональных возможностей изделия оперативная память может расширяться до 32 Мбайт и более.

Оснащенный стандартной системой X-Windows, X-терминал может отображать на одном и том же экране множество приложений одновременно. Каждое приложение может выполняться в своем окне, а пользователь может изменять размеры окон, их месторасположение и манипулировать ими в любом месте экрана.

Серверы

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

С другой стороны, существует классификация серверов, определяющаяся масштабом сети, в которой они используются: сервер рабочей группы, сервер отдела или сервер масштаба предприятия (корпоративный сервер). Эта классификация весьма условна. Например, размер группы может меняться в диапазоне от нескольких человек до нескольких сотен человек, а сервер отдела обслуживать от 20 до 150 пользователей. Очевидно в зависимости от числа пользователей и характера решаемых ими задач требования к составу оборудования и программного обеспечения сервера, к его надежности и производительности сильно варьируются.

Файловые серверы небольших рабочих групп (не более 20-30 человек) проще всего реализуются на платформе персональных компьютеров и программном обеспечении Novell NetWare. Файл-сервер, в данном случае, выполняет роль центрального хранилища данных. Серверы прикладных систем и высокопроизводительные машины для среды «клиент-сервер» значительно отличаются требованиями к аппаратным и программным средствам.

Скорость процессора для серверов с интенсивным вводом/выводом некритична. Они должны быть оснащены достаточно мощными блоками питания для возможности установки дополнительных плат расширения и дисковых накопителей. Желательно применение устройства бесперебойного питания. Оперативная память обычно имеет объем не менее 128 Мбайт, что позволит операционной системе использовать большие дисковые кэши и увеличить производительность сервера. При наличии одного сегмента сети и 10-20 рабочих станций пиковая пропускная способность сервера ограничивается максимальной пропускной способностью сети. В этом случае замена процессоров или дисковых подсистем более мощными не увеличивают производительность, так как узким местом является сама сеть. Поэтому важно использовать хорошую плату сетевого интерфейса.

Современные серверы характеризуются:

– наличием двух или более центральных процессоров;

– многоуровневой шинной архитектурой, в которой высокоскоростная системная шина связывает между собой несколько процессоров и оперативную память, а также множество стандартных шин ввода/вывода, размещенных в том же корпусе;

– поддержкой технологии дисковых массивов RAID;

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

Мейнфреймы

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

Главным недостатком мейнфреймов в настоящее время остается относительно низкое соотношение производительность/стоимость.

Кластерные архитектуры

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

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

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

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

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

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

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

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

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

Расширяемость. Увеличение вычислительной мощности кластера достигается подключением к нему дополнительных компьютеров. Дополнительные накопители на магнитных дисках и магнитных лентах становятся доступными для всех компьютеров, входящих в кластер.

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

1) Симметричная многопроцессорная архитектура с общей памятью (Shared Memory SMP Architecture). Эта архитектура (рис. 3.3.) поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти.

Рисунок 3.3.

Симметричная многопроцессорная архитектура с общей памятью

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

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

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

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

СИСТЕМА ПРЕРЫВАНИЙ

Общие сведения

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

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

Прерывания могут быть внешними и внутренними .

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

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

– ненормальное внутреннее состояние микропроцессора, возникшее при обработке некоторой команды программы;

– обработка машинной команды «int xx». Такой тип прерываний называется программным. Это – планируемые прерывания, так как с их помощью программист обращается в нужное для него время за обслуживанием своих запросов либо к операционной системе, либо к BIOS, либо к собственным программам обработки прерываний.

Обработка прерываний.

Микропроцессоры Intel имеют два режима работы – реальный и защищенный. В этих режимах обработка прерываний осуществляется принципиально разными методами.

Рассмотрим обработку прерываний в реальном режиме.

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

К аппаратным средствам системы прерываний относятся

– выводы микропроцессора

INTR – вывод для входного сигнала внешнего прерывания. На этот вход поступает выходной сигнал от микросхемы контроллера прерываний 8259А;

INTA – вывод микропроцессора для выходного сигнала подтверждения получения сигнала прерывания микропроцессором. Этот выходной сигнал поступает на одноименный вход INTA микросхемы контроллера прерываний 8259А;

NMI – вывод микропроцессора для входного сигнала немаскируемого прерывания;

– микросхема программируемого контроллера прерываний 8259А. Она предназначена для фиксирования сигналов прерываний от восьми различных внешних устройств: таймера, клавиатуры, магнитных дисков и т. д. Обычно используют две последовательно соединенные микросхемы 8259A. В результате такого соединения количество возможных источников внешних прерываний возрастает до 15.

К программным средствам системы прерываний реального режима относятся:

– таблица векторов прерываний, в которой в определенном формате, зависящем от режима работы микропроцессора, содержатся указатели на процедуры обработки соответствующих прерываний;

– следующие флаги в регистре флагов flags\eflags:

IF (Interrupt Flag) – флаг прерывания. Предназначен для так называемого маскирования (запрещения) аппаратных прерываний, то есть прерываний по входу INTR. На обработку прерываний остальных типов флаг IF влияния не оказывает. Если IF=1, микропроцессор обрабатывает внешние прерывания, если IF = 0, микропроцессор игнорирует сигналы на входе INTR;

TF (Trace Flag) - флаг трассировки. Единичное состояние флага TF переводит микропроцессор в режим покомандной работы. В режиме покомандной работы после выполнения каждой машинной команды в микропроцессоре генерируется внутреннее прерывание с номером 1, и далее следуют действия в соответствии с алгоритмом обработки данного прерывания;

– машинные команды микропроцессора: int, into, iret, cli, sti ().

Микросхема контроллера прерываний выполняет следующие функции:

– фиксирование запросов на обработку прерывания от восьми источников, формирование единого запроса на прерывание и подача его на вход INTR микропроцессора;

– формирование номера вектора прерывания и выдача его на шину данных;

– организация приоритетной обработки прерываний;

– запрещение (маскирование) прерываний с определенными номерами.

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

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

1) Режим вложенных прерываний. В этом режиме каждому входу (уровню) irq0...irq7 присваивается фиксированное значение приоритета, причем уровень irq0 имеет наивысший приоритет, а irq7 - наименьший. Приоритетность прерываний определяет их право на прерывание обработки менее приоритетного прерывания более приоритетным (при условии, конечно, что IF=1).

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

3) Режим адресуемых приоритетов. Программист или система самостоятельно могут назначить уровень прерывания с наивысшим приоритетом.

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

ИЕРАРХИЯ ПАМЯТИ

В основе реализации иерархии памяти современных компьютеров лежат два принципа: принцип локальности обращений и соотношение стоимость/производительность.

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

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

Иерархия памяти обычно состоит из многих уровней, но в каждый момент времени мы имеем дело только с двумя близлежащими уровнями. Минимальная единица информации, которая может либо присутствовать, либо отсутствовать в двухуровневой иерархии, называется блоком. Размер блока может быть либо фиксированным, либо переменным. Если этот размер зафиксирован, то объем памяти является кратным размеру блока.

Успешное или неуспешное обращение к более высокому уровню называются соответственно попаданием или промахом .

Попадание – есть обращение к объекту в памяти, который найден на более высоком уровне, в то время как промах означает, что он не найден на этом уровне.

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

Чтобы описать некоторый уровень иерархии памяти надо ответить на следующие четыре вопроса.

1) Где может размещаться блок на верхнем уровне иерархии? (размещение блока).

2) Как найти блок, когда он находится на верхнем уровне? (идентификация блока).

3) Какой блок должен быть замещен в случае промаха? (замещение блоков).

4) Что происходит во время записи? (стратегия записи).

Организация кэш-памяти

Cегодня кэш-память имеется практически в любом компьютере. Как правило, конструктивно современная кэш-память неотделима от процессора

Общие положения

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

Задержка памяти традиционно оценивается двумя параметрами: временем доступа (access time) и длительностью цикла памяти (cycle time).

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

Длительность цикла памяти определяется минимальным временем между двумя обращениями к памяти.

Полупроводниковая оперативная память в настоящее время делится на статическое ОЗУ (SRAM) и динамическое ОЗУ (DRAM). (Random Access Memory – запоминающее устройство с произвольной выборкой).

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

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

Память, основанная на триггерах, называется статической (SRAM).

Принцип устройства DRAM следующий: система металл-диэлектрик-полупроводник способна работать как конденсатор, т.е. способна некоторое время держать на себе электрический заряд. Обозначив заряженное состояние как 1 и незаряженное как 0, получим ячейку памяти емкостью 1 бит. Поскольку заряд на конденсаторе рассеивается через некоторый промежуток времени, то его необходимо периодически подзаряжать (регенерировать), считывая и вновь записывая в него данные. Из-за этого и возникло понятие «динамическая» для этого вида памяти.

Статическое ОЗУ – дорогой и неэкономичный вид ОЗУ, поэтому его используют в основном для кэш-памяти и в регистрах микропроцессорах.

Развитие оперативной памяти

Динамическое ОЗУ со времени своего появления прошло несколько стадий роста. Вначале микросхемы динамического ОЗУ производились в DIP-корпусах. Затем их сменили модули, состоящие из нескольких микросхем: SIPP, SIMM и, наконец, DIMM и RIMM. Рассмотрим эти разновидности поподробнее.

1) DIP- корпус – это самая древняя реализация DRAM. Обычно это маленький черный корпус из пластмассы, по обеим сторонам которого располагаются металлические контакты.

Микросхемы (по-другому, чипы) динамического ОЗУ устанавливались так называемыми банками. Банки бывают на 64, 256 Кбайт, 1 и 4 Мбайт. Каждый банк состоит из девяти отдельных одинаковых чипов. Из них восемь чипов предназначены для хранения информации, а девятый чип служит для проверки четности остальных восьми микросхем этого банка. Чипы памяти имели емкость 64 Кбит, 256 Кбит, 1 и 4 Мбит.

Памятью с DIP-корпусами комплектовались персональные компьютеры с микропроцессорами i8086/88, i80286 и, частично, i80386SX/DX. Установка и замена этого вида памяти была сложной задачей. Поэтому уже в компьютерах с процессором i80386DX эти микросхемы стали заменять памяти SIPP и SIMM.

2) SIPP-модули представляют собой маленькие платы с несколькими напаянными микросхемами DRAM.

SIPP является сокращением слов Single Inline Package. SIPP-модули соединяются с системной платой с помощью 30 контактных штырьков, которые вставляются в соответствующую панель системной платы. Модули SIPP имели определенные вырезы, которые не позволяли вставить их в разъемы неправильным образом.

3) SIMM-модули .

SIMM расшифровывается как Single Inline Memory Module (Модуль памяти с однорядным расположением выводов.) Модули SIMM могут иметь объем 256 Кбайт, 1, 2, 4, 8, 16 и 32 Мбайт. Соединение SIMM-модулей с системной платой осуществляется с помощью колодок. Модуль вставляется в пластмассовую колодку под углом 70 градусов, а потом зажимается пластмассовым держателем. При этом плата встает вертикально. Специальные вырезы на модуле памяти не позволяют поставить их неправильным образом.

Модули SIMM для соединения с системной платой имеют позолоченные полоски (пины).

SIMM-модули в своем развитии прошли два этапа. Первыми представителями SIMM-модулей были 30-пиновые SIMM. Их максимальная частота работы – 29 МГц. Стандартным же временем доступа к памяти считалось 70 нс. Эти модули уже с трудом работали на компьютерах с микропроцессорами i80486DX2, и были вытеснены сначала 72-пиновыми FPM (Fast Page Mode) DRAM, а затем EDO (Extended Data Output) RAM.

SIMM EDO RAM имеют только 72 пина и могут работать на частоте до 50 МГц. Этими модулями памяти оснащались компьютеры с процессорами Intel 80486DX2/DX4, Intel Pentium, Pentium Pro и Pentium MMX, а также AMD 80586 и K5.

В каждой области науки и техники существуют некоторые фундаментальные идеи или принципы, которые определяют ее содержание и развитие. В компьютерной науке роль таких фундаментальных идей сыграли принципы, сформулированные независимо друг от друга - американским математиком и физиком Джоном фон Нейманом(1903-1957) и советским ученым Сергеем Лебедевым(1902-1974). Эти принципы определяют основные организации компьютера.

Считается, что первый электронный компьютер ЭНИАК был изготовлен в США в 1946 году. ЭНИАК состоял из 18000 электронных ламп и 1500 реле и весил 30 тонн. Он и мел 20 регистров, каждый из которых мог содержать 10-разрядное десятичное число.Блестящий анализ сильных и слабых сторон проекта ЭНИАК был дан в отчете Принстонского института перспективных исследований «Предварительное обсуждение логического конструирование электронного вычислительного устройства» (июнь 1946 года). Этот отчет, составленный выдающимся американским математиком Джоном фон Нейманом и его коллегами по Принстонскому институту Г.Голдстайном и А.Берксом, представлял проект нового электронного компьютера. Идеи, высказанные в этом отчете, известны под названием «Неймановских Принципов».

Говоря об основоположниках теоретической информатики, нельзя не упомянуть о двух научных достижениях: алгебре логики и теории алгоритмов. Алгебра логики была разработана в середине 19-го века английским математиком Джорджем Булем и рассматривалась им в качестве метода математизации формальной логики. Разработка электронных компьютеров на двухпозиционных электронных элементах создала возможным широкое использование «булевой логики» для проектирования компьютерных схем. В первой половине 30-х годов 20-гостолетия появились математические работы, в которых была доказана принципиальная возможность решения с помощью автоматов любой проблемы, поддающейся алгоритмический обработке. Данное доказательство содержалось в опубликованных в 1936 году работах английского математика Э.Поста. (Джордж Буль (1815-1864), Алан Тьюринг (1912-1954)).

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

Сущность «Неймановских Принципов» состояла в следующем:

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

2.Компьютеры на электронных элементах должны работать не в десятичной, а в двоичной системе счисления.

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

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

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

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

Какие достижения в информатике Джон фон Нейман совершил в ХХ веке, Вы узнаете из этой статьи.

Перед тем, как говорить о его достижениях в информатике, стоит рассказать о первых шагах ученого на пути науки. Его первая работа «К введению трансфинитных ординальных чисел» увидела свет в 1923 году на страницах Сегедского университета, где он обучался. В своей докторской диссертации он разработал систему аксиом . В 1925 году Нейман защитил диссертацию на тему «Аксиоматическое построение теории множеств» в Будапештском университете и получил диплом инженера-химика от цюрихского университета. В 1927 году он стал приват-доцентом Берлинского университета, а через два года и Гамбургского университета. В 1931 году он получил должность профессора в Пристонском университете.

Джон фон Нейман достижения в информатике

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

Джон фон Нейман предложил использовать электростатическую запоминающую систему вместо линии задержки как элементы памяти. Новосозданную машину назвали ДЖОНИАК, на честь Неймана.

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

Кроме того, что он участвовал в создании компьютера, ученый был первым кто сформулировал принципы работы ЭВМ. Принципы сформулированные Джоном фон Нейманом:

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

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

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

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

Джон фон Нейман. Биография

Янош Лайош Нейман родился старшим из трёх сыновей в состоятельной еврейской семье в Будапеште, бывшем в те времена городом Австро-Венгерской империи. Его отец, Макс Нейман (венг. Neumann Miksa, 1870-1929), переселился в Будапешт из провинциального городка Печ в конце 1880-х годов, получил степень доктора от юриспруденции и работал адвокатом в банке. Мать, Маргарет Канн (венг. Kann Margit, 1880-1956), была домохозяйкой и старшей дочерью (во втором браке) преуспевающего коммерсанта Якоба Канна - партнёра в фирме «Kann-Heller», специализирующейся на торговле мельничными жерновами и другим сельскохозяйственным оборудованием.

Янош, или просто Янси, был необыкновенно одарённым ребёнком. Уже в 6 лет он мог разделить в уме два восьмизначных числа и беседовать с отцом на древнегреческом. Янош всегда интересовался математикой, природой чисел и логикой окружающего мира. В восемь лет он уже хорошо разбирался в математическом анализе. В 1911 году он поступил в Лютеранскую Гимназию. В 1913 году его отец получил дворянский титул, и Янош вместе с австрийским и венгерским символами знатности - приставкой фон (von) к австрийской фамилии и титулом Маргиттаи (Margittai) в венгерском именовании - стал называться Янош фон Нейман или Нейман Маргиттаи Янош Лайош. Во время преподавания в Берлине и Гамбурге его называли Иоганн фон Нейман. Позже, после переселения в 1930-х годах в США, его имя на английский манер изменилось на Джон. Любопытно, что его братья после переезда в США получили совсем другие фамилии: Vonneumann и Newman. Первая, как можно заметить, является "сплавом" фамилии и приставки "фон", вторая же - дословным переводом фамилии с немецкого на английский.

Фон Нейман получил степень доктора философии по математике (с элементами экспериментальной физики и химии) в университете Будапешта в 23 года. Одновременно он изучал химическую инженерию в швейцарском Цюрихе (Макс фон Нейман полагал профессию математика недостаточной для того, чтобы обеспечить надёжное будущее сына). С 1926 по 1930 год Джон фон Нейман был приват-доцентом в Берлине.

В 1930 году фон Нейман был приглашён на преподавательскую должность в американский Принстонский университет. Был одним из первых приглашённых на работу в основанный в 1930 году научно-исследовательский Институт перспективных исследований (англ. Institute for Advanced Study), также располагавшийся в Принстоне, где с 1933 года и до самой смерти занимал профессорскую должность.

В 1936-1938 годах Алан Тьюринг защищал в институте под руководством Алонзо Чёрча докторскую диссертацию. Это случилось вскоре после публикации в 1936 году статьи Тьюринга «О вычислимых числах в применении к проблеме разрешимости» (англ. On Computable Numbers with an Application to the Entscheidungs problem), которая включала в себя концепции логического проектирования и универсальной машины. Фон Нейман, несомненно, был знаком с идеями Тьюринга, однако неизвестно, применял ли он их в проектировании IAS-машины десять лет спустя.

В 1937 году фон Нейман стал гражданином США. В 1938 он был награждён премией имени М. Бохера за свои работы в области анализа.

Фон Нейман был женат дважды. В первый раз он женился на Мариэтте Кёвеши (Mariette Kövesi) в 1930 году. Брак распался в 1937 году, а уже в 1938 он женился на Кларе Дэн (Klara Dan). От первой жены у фон Неймана родилась дочь Марина - в последующем известный экономист.

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

В 1957 году фон Нейман заболел раком кости, возможно, вызванным радиоактивным облучением при исследовании атомной бомбы в Тихом океане или, может быть, при последующей работе в Лос-Аламосе, штат Нью-Мексико (его коллега, пионер ядерных исследований Энрико Ферми, умер от рака желудка в 1954 году). Через несколько месяцев после постановки диагноза фон Нейман умер в тяжёлых мучениях. Рак также поразил его мозг, практически лишив его возможности мыслить. Когда он лежал при смерти в госпитале Вальтера Рида, он шокировал своих друзей и знакомых просьбой поговорить с католическим священником.

История

В середине 1940-х проект компьютера, хранящего свои программы в общей памяти был разработан в Школе электрических разработок Мура (англ. The Moore School of Electrical Engineering) в Университете штата Пенсильвания (англ. The University of Pennsylvania).В процессе работы во время многочисленных дискуссий со своими коллегами Г. Голдстайном и А. Берксом фон Нейман высказал идею принципиально новой ЭВМ. В 1946 г. ученые изложили свои принципы построения вычислительных машин в ставшей классической статье “Предварительное рассмотрение логической конструкции электронно-вычислительного устройства”.В статье убедительно обосновывается использование двоичной системы для представления чисел (нелишне напомнить, что ранее все вычислительные машины хранили обрабатываемые числа в десятичном виде). Авторы убедительно продемонстрировали преимущества двоичной системы для технической реализации, удобство и простоту выполнения в ней арифметических и логических операций (в дальнейшем ЭВМ стали обрабатывать и нечисловые виды информации – текстовую, графическую, звуковую и другие, но двоичное кодирование данных по-прежнему составляет информационную основу любого современного компьютера). Еще одной поистине революционной идеей, значение которой трудно переоценить, является предложенный Нейманом принцип “хранимой программы”. Первоначально программа задавалась путем установки перемычек на специальной коммутационной панели. Нейман первым догадался, что программа может также храниться в виде набора нулей и единиц, причем в той же самой памяти, что и обрабатываемые ею числа. Отсутствие принципиальной разницы между программой и данными дало возможность ЭВМ самой формировать для себя программу в соответствии с результатами вычислений.

Архитектура фон Неймана решала проблемы, свойственные компьютеру «ЭНИАК», который создавался в то время, за счёт хранения программы компьютера в его собственной памяти. Информация о проекте стала доступна другим исследователям вскоре после того, как в 1946 году было объявлено о создании «Эниака». По плану предполагалось осуществить проект силами Муровской школы в машине EDVAC, однако до 1951 года EDVAC не был запущен из-за технических трудностей в создании надёжной компьютерной памяти. Другие научно-исследовательские институты, получившие копии проекта, сумели решить эти проблемы гораздо раньше группы разработчиков из Муровской школы и реализовали их в собственных компьютерных системах. Первыми пятью компьютерами, в которых были реализованы основные особенности архитектуры фон Неймана, были:

Манчестерский Марк I. Прототип - Манчестерская малая экспериментальная машина. Университет Манчестера (англ. The University of Manchester), Великобритания, 21 июня 1948 года;

EDSAC. Кембриджский университет (англ. The Cambridge University), Великобритания, 6 мая 1949 года;

BINAC. США, апрель или август 1949 года;

CSIR Mk 1. Австралия, ноябрь 1949 года;

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

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

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

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

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

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

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

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

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

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

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

Машина фон Неймана

В соответствии с принципами фон Неймана компьютер состоит из арифметико-логического устройства - АЛУ (англ. ALU, Arithmetic and Logic Unit), выполняющего арифметические и логические операции; устройства управления, предназначенного для организации выполнения программ; запоминающих устройств (ЗУ), в т.ч. оперативного запоминающего устройства (ОЗУ) и внешнего запоминающего устройства (ВЗУ); внешних устройств для ввода-вывода данных. Фон-неймановская архитектура компьютера считается классической, на ней построено большинство компьютеров. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных.

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

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

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

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

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

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

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

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