Один из принципов джона фон неймана гласит. Архитектура компьютера. Принципы фон Неймана. Логические узлы компьютера. Выполнение программы. Принципы Джона фон Нейман

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

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

Челябинск

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

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

В основу построения подавляющего большинства ЭВМ положены следующие общие принципы, сформулированные в 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.

Архитектура ЭВМ и принципы фон Неймана

Термин «архитектура» используется для описания принципа действия, конфигурации и взаимного соединения основных логических узлов ЭВМ. Архитектура – это многоуровневая иерархия аппаратно-программных средств, из которых строится ЭВМ.

Основы учения об архитектуре ЭВМ заложил выдающийся американский математик Джон фон Нейман. Первая ЭВМ "Эниак" была создана в США в 1946 г. В группу создателей входил фон Нейман , который и предложил основные принципы построения ЭВМ : переход к двоичной системе счисления для представления информации и принцип хранимой программы.

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

Основные принципы построения ЭВМ :

1. Любую ЭВМ образуют три основных компонента: процессор, память и устр. ввода-вывода (УВВ).

2. Информация, с которой работает ЭВМ, делится на два типа:

    набор команд по обработке (программы); данные подлежащие обработке.

3. И команды, и данные вводятся в память (ОЗУ) – принцип хранимой программы .

4. Руководит обработкой процессор, устройство управления (УУ) которого выбирает команды из ОЗУ и организует их выполнение, а арифметико-логическое устройство (АЛУ) проводит арифметические и логические операции над данными.


5. С процессором и ОЗУ связаны устройства ввода-вывода (УВВ).

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

Внешнее запоминающее устройство (ВЗУ)

Рис. 1. Архитектура ЭВМ Конец формы,

Оперативное запоминающее устройство (ОЗУ)

построенной на принципах

фон Неймана

- направление потоков информации; - направление управляющих сигналов от процессора к остальным узлам ЭВМ

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

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

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

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

Как работает системная шина? Мы уже говорили, что единичные и нулевые биты существуют только в головах программистов. Для процессора реальны только напряжения на его контактах. Каждый контакт соответствует одному биту, и процессору нужно различать только две градации напряжения: есть-нет, высокое-низкое. Поэтому адрес для процессора – это последовательность напряжений на специальных контактах, называемых шиной адреса. Можно представить себе, то после того, как на контактах шины адреса выставляются напряжения, на контактах шины данных появляются напряжения, кодирующие хранящееся по указанному адресу число. Эта картина очень грубая, потому что для извлечения данных из памяти необходимо время. Чтобы не запутаться, работой процессора управляет специальный тактовый генератор. Он вырабатывает импульсы, которые делят работу процессора на отдельные шажки. Единицей времени процессора служит один такт, т. е. промежуток между двумя импульсами тактового генератора.

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

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


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

Рис. 2. Схема устройства компьютера, построенного по магистральному принципу

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

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

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

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

Связь компьютера с внешними устройствами осуществляется через порты – специальные разъёмы на задней панели компьютера. Различают последовательные и параллельные порты. Последовательные (COM – порты) служат для подключения манипуляторов, модема и передают небольшие объёмы информации на большие расстояния. Параллельные (LPT - порты) служат для подключения принтеров, сканеров и передают большие объёмы информации на небольшие расстояния. В последнее время широкое распространение получили последовательные универсальные порты (USB), к которым можно подключать различные устройства.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· Принцип двоичного кодирования

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

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

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

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

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

· Принцип последовательного программного управления

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

· Принцип жесткости архитектуры

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

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

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

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

·

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

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

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


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

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

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

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

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

16)Структура и архитектура вычислительной системы

Система (от греческого systema - целое, составленное из частей соединение) - это совокупность элементов, взаимодействующих друг с другом, образующих определенную целостность, единство.
Вычислительная система - это совокупность одного или нескольких компьютеров или процессоров, программного обеспечения и периферийного оборудования, организованная для совместного выполнения информационно-вычислительных процессов.
Отличительной особенностью ВС по отношению к ЭВМ является наличие в них нескольких вычислителей, реализующих параллельную обработку.
Основные принципы построения, закладываемые при создании ВС:
возможность работы в разных режимах;
модульность структуры технических и программных средств, что позволяет совершенствовать и модернизировать вычислительные системы без коренных их переделок;
унификация и стандартизация технических и программных решений;
иерархия в организации управления процессами;
способность систем к адаптации, самонастройке и самоорганизации;
обеспечение необходимым сервисом пользователей при выполнении вычислений
По назначению ВС делят на
универсальные,
проблемно-ориентированные
специализированные.
Универсальные предназначаются для решения широкого класса задач. Проблемно-ориентированные используются для решения определенного круга задач в сравнительно узкой сфере. Специализированные ориентированы на решение узкого класса задач
По типу ВС различаются на
многомашинные
многопроцессорные.
Вычислительная система может строиться на базе либо целых компьютеров (многомашинная ВС), либо на базе отдельных процессоров (многопроцессорная ВС).
По типу ЭВМ или процессоров различают
однородные – строятся на базе однотипных компьютеров или процессоров.
неоднородные системы – включает в свой состав различные типы компьютеров или процессоров.
Территориально ВС делятся на:
сосредоточенные (все компоненты располагаются в непосредственной близости друг от друга);
распределенные (компоненты могут располагаться на значительном расстоянии, например, вычислительные сети);
По методам управления элементами ВС различают
централизованные,
децентрализованные
со смешанным управлением.

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

· Классификация базируется на понятии потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. На основе числа потоков команд и потоков данных Флинн выделяет четыре класса архитектур: SISD,MISD,SIMD,MIMD.
SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся, прежде всего, классические последовательные машины, или иначе, машины фон-неймановского типа, например, PDP-11 или VAX 11/780. В таких машинах есть только один поток команд, все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка - как машина CDC 6600 со скалярными функциональными устройствами, так и CDC 7600 с конвейерными попадают в этот класс.
SIMD (single instruction stream / multiple data stream) - одиночный поток команд и множественный поток данных. В архитектурах подобного рода сохраняется один поток команд, включающий, в отличие от предыдущего класса, векторные команды. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Способ выполнения векторных операций не оговаривается, поэтому обработка элементов вектора может производится либо процессорной матрицей, как в ILLIAC IV, либо с помощью конвейера, как, например, в машине CRAY-1.
MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Однако ни Флинн, ни другие специалисты в области архитектуры компьютеров до сих пор не смогли представить убедительный пример реально существующей вычислительной системы, построенной на данном принципе. Ряд исследователей относят конвейерные машины к данному

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

В 1671 году немецкий философ и математик Густав Лейбниц также создает арифмометр на основе зубчатого колеса особенной конструкции — зубчатою колеса Лейбница. Арифмометр Лейбница, как и арифмометры его предшественников, выполнял четыре основных арифметических действия. На этом данный период закончился, и человечество в течение почти полутора веков копило силы и знания для следующего витка эволюции вычислительной техники. XVIII и XIX века были временем, когда бурно развивались различные науки, в том числе математика и астрономия. В них часто возникали задачи, требующие длительных и трудоемких вычислений.

Еще одним известным человеком в истории вычислительной техники стал английский математик Чарльз Бэббидж. В 1823 году Бэббидж начал работать над машиной для вычисления полиномов, но, что более интересно, эта машина должна была, кроме непосредственного производства вычислений, выдавать результаты — печатать их на негативной пластине для фотопечати. Планировалось, что машина будет приводиться в действие паровым двигателем. Из-за технических трудностей Бэббиджу до конца не удалось реализовать свой проект. Здесь впервые возникла идея использовать некоторое внешнее (периферийное) устройство для выдачи результатов вычислений. Отметим, что другой ученый, Шойц, в 1853 году все же реализовал машину, задуманную Бэббиджем (она получилась даже меньше, чем планировалась). Наверное, Бэббиджу больше нравился творческий процесс поиска новых идей, чем воплощение их в нечто материальное. В 1834 году он изложил принципы работы очередной машины, которая была названа им «Аналитической». Технические трудности вновь не позволили ему до конца реализовать свои идеи. Бэббидж смог довести машину лишь до стадии эксперимента. Но именно идея является двигателем научно-технического прогресса. Очередная машина Чарльза Бэббиджа была воплощением следующих идей:

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

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

В разработке этой машины принимала участие графиня Ада Августа Лавлейс, которую считают первой в мире программистом.

Идеи Чарльза Бэббиджа развивались и использовались другими учеными. Так, в 1890 году, на рубеже XX века, американец Герман Холлерит разработал машину, работающую с таблицами данных (первый Excel?). Машина управлялась программой на перфокартах. Она использовалась при проведении переписи населения в США в 1890 году. В 1896 году Холлерит основал фирму, явившуюся предшественницей корпорации IBM. Со смертью Бэббиджа в эволюции вычислительной техники наступил очередной перерыв вплоть до 30-х годов XX века. В дальнейшем все развитие человечества стало немыслимым без компьютеров.

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

За океаном, в Америке, в этот период также шли работы по созданию подобных электромеханических машин. В 1944 году Говард Эйкен спроектировал машину, которую назвали Mark-1 . Она, как и машина Цузе, работала на реле. Но из-за того, что эта машина явно была создана под влиянием работ Бэббиджа, она оперировала с данными в десятичной форме.

Естественно, из-за большого удельного веса механических частей эти машины были обречены.

Четыре поколения ЭВМ

К концу тридцатых годов XX столетия потребность в автоматизации сложных вычислительных процессов сильно возросла. Этому способствовало бурное развитие таких отраслей, как самолетостроение, атомная физика и других. С 1945 года по наши дни вычислительная техника прошла 4 поколения в своём развитии:

Первое поколение

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

Начиная с 1943 года, группа специалистов под руководством Говарда Айткена, Дж. Моучли и П. Эккерта в США начала конструировать вычислительную машину на основе электронных ламп, а не на электромагнитных реле. Эта машина была названа ENIAC (Electronic Numeral Integrator And Computer) и работала она в тысячу раз быстрее, чем «Марк-1». ENIAC содержал 18 тысяч вакуумных ламп, занимал площадь 9х15 метров, весил 30 тонн и потреблял мощность 150 киловатт. ENIAC имел и существенный недостаток – управление им осуществлялось с помощью коммутационной панели, у него отсутствовала память, и для того чтобы задать программу приходилось в течение нескольких часов или даже дней подсоединять нужным образом провода. Худшим из всех недостатков была ужасающая ненадежность компьютера, так как за день работы успевало выйти из строя около десятка вакуумных ламп.

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

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

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

Первые проекты отечественных ЭВМ были предложены С.А. Лебедевым, Б.И. Рамеевым в 1948г. В 1949-51гг. по проекту С.А. Лебедева была построена МЭСМ (малая электронно-счетная машина). Первый пробный пуск макета машины состоялся в ноябре 1950 года, а в эксплуатацию машина была сдана в 1951 году. МЭСМ работала в двоичной системе, с трехадресной системой команд, причем программа вычислений хранилась в запоминающем устройстве оперативного типа. Машина Лебедева с параллельной обработкой слов представляла собой принципиально новое решение. Она была одной из первых в мире и первой на европейском континенте ЭВМ с хранимой в памяти программой.

К ЭВМ 1-го поколения относится и БЭСМ-1 (большая электронно-счетная машина), разработка которой под руководством С.А. Лебедева была закончена в 1952г., она содержала 5 тыс. ламп, работала без сбоев в течение 10 часов. Быстродействие достигало 10 тыс. операций в секунду (Приложение 1).

Почти одновременно проектировалась ЭВМ «Стрела»(Приложение 2) под руководством Ю.Я. Базилевского, в 1953г. она была запущена в производство. Позже появилась ЭВМ «Урал — 1″(Приложение 3), положившая начало большой серии машин «Урал», разработанных и внедренных в производство под руководством Б.И. Рамеева. В 1958г. запущена в серийное производство ЭВМ первого поколения М – 20 (быстродействие до 20 тыс. операций/с).

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

ЭВМ первого поколения являлась ориентация на выполнение арифметических операций. При попытках приспособления для задач анализа они оказывались неэффективными.

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

К концу 50-х годов средства программирования претерпевают принципиальные изменения: осуществляется переход к автоматизации программирования с помощью универсальных языков и библиотек стандартных программ. Использование универсальных языков повлекло возникновение трансляторов.

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

Второе поколение

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

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

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

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

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

Первая бортовая ЭВМ для установки на межконтинентальной ракете – «Атлас» – была введена в эксплуатацию в США в 1955 году. В машине использовалось 20 тысяч транзисторов и диодов, она потребляла 4 киловатта.В 1961 году наземные компьютеры «стретч» фирмы «Бэрроуз» управляли космическими полетами ракет «Атлас», а машины фирмы IBM контролировали полет астронавта Гордона Купера. Под контролем ЭВМ проходили полеты беспилотных кораблей типа «Рейнджер» к Луне в 1964 году, а также корабля«Маринер» к Марсу. Аналогичные функции выполняли и советские компьютеры.

В 1956 г. фирмой IBM были разработаны плавающие магнитные головки на воздушной подушке. Изобретение их позволило создать новый тип памяти – дисковые запоминающие устройства, значимость которых была в полной мере оценена в последующие десятилетия развития вычислительной техники. Первые запоминающие устройства на дисках появились в машинах IBM-305 и RAMAC(Приложение 4). Последняя имела пакет, состоявший из 50 металлических дисков с магнитным покрытием, которые вращались со скоростью 12000 об/мин. На поверхности диска размещалось 100 дорожек для записи данных, по 10000 знаков каждая.

Первые серийные универсальные ЭВМ на транзисторах были выпущены в 1958 году одновременно в США, ФРГ и Японии.

Появляются первые мини-ЭВМ (например, PDP-8(Приложение 5)).

В Советском Союзе первые безламповые машины «Сетунь», «Раздан» и «Раздан-2» были созданы в 1959-1961 годах. В 60-х годах советские конструкторы разработали около 30 моделей транзисторных компьютеров, большинство которых стали выпускаться серийно. Наиболее мощный из них – «Минск-32» выполнял 65 тысяч операций в секунду. Появились целые семейства машин: «Урал», «Минск», БЭСМ.

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

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

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

Третье поколение

Наконец, в третьем поколении ЭВМ (1965-1974) впервые стали использоваться интегральные схемы — целые устройства и узлы из десятков и сотен транзисторов, выполненные на одном кристалле полупроводника (то, что сейчас называют микросхемами). В это же время появляется полупроводниковая память, которая и по всей день используется в персональных компьютерах в качестве оперативной. Приоритет в изобретении интегральных схем, ставших элементной базой ЭВМ третьего поколения, принадлежит американским ученым Д. Килби и Р.Нойсу, сделавшим это открытие независимо друг от друга. Массовый выпуск интегральных схем начался в 1962 году, а в 1964 начал быстро осуществляться переход от дискретных элементов к интегральным. Упоминавшийся ENIAK, размерами 9х15 метров, в 1971 году мог бы быть собран на пластине в 1,5 квадратных сантиметра. Началось перевоплощение электроники в микроэлектронику.

В эти годы производство компьютеров приобретает промышленный размах. Пробившаяся в лидеры фирма IBM первой реализовала семейство ЭВМ — серию полностью совместимых друг с другом компьютеров от самых маленьких, размером с небольшой шкаф (меньше тогда еще не делали), до самых мощных и дорогих моделей. Наиболее распространенным в те годы было семейство System/360 фирмы IBM, на основе которого в СССР была разработана серия ЕС ЭВМ. В 1973 была выпущена первая модель ЭВМ серии ЕС, а с 1975 года появились модели ЕС-1012, ЕС-1032, ЕС-1033, ЕС-1022, а позже более мощная ЕС-1060.

В рамках третьего поколения в США была построена уникальная машина «ИЛЛИАК-4», в составе которой в первоначальном варианте планировалось использовать 256 устройств обработки данных, выполненных на монолитных интегральных схемах. Позднее проект был изменен, из-за довольно высокой стоимости (более 16 миллионов долларов). Число процессоров пришлось сократить до 64, а также перейти к интегральным схемам с малой степенью интеграции. Сокращенный вариант проекта был завершен в 1972 году, номинальное быстродействие «ИЛЛИАК-4» составило 200 миллионов операций в секунду. Почти год этот компьютер был рекордсменом в скорости вычислений.

Еще в начале 60-х появляются первые миникомпьютеры — небольшие маломощные компьютеры, доступные по цене небольшим фирмам или лабораториям. Миникомпьютеры представляли собой первый шаг на пути к персональным компьютерам, пробные образцы которых были выпущены только в середине 70-х годов. Известное семейство миникомпьютеров PDP фирмы Digital Equipment послужило прототипом для советской серии машин СМ.

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

Но и это еще не все — поистине, рубеж 60-х и 70-х годов был судьбоносным временем. В 1969 г. зародилась первая глобальная компьютерная сеть — зародыш того, что мы сейчас называем Интернетом. И в том же 1969 г. одновременно появились операционная система Unix и язык программирования С («Си»), оказавшие огромное влияние на программный мир и до сих пор сохраняющие свое передовое положение.

Четвертое поколение

Очередная смена элементной базы привела к смене поколений. В 70-е годы активно ведутся работы по созданию больших и сверхбольших интегральных схем (БИС и СБИС), которые позволили разместить на одном кристалле десятки тысяч элементов. Это повлекло дальнейшее существенное снижение размеров и стоимости ЭВМ. Работа с программным обеспечением стала более дружественной, что повлекло за собой рост количества пользователей.

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

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

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

Им стал проект по разработке 8-разрядного процессора 8080 (1974 г.). Этот микропроцессор имел довольно развитую систему команд и умел делить числа. Именно он был использован при создании персонального компьютера Альтаир, для которого молодой Билл Гейтс написал один из своих первых интерпретаторов языка BASIC. Наверное, именно с этого момента следует вести отсчет 5-го поколения.

Пятое поколение

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

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

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

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

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

Первые суперкомпьютеры появились уже среди компьютеров второго поколения (1955 — 1964, см. компьютеры второго поколения), они были предназначены для решения сложных задач, требовавших высокой скорости вычислений. Это LARC фирмы UNIVAC, Stretch фирмы IBM и «CDC-6600″ (семейство CYBER) фирмы Control Data Corporation, в них были применены методы параллельной обработки (увеличивающие число операций, выполняемых в единицу времени), конвейеризация команд (когда во время выполнения одной команды вторая считывается из памяти и готовится к выполнению) и параллельная обработка при помощи процессора сложной структуры, состоящего из матрицы процессоров обработки данных и специального управляющего процессора, который распределяет задачи и управляет потоком данных в системе. Компьютеры, выполняющие параллельно несколько программ при помощи нескольких микропроцессоров, получили название мультипроцессорных систем. До середины 80-х годов в списке крупнейших производителей суперкомпьютеров в мире были фирмы Sperry Univac и Burroughs. Первая известна, в частности, своими мэйнфреймами UNIVAC-1108 и UNIVAC-1110, которые широко использовались в университетах и государственных организациях.

После слияния Sperry Univac и Burroughs объединенная фирма UNISYS продолжала поддерживать обе линии мэйнфреймов с сохранением совместимости снизу вверх в каждой. Это является ярким свидетельством непреложного правила, поддерживавшего развитие мэйнфреймов — сохранение работоспособности ранее разработанного программного обеспечения.

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

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

В 1946 году Д. фон Нейман, Г. Голдстайн и А. Беркс в своей совместной статье изложили новые принципы построения и функционирования ЭВМ. В последствие на основе этих принципов производились первые два поколения компьютеров. В более поздних поколениях происходили некоторые изменения, хотя принципы Неймана актуальны и сегодня. По сути, Нейману удалось обобщить научные разработки и открытия многих других ученых и сформулировать на их основе принципиально новые принципы:
1. Принцип представления и хранения чисел.
Для представления и хранения чисел используется двоичная система счисления. Преимущество перед десятичной системой счисления заключается в том, что бит легко реализуется, память на битах большого объема достаточно дешевая, устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.
2. Принцип программного управления ЭВМ.
Работой ЭВМ управляет программа, состоящая из набора команд. Команды выполняются последовательно друг за другом. Команды обрабатывают данные, хранимые в памяти компьютера.
3. Принцип хранимой программы.
Память компьютера используется не только для хранения данных, но и программ. При этом и команды программы и данные кодируются в двоичной системе счисления, т.е. их способ записи одинаков. Поэтому в определенных ситуациях над командами можно выполнять те же действия, что и над данными.
4. Принцип прямого доступа к памяти.
Ячейки оперативной памяти ЭВМ имеют последовательно пронумерованные адреса. В любой момент можно обратиться к любой ячейке памяти по ее адресу.
5. Принцип ветвления и циклических вычислений.
Команды условного перехода позволяют реализовать переход к любому участку кода, обеспечивая тем самым возможность организации ветвления и повторного выполнения некоторых участков программы.
Самым главным следствием этих принципов можно назвать то, что теперь программа уже не была постоянной частью машины (как например, у калькулятора). Программу стало возможно легко изменить. А вот аппаратура, конечно же, остается неизменной, и очень простой. Для сравнения, программа компьютера ENIAC (где не было хранимой в памяти программы) определялась специальными перемычками на панели. Чтобы перепрограммировать машину (установить перемычки по-другому) мог потребоваться далеко не один день.
И хотя программы для современных компьютеров могут разрабатываться месяцами, однако их инсталляция (установка на компьютере) занимает даже для больших программ несколько минут. Такая программа может быть установлена на миллионах компьютеров, и работать на каждом из них годами.

Приложения

Приложение 1

Приложение 2

ЭВМ “Урал”

Приложение 3

ЭВМ “Стрела”

Приложение 4

IBM-305 и RAMAC

Приложение 5

мини-ЭВМ PDP-8

Приложение 6

Литература:

1) Бройдо В.Л. Вычислительные системы, сети и телекоммуникации. Учебник для вузов. 2-е изд. – СПб.: Питер,2004

2) Жмакин А.П. Архитектура ЭВМ. – СПб.: БХВ — Петербург, 2006

3) Семененко В.А. и др. Электронные вычислительные машины. Учеб.пособие для ПТУ – М.: Высшая школа, 1991