microbik.ru
1
Принципы построения и архитектура ЭВМ


  1. Принципы построения ЭВМ

  2. Устройство ЭВМ

  3. Классификация ЭВМ

  4. Уровни организации ЭВМ

  5. Основные устройства ЭВМ




  1. Принципы построения ЭВМ

C 40-х годов 20 века технологии производства цифровых вычислительных машин значительно усовершенствованы. Благодаря развитию интегральной технологии их характеристики существенно увеличились, а стоимость значительно снизилась. Однако базовая структура и принципы работы ВМ остались неизменными. Таким образом, в основе построения большинства современных компьютеров положены общие принципы функционирования универсальных вычислительных устройств, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.

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

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

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

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

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

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

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

Машина Джона фон Неймана– это вычислительная система, построенная на следующих принципах: Основные блоки: АЛУ, УУ, ЗУ, УВВ / Программы и данные: хранятся в одной и той же памяти / ЦП=АЛУ + УУ / Внутренний код машины: двоичный

архитектура машины фон неймана

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

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

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

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

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

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

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

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


  1. Устройство компьютера


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

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

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






ЭВМ

ВС

Обработка информации

Последовательная

Параллельная

Структура устройств

Фиксированная

Программируемая

Устройства

Неоднородные

Однородные


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


    1. Структура ЭВМ


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

Технические и эксплуатационные характеристики ЭВМ:

    • быстродействие и производительность,

    • показатели надежности, достоверности, точности,

    • емкость оперативной и внешней памяти,

    • габаритные размеры,

    • стоимость технических и программных средств,

    • особенности эксплуатации и др.

Характеристики и состав функциональных модулей базовой конфигурации ЭВМ:

    • Возможность расширения состава технических и программных средств

    • Возможность изменения структуры

Состав программного обеспечения ЭВМ и сервисных услуг:

    • операционная система или среда

    • пакеты прикладных программ

    • средства автоматизации программирования

      1. Быстродействие


Быстродействие ЭВМ - характеристика, определяемая:

  • скоростью работы процессора

  • пропускной способностью шины данных или скоростью обмена с внешними накопителями

  • частотой смены изображения на экране дисплея


Быстродействие процессора - скорость выполнения операций процессором. Измеряется:

  • скоростью выполнения команд над числами с плавающей запятой (в флопсах);

  • скоростью выполнения команд "регистр-регистр";

  • тактовой частотой процессора.


Флопс (FLoating-point Operation Per Second (FLOPS)) – единица измерения быстродействия компьютера.

1 флопс = количество производимых процессором операций с плавающей точкой в секунду.


      1. Производительность


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


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




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


Внезапный отказ - механическое разрушение элементов;

Постепенный отказ - деградация параметров ЭВМ.


      1. Точность ЭВМ – это возможность различать почти равные значения.


Точность получения результатов обработки в основном определяется разрядностью ЭВМ, которая в зависимости от класса ЭВМ может составлять 32, 64 и 128 двоичных разрядов.


Требуемая точность

Тип операции

Степень точности

8- и 16-разрядные двоичные коды

  1. обработка текстов и документов

  2. управление технологическими процессами

Низкая

32-, 64- разрядные двоичные коды и даже более

выполнение сложных математических расчетов

Высокая


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


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


Возможные методы контроля достоверности:

  • Решение эталонных задач

  • Повторные расчеты

  • Контрольные решения на других ЭВМ и сравнение результатов.




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




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


Архитектура включает:

  • описание пользовательских возможностей

  • программирования;

  • описание системы команд и системы адресации;

  • организацию памяти;


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

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

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

Поколение отражает изменения элементной базы компьютеров (лампы, транзисторы, микросхемы и

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

Поколения компьютеров:

1. 1947-55, электронные лампы (Элементная база – электронные лампы. Небольшой набор команд и примитивная схема процессора. Небольшой объем оперативной памяти, низкое быстродействие (103 операций/сек). Устройства ввода – перфокарты. Отсутствие программного обеспечения. Огромные размеры. Высокая стоимость.)

2. 1955-65, транзисторные элементы (Элементная база – транзисторы, оперативная память на магнитных сердечниках. Быстродействие до 105 операций/сек., объем оперативной памяти – 104 слов. Появление языков программирования высокого уровня, трансляторов и операционных систем. Устройства ввода-вывода данных – магнитные ленты, барабаны и диски.)

3. 1960-70, интегральные схемы (Элементная база – интегральные схемы. Быстродействие до 106 операций/сек., объем оперативной памяти – 105 слов. Появление понятий архитектуры и программной совместимости компьютеров. IBM-360, IBM-370, ЕС ЭВМ, СМ ЭВМ)

4. 1970-…, большие интегральные схемы (Элементная база – интегральные схемы. Быстродействие до 108 операций/сек., объем оперативной памяти – 102 Мб. Персональные компьютеры, компьютерные

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

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


  1. Классификация ЭВМ

Существуют различные подходы к классификации ВС. Мы с вами рассмотрели классификацию по архитектуре ВС. Рассмотрим теперь классификацию ВС по предназначению:

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

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

  • Функции сервера: Хранение данных и кода программы. Обслуживание сети и предоставление собственных ресурсов всей сети.




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


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

Плюсы:

низкая стоимость разработки;

невысокая стоимость обновления и изменения ПО.
Минусы:

низкая производительность (зависит от производительности сети, сервера, клиента);

плохая возможность подключения новых клиентов.
Web-сервер Программное обеспечение, осуществляющее взаимодействие по HTTP протоколу с браузерами: прием запросов; поиск указанных файлов и передача их содержимого; запуск CGI-приложений и передача клиенту результатов их выполнения.
Серверы электронной почты. Позволяют пользователю передавать и получать сообщения. Работают по протоколу SMTP. SMTP-сервер принимает сообщение и доставляет его в локальный почтовый ящик пользователя или на другой SMTP-сервер (сервер назначения или промежуточный).

  1. Уровни организации ЭВМ

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

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

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

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

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

Уровень 0. Цифровой логический уровень. Представляет собой аппаратное обеспечение машины. Его электронные схемы выполняют программы, написанные на языке уровня 1.

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

многоуровневая компьютерная организация

Многоуровневая компьютерная организация
Объекты на уровне 0 называются вентилями. Вентили состоят из аналоговых компонентов (транзисторы) и смоделированы как цифровые средства, на входе у которых цифровые сигналы (или набор 0 и 1), а на выходе – результат простых функций («И» или «ИЛИ»). Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1. Биты памяти, объединенные в группы, например, по 16,32 или 64, формируют регистры. Каждый регистр может содержать одно двоичное число до определенного предела. Из вентилей также может состоять сам компьютер.

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

На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. Раньше этот уровень можно было назвать «уровнем микропрограммирования», потому что раньше он почти всегда был интерпретатором программного обеспечения.

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

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

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

Еще одно изменение, появившееся на уровне 4, — способ, которым поддерживаются более высокие уровни. Уровни 2 и 3 обычно интерпретируются, а уровни 4, 5 и выше обычно, хотя и не всегда, поддерживаются транслятором.

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

Уровень 4. Уровень языка ассемблера. Представляет собой символическую форму одного из языков более низкого уровня. На этом уровне можно писать программы в приемлемой для человека форме. Эти программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически существующей машиной. Программа, которая выполняет трансляцию, называется ассемблером.

Уровень 5. Язык высокого уровня. Обычно состоит из языков, разработанных для прикладных программистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные среди них — BASIC, С, C++, Java, LISP и Prolog. Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые обрабатывают эти программы, называются компиляторами. Отметим, что иногда также используется метод интерпретации. Например, программы на языке Java обычно интерпретируются.