Информатика: техничес кое обеспечение Платов А. Общие сведения Поколения ЭВМ Рождение на свет ЭВМ было вызвано потребностью решать военные задачи расчётного характера. Первая цифровая ЭВМ "ENIAC" была создана в 1946 г. в США и предназначалась для баллистических расчётов при стрельбе. Первая отечественная цифровая ЭВМ «МЭСМ» создана в 1950 г. Ход развития ЭВМ принято делить на этапы - поколения ЭВМ. Основной показатель, по которому ЭВМ относят к тому или иному поколению - элементная база. Таблица 1. Поколения ЭВМ Период | Эл. база | Быстродействие | Объём ОЗУ | Внешние устройства | Архитектура | Программное обеспечение | 1946-60 | вакуумные лампы, | 0,1 mips | 100 Кб | магн. барабан магн. лента перфокарта перфолента цифровая печать, телетайп | фон Неймана | Библиотеки стандартных программ и ассемблеры | 1955-70 | полупроводники | 1 mips | 1Мб | графопостроитель, магнитный диск | мультипрограммный режим | Операционные системы, языки программирования высокого уровня и трансляторы, СУБД | 1965-80 | БИС | 10 mips | 10Мб | Дисплеи, гибкие диски, матричные принтеры | Мини-ЭВМ, сети ЭВМ, системы коллективного пользования | Диалоговые системы, машинная графика, системы обработки текстов, промышленное производство программного обеспечения | 1975-90 | СБИС | 100 mips | 100Мб | Лазерный принтер, винчестер, оптический диск | ПЭВМ, многопроцессорные системы, локальные сети | Базы знаний, экспертные системы, сборочное программирование, пакеты прикладных программ общего назначения. | Современные ЭВМ относятся также к четвёртому поколению. Классификация ЭВМ Любая классификация ЭВМ условна в силу их чрезвычайного разнообразия. Назначение и функциональные возможности ЭВМ – это две взаимосвязанные стороны, по которым можно определять место ЭВМ. СуперЭВМ [super computer] – сверхпроизводительная система, предназначенная для решения задач, требующих больших объёмов вычислений. К таким задачам относятся задачи аэродинамики, ядерной физики и физики плазмы, сейсмологии, метеорологии, обработки изображений и др. СуперЭВМ всегда выполняются на пределе технических возможностей. Это системы общего назначения. Сервер [server] – ЭВМ, предоставляющая свои ресурсы другим пользователям. Различаются файл-серверы, серверы печати, серверы баз данных и др. Наличие сервера всегда предполагает наличие других ЭВМ, которые связаны в сеть. Сети и серверы – это неразделимые понятия. ЭВМ, которую обслуживает сервер, называется клиентной рабочей станцией или просто клиентом. Рабочая станция [workstation] – специализированная высокопроизводительная ЭВМ, ориентированная на профессиональную деятельность в определённой области (обычно САПР, графика), имеющая поэтому дополнительное оборудование и специализированное программное обеспечение. Персональная ЭВМ - ПЭВМ [personal computer - PC] – универсальная, однопользовательская ЭВМ. Настройка такой ЭВМ может выполняться, как правило, самим пользователем. Среди ПЭВМ можно выделить переносные ПЭВМ – наколенные [laptop], блокнотные [notebook] и карманные [palmtop] ЭВМ. Терминал [terminal] – устройство, подключенное к более мощной ЭВМ, не предназначенное для работы в автономном режиме и обеспечивающее ввод-вывод информации и команд пользователя. Архитектура ЭВМ Архитектура ЭВМ – это способ обработки данных (способ организации вычислительного процесса), который реализуется аппаратурой ЭВМ. Простейшая архитектура была определена Дж. фон Нейманом в середине 40-х годов. В качестве основных устройств универсальной ЭВМ были выделены: центральный процессор (ЦПУ) [processor (CPU)] (арифметико-логическое устройство + устройство управления), память для хранения данных и команд и устройства ввода-вывода. Вычислительный процесс выполняется строго последовательно: команда за командой. Также последовательно обрабатываются данные. Такой способ организации вычислительного процесса позже получил название архитектуры фон Неймана. Пример Каждая машинная команда выполняется в 5 этапов: считывание команды из памяти, дешифрация команды, считывание данных, выполнение команды, запись результатов в память. Рассмотрим простую программу: a=b+c d=e+f ЭВМ, построенная согласно архитектуре фон Неймана, последовательно выполнит эти две команды. Причём после выполнения каждой команды процессор будет простаивать, ожидая, пока результат запишется в память, и затем придут новые данные для следующей команды. Однако эти команды являются несвязанными, так как для них нужны разные данные. Поэтому их можно было бы выполнять параллельно. Источник: [7]. Уже в 50-х гг. были начаты работы по разработке такой архитектуры ЭВМ, которая позволяла в той или иной мере оптимизировать вычислительный процесс. Чтобы минимизировать число обращений к памяти при выполнении серии несвязанных операций, была разработана конвейерная [pipeline] архитектура. Для ускорения выполнения команд процессор ставит их на конвейер, состоящий, например, из 5 каскадов. Устройство, выполняющее такую обработку команд, называется конвейером команд [command pipeline]. Таким образом, фазы выполнения различных операций совмещаются во времени, тем самым поток команд из памяти команд становится более интенсивным. Ускорение выполнения несвязанных арифметических операций достигается аналогичным способом с помощью арифметического конвейера [arithmetic pipeline], который интенсифицирует поток данных из памяти. Чтобы сократить время обработки данных, можно применить другой очевидный способ: совместить выполнение двух или более арифметических операций во времени. Для этого нужно просто иметь два или более арифметических устройств. Такая архитектура называется суперскалярной [superscalar]. Архитектура фон Неймана, конвейерная и суперскалярная архитектуры объединяются общим названием – архитектура SISD [Single Instruction Single Data] (см. рис. 2.1). Рис. 1. Архитектура SISD Согласно этой архитектуре существует один поток команд и один поток данных. Эти потоки могут подвергаться конвейеризации или распараллеливанию внутри процессора. Большинство современных ЭВМ построено по такому принципу. Решение многих задач на ЭВМ связано обработкой данных векторного или матричного типа. В таких задачах будут присутствовать программные фрагменты типа: for i=1 to N : a[i]=b[i]+c[i] : next i Причём число N может быть очень велико (сотни тысяч и более). Использование ЭВМ архитектуры SISD становится неэффективным. Для решения подобных задач применяются ЭВМ векторной [vector] архитектуры. В состав такой ЭВМ входит векторный процессор [array (vector) processor], который представляет собой несколько однотипных процессорных элементов, каждый из которых выполняет операцию с соответствующим элементом вектора данных. Такая архитектура именуется также как архитектура SIMD [Single Instruction Multiple Data] (см. рис. 2.2). Большинство современных суперЭВМ используют векторно-конвейерную архитектуру, то есть каждый процессорный элемент векторного процессора использует конвейерный способ обработки данных и команд. Архитектуры SISD и SIMD объединяются в класс однопроцессорных архитектур. Класс многопроцессорных архитектур также может быть сведён к двум видам: MISD-архитектура и MIMD-архитектура. В архитектуре MISD [Multiple Instruction Single Data] одни и те же данные обрабатываются большим числом параллельных процессов. Такой архитектуре соответствует обычная локальная сеть персональных ЭВМ, которая работает с общей базой данных. ЭВМ, которые соответствуют MISD-архитектуре, не существует. Рис. 2. Архитектура типа SIMD Архитектура MIMD [Multiple Instruction Multiple Data] включает в себя возможности всех рассмотренных выше архитектур. Можно выделить две разновидности MIMD-архитектуры: сильносвязанные и слабосвязанные системы. Сильносвязанная архитектура реализуется, например, в многопроцессорных серверах. Слабосвязанную архитектуру можно проиллюстрировать на примере кластерных систем. Производительность ЭВМ Основа для сравнения ЭВМ различных типов – это производительность ЭВМ, то есть время, которое затрачивает ЭВМ на выполнение некоторого объёма работы. Самую точную практическую оценку производительности конкретной ЭВМ можно получить лишь из времени работы реальной программы, для выполнения которой нужна данная ЭВМ. Однако поскольку ЭВМ используются, как правило, для решения различных задач, то существуют многообразные тесты, с помощью которых можно оценить возможности ЭВМ. Самой простой (и самой неточной) характеристикой производительности является число MIPS [Million Instructions Per Second] - миллион команд в секунду. В общем случае MIPS определяется как отношение количества команд в программе ко времени её выполнения. Большее число MIPS на практике не значит более высокой производительности ЭВМ. Это число, вообще говоря, может меняться при выполнении разных программ даже на одной ЭВМ. Операции с плавающей точкой состоят из нескольких десятков обычных целочисленных операций, поэтому если ЭВМ с низким числом MIPS имеет боле эффективную реализацию плавающей арифметики, то такая ЭВМ может быть более производительной, чем ЭВМ с высоким числом MIPS. Для оценки производительности ЭВМ, предназначенных для решения научно-технических задач, в которых существенно используется плавающая арифметика, применяется оценка по числу MFLOPS [Million Floating Point Operations Per Second] - миллион плавающих операций в секунду. Эта оценка гораздо более точна, чем оценка по MIPS, но справедлива только для оценки возможностей ЭВМ при работе с плавающими числами. Другие способы оценки производительности основаны на использовании специально подобранных тестовых задач. Наиболее известными являются тесты LINPACK, SpecInt92 и SpecFp92, AIM. Пример Производительность современных суперЭВМ достигает десятков GFLOPS. Производительность ПЭВМ имеет порядок десятков MFLOPS. Аппаратные компоненты персональных ЭВМ Структура ПЭВМ Главная особенность структуры ПЭВМ заключается в том, все устройства ПЭВМ обмениваются информацией через системную шину (см. рис.2.3). К системной шине подключён центральный процессор (или несколько процессоров), оперативная, постоянная и кеш-память, которые выполнены в виде микросхем. Упомянутые компоненты монтируются на материнской плате [mother board]. К материнской плате присоединяются платы (карты) внешних устройств (ВУ): видеоадаптер, звуковая плата, сетевая плата и др. В зависимости от сложности устройств на этих платах могут располагаться другие специализированные процессоры: математический, графический и др. С помощью проводов к материнской плате подключены жёсткий диск, гибкий диск и устройство чтения оптических дисков. Рис. 3. Структурная схема ПЭВМ Все упомянутые компоненты располагаются в системном блоке. Корпус системного блока может быть выполнен в виде: desktop – настольное исполнение с горизонтальным расположением материнской платы; mini-tower – настольное исполнение с вертикальным расположением материнской платы; big tower – напольное исполнение с вертикальным расположением материнской платы. Выбор типа корпуса диктуется в основном возможностью последующего расширения комплектации ПЭВМ. Остальные компоненты, которые находятся вне системного блока, именуются внешними устройствами: монитор, клавиатура, мышь и другие манипуляторы, устройства резервного копирования и архивации, сканеры, модемы и др. Системная шина Системная шина [bus] – система объединённых проводов для передачи информации между подключёнными к ней устройствами ЭВМ. По шине передаётся информация трёх типов: данные, адреса данных, команды. Основные характеристики шины данных: тактовая частота; разрядность данных и адреса. Тактовая частота шины [bus clock, bus frequency] измеряется в МГц и определяет, сколько раз за секунду может быть передана порция данных. Размер этой порции определяется разрядностью шины, которая измеряется в битах. Произведение разрядности на частоту определяет теоретическую пропускную способность шины. Пример Наиболее широко используемой в настоящее время является шина PCI (Peripheral Component Interconnect). Устаревшая шина ISA (Industry Standard Architecture) или AT-шина до сих пор используется по причинам обеспечения совместимости. Основные характеристики приведены в табл. 2.2. Таблица 2. Характеристики системных шин Название | Частота, МГц | Разрядность данных | Разрядность адреса | Мбайт/с | PC XT | 4,77 | 8 | 20 | 5 | ISA | 8 | 16 | 24 | 8 | PCI | 33 | 32,64 | 32 | 80,160 | Центральный процессор Центральный процессор [processor, CPU] – устройство, непосредственно осуществляющее процесс обработки данных. Основная задача процессора – это интерпретация команд и рассылка соответствующих управляющих сигналов к другим устройствам. Процессоры в ПЭВМ выполнены в виде одной микросхемы и потому называются также микропроцессорами. Основные характеристики процессора: тактовая частота; длина слова (разрядность); архитектура. Тактовая частота процессора [CPU speed (clock, frequency)] число элементарных операций - тактов, выполняемых в течение одной секунды. В современных ПЭВМ под тактовой частотой понимается внутренняя частота. Обмен данными с внешним миром осуществляется на частоте системной шины, которая всегда меньше внутренней частоты процессора. Тактовая частота грубо характеризует скорость работы процессора. Длина слова (разрядность процессора) – это максимальное количество разрядов двоичного кода, которые могут передаваться или обрабатываться одновременно за один такт. Все современные микропроцессоры 32 или 64 разрядные. Пример Применительно к ПЭВМ понятие «разрядность» включает: разрядность внутренних регистров (внутренняя длина слова); разрядность шины данных (внешняя длина слова); разрядность шины адреса. Разрядность внутренних регистров определяет формат команд процессора и размер данных, с которыми можно оперировать в командах. Разрядность шины данных определяет скорость передачи информации между процессором и другими устройствами. Разрядность шины адреса определяет размер адресного пространства, т.е. максимальное число байтов, к которым можно осуществить доступ. Например, если разрядность шины адреса равна 16, то возможный размер памяти в ЭВМ равен 216=65536 или 65 Кб. Архитектура процессора – это очень ёмкое понятие, в составе которого можно рассматривать следующие элементы: система команд; способ организации вычислительного процесса; поддержка мультипроцессорности. Система команд [instruction set] – полный список кодов операций, которые способен выполнять процессор. По составу команд различают: CISC-архитектуру [Complex Instructions Set Computer] и RISC-архитектуру [Reduced Instructions Set Computer]. Большинство ЭВМ использует CISC-архитектуру. Основная идея RISC – так упростить команды процессора, чтобы они могли быть выполнены за один такт. Это позволяет спроектировать очень эффективный конвейер команд. Набор команд процессора определяет его функциональное назначение, в соответствии с которым различают универсальные и специализированные процессоры. Универсальный процессор способен реализовать любой алгоритм и используется в качестве центрального процессора. Специализированный процессор служит для решения задач определённого класса. Среди таких сопроцессоров можно выделить математические и графические процессоры. С системой команд связано такое важное свойство, как совместимость. Два процессора называются совместимыми [compatible], если их системы команд одинаковы. Пример Программу ускорения клавиатуры можно записать в машинном языке: B8 05 03 BB-00 00 CD 16-CD 20 или в переводе на автокод B80503 mov ax,00305 BB0000 mov bx,00000 CD16 int 16 CD20 int 20 Данная программа использует систему команд процессора Intel8086 и без изменений может быть перенесена на процессоры Intel 80286, 80386, 80486, Pentium I, Pentium II, Pentium III. Поэтому все эти процессоры называются совместимыми снизу вверх. Сверху вниз эти процессоры несовместимы, так как, например, Pentium III имеет команды, которые не поддерживаются процессором Pentium I. Для повышения эффективности вычислительного процесса в современных микропроцессорах применяется конвейерная и суперскалярная обработки данных. Процессор может иметь устройства, которые позволяют использовать его в многопроцессорной конфигурации. Работа в мультипроцессорном режиме обеспечивается как архитектурой процессора, так и возможностями операционной системы. Например, Windows95 не имеет такой поддержки, а Windows NT Server поддерживает четыре процессора. |