Организация ЭВМ и периферийные устройства
Михаил Викторович Рыбальченко
В данной части учебного пособия излагаются основы организации и функционирования компьютеров. Рассматриваются показатели производительности компьютеров и процессоров, приведена структура компьютера, описаны её основные компоненты. Подробно рассмотрен центральный процессор, включая его структуру, особенности системы команд, принцип конвейерной обработки команд, основные режимы работы, особенности построения и функционирования современных микропроцессоров. Рассмотрены основные характеристики и разновидности устройств памяти, принципы их построения и функционирования. Проиллюстрировано функционирование компьютера при выполнении команд.
Настоящее учебное пособие предназначено для студентов, обучающихся по направлению 09.03.02 «Информационные системы и технологии», а также может быть полезно студентам, обучающихся по другим направлениям, связанным с применением компьютеров в различных прикладных областях.
М. В. Рыбальченко
Организация ЭВМ и периферийные устройства учебное пособие
Введение
Компьютерная техника оказывает большое влияние на прогресс в самых разных сферах деятельности человека. Компьютеры и периферийные устройства являются базой современных информационных систем и технологий. Поэтому значительное внимание уделяется изучению организации ЭВМ и периферийных устройств (ПУ) при подготовке студентов по направлению "Информационные системы и технологии". Понятие "организация" (от лат. organizo – делать сообща, устраивать) трактуется здесь как взаимодействие частей единой системы с помощью совокупности процессов, обеспечивающих это взаимодействие.
Автор при изложении материала стремился представить как классические основы, так и современные научно-технические достижения в области компьютерной техники. В рамках учебного пособия ряд вопросов излагается достаточно кратко, в связи с чем по этим вопросам может быть рекомендована дополнительная литература [1–3].
Планируется издание следующей части пособия, в которой будут рассмотрены построение, функционирование и разновидности оперативной и кэш-памяти, механизмы взаимодействия периферийных устройств с компьютером, основные периферийные устройства и их интерфейсы.
1. Основные понятия
Компьютер (вычислительная машина) – физическая система, предназначенная для автоматизации процесса алгоритмической обработки информации.
Вычислительная система – совокупность компьютеров или процессоров, периферийного оборудования и соответствующего программного обеспечения, предназначенная для выполнения информационно-вычислительных процессов.
Будем использовать узкое определение понятия «информация», ориентированное на практическое использование.
Информация[1 - Существует множество различных определений понятия информации. Так, в соответствии с философским определением, информация – это отражение объективной реальности как неотъемлемое свойство материи. Энциклопедическое определение информации представляет её как совокупность сведений, определяющих меру наших знаний о тех или иных явлениях, событиях и фактах.] – все сведения, являющиеся объектом хранения, передачи и преобразования.
Электронная вычислительная машина (ЭВМ) – совокупность электронных устройств, выполняющих алгоритмическую обработку информации, представленной, как правило, в цифровом виде.
Архитектура компьютера – совокупность общих принципов организации аппаратных средств, определяющих функциональные возможности компьютера.
Аппаратура компьютера представляется тремя уровнями:
1) физические устройства (интегральные схемы, платы, разъёмы, перемычки, накопители и т.д.);
2) микроархитектура – определяется количеством и типом внутренних регистров процессора, типом, количеством и характеристиками исполнительных устройств (выборка и исполнение команд), способом обработки, объёмом и архитектурой кэш-памяти и т.д.;
3) машинный язык – набор команд (от 50 до 300) некоторого процессора или семейства процессоров, обеспечивающих выполнение процессором основных функций обработки и управления (пересылка данных, арифметико-логические операции, ввод-вывод и другие).
2. Производительность компьютеров и её оценка
Производительность компьютера является объективной мерой эффективности его функционирования и используется в качестве одного из основных его технических параметров. Производительность определяется архитектурой и рабочей частотой процессора, пропускной способностью системной шины, типом и объёмом оперативной и кэш-памяти и другими особенностями конфигурации. Кроме того, она зависит от типа используемой ОС, применённых для получения программы трансляторов с языков программирования, конкретных приложений и др.
Таким образом, понятие производительности компьютера является весьма многоплановым, в связи с чем для её оценки используется целый ряд различных показателей.
2.1. Показатели производительности
Различают следующие показатели производительности:
1. Пиковая – максимально достижимая производительность процессорной подсистемы компьютера, включающей процессор, кэш- и оперативную память.
2. Номинальная – средняя производительность процессорной подсистемы компьютера.
3. Системная – средняя производительность всей аппаратно-программной системы ПК в целом, т.е. с учётом обмена данными с жёстким диском, видеосистемой, и другими внешними устройствами, взаимодействия с ОС.
4. Эксплуатационная – производительность компьютера на реальной рабочей нагрузке, с учётом конкретных используемых приложений, например текстовых процессоров, систем автоматизации проектирования, компиляторов и др.
Очевидно, что для обычного пользователя наибольший интерес представляет именно эксплуатационная производительность компьютера на наиболее часто используемых приложениях. Если же набор таких приложений не определён, то используются значения системной, номинальной и пиковой производительности.
2.2. Методы определения показателей производительности
2.2.1. Пиковая производительность
Пиковая производительность – производительность процессорной подсистемы компьютера при выполнении коротких команд, т.е. команд, не выполняющих обращений к оперативной и кэш-памяти. Такие команды обычно связаны с выполнением различных регистровых операций (например, инкремент регистра INC AX, пересылка данных MOV AX, BX) и могут выполняться за один цикл работы процессора.
Таким образом, пиковая производительность – число команд типа «регистр – регистр», выполняемых процессорной подсистемой в единицу времени без учета статистического веса таких команд в реальных программах. Обычно пиковая производительность оценивается для команды типа «Нет операции» (NOP – No OPeration)[2 - Данная команда выбирается из оперативной памяти, декодируется и не выполняет никаких действий, в связи с чем имеет минимальное время вполнения.].
Пиковая производительность зависит как от тактовой частоты процессора, так и от его архитектуры и микроархитектуры. Для выявления эффективности архитектуры и микроархитектуры целесообразно проводить сравнение пиковой производительности процессоров при одинаковой частоте.
2.2.2. Номинальная производительность
Номинальная производительность – среднее число команд, включая команды обмена с оперативной памятью, выполняемых в единицу времени процессорной подсистемой. Используемые при этом наборы команд подбирают с учетом их статистического веса (частоты использования) в популярных приложениях и имитируют реальную нагрузку на процессорную подсистему.
Номинальная производительность измеряется при помощи как абсолютных (количество операций в секунду), так и относительных единиц (программные тесты).
В качестве абсолютных используются следующие единицы:
• количество миллионов инструкций (команд) в секунду, MIPS (Million Instructions Per Second);
• количество операций в секунду над числами с плавающей точкой, FLOPS (FLoating-point Operations Per Second), а также производные единицы MFLOPS, GFLOPS, TFLOPS, PFLOPS и др.
Для оценки номинальной производительности широко используется тестовый пакет SPEC CPU от фирмы SPEC (Standard Performance Evaluation Corporation)[3 - Последняя версия тестового пакета SPEC CPU2006 V 1.2 (2011 г.) вычисляет оценки SPECint2006 и SPECfp2006.]. Пакет вычисляет две оценки – SPECint и SPECfp, представляющие целочисленные вычисления и вычисления над числами с плавающей точкой соответственно.
Тест SPECint использует универсальные наборы команд над числами с фиксированной точкой и сбалансирован по типам операций, глобальных и локальных переменных и констант в результате статистического исследования и усреднения по большому числу реальных программ (архивация, компиляция с С, комбинаторная оптимизация, искусственный интеллект, игра в шахматы, сжатие видео). Таким образом, тест фактически оценивает производительность процессорной подсистемы без учёта математического сопроцессора.
Тест SPECfp использует базовые арифметические команды над числами с фиксированной и плавающей точками одинарной и двойной точности с равновероятным распределением команд, операции вычисления тригонометрических функций, логарифмов и др. (распознавание речи, уравнение Максвелла, вычисление 3-мерных моделей в гидравлике, моделирование биомолекулярных систем, имитация отжига, симплес-метод).
Результат измерения выдается в виде коэффициента соотношения производительности тестируемой системы к производительности эталонной системы. В качестве эталонной системы корпорация SPEC выбрала систему Sun «Ultra Enterprise 2» на базе процессора Sun UltraSPARC II с частотой 296 МГц (1997 г.), но с увеличенным объемом кэша и оперативной памяти.
2.2.3. Системная производительность
Результаты оценки системной производительности некоторого компьютера обычно приводятся относительно базового компьютера стандартной конфигурации либо относительно некоторого набора компьютеров. Результаты оформляются в виде сравнительных таблиц, двухмерных и трёхмерных графиков и диаграмм.
Одним из известных тестов системной производительности является Business Winstone[4 - Последняя версия пакета Winstone вышла в 2004 г.]. Тест Winstone измеряет среднюю производительность компьютера при выполнении популярных офисных Windows- приложений с учётом величины занимаемого этими приложениями сектора рынка (текстовые процессоры, электронные таблицы, системы управления базами данных, программы деловой графики, издательские системы и т.д.). Результаты теста Winstone представляются в виде индекса производительности относительно базового ПК.
Примечание
Сектор рынка, занимаемый некоторым приложением, косвенно определяет удельный вес общего компьютерного времени, используемого данным приложением.