<< Пред. стр. 1 (из 12) След. >>
Федеральное агентство по образованию
Омский государственный институт сервиса
Кафедра высшей математики и информатики
С. Ф. Храпский
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ
И ТЕЛЕКОММУНИКАЦИИ
Учебное пособие
Д О П У Щ Е Н О
Министерством образования и науки Российской Федерации
в качестве учебного пособия
для студентов высших учебных заведений, обучающихся
по специальности «Прикладная информатика (в сфере сервиса)»
Омск 2005
Учебное издание
Храпский Сергей Филиппович
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ, СЕТИ
И ТЕЛЕКОММУНИКАЦИИ
Учебное пособие
Редактор Л. Г.Сигитова
Лицензия ЛР № 021278 от 06.04.97
Подписано в печать 27.12.05. Формат 60х84 1/16
Бумага типогр. Оперативный способ печати
Усл. печ. л. 20,62. Уч-изд. л. 21,62. Тираж 70 экз.
Изд. № 366. Заказ № 678. Цена договорная
Издательско-полиграфический центр ОГИС
644099, г. Омск ул. Красногвардейская, 9
УДК 681.3
Х – 90
Храпский, С. Ф.
Вычислительные системы, сети и телекоммуникации : учебное пособие / С. Ф. Храпский. – Омск : Омский государственный институт сервиса, 2005. – 372 c.
ISBN 5-93252-046-9
Учебное пособие разработано с целью обеспечения обучающихся и преподавателей систематизированным учебным материалом по теоретическим и практическим основам аппаратного обеспечения вычислительной техники и телекоммуникационных технологий.
Представлены сведения о структурной организации, классификации, хронологии разработки и характеристиках вычислительных машин и систем, рассмотрены принципы работы, конструктивное исполнение и важнейшие параметры основных функциональных устройств вычислительной техники, приведена классификация вычислительных сетей по различным признакам, изложены базовые понятия стандартизованных моделей сетевого взаимодействия, описаны виды и характеристики физических телекоммуникационных сред, методы и способы передачи информации по линиям связи.
Учебное пособие подготовлено в соответствии с требованиями ГОС ВПО специальности 351400 «Прикладная информатика (в сфере сервиса)».
Предназначено для студентов очной и заочной форм обучения специальности 351400 «Прикладная информатика (в сфере сервиса)», изучающих дисциплину «Вычислительные системы, сети и телекоммуникации». Может быть использовано при изучении ряда смежных дисциплин этой специальности, а также студентами других специальностей, изучающих соответствующие разделы в дисциплинах «Информатика», «Информационные технологии», «Информационные системы».
УДК 681.3
Библиогр. : 38 назв. Рис. 29. Табл. 5. Терминологический словарь, предметный указатель (в конце)
Рецензенты:
д-р техн. наук, профессор В. Я. Волков
(Сибирская государственная автомобильно-дорожная академия),
канд. пед. наук, доцент О. Н. Лучко
(Омский государственный институт сервиса)
Ответственный за выпуск
зав. кафедрой ВМиИ, канд. пед. наук, доцент О. Н. Лучко
ISBN 5-93252-046-9 ? Омский государственный
институт сервиса, 2005
Предисловие
Учебное пособие предназначено для студентов очной и заочной форм обучения специальности 351400 «Прикладная информатика (в сфере сервиса)», изучающих дисциплину «Вычислительные системы, сети и телекоммуникации», и разработано с целью обеспечения обучающихся и преподавателей систематизированным учебным материалом по теоретическим и практическим основам аппаратного обеспечения вычислительной техники и телекоммуникационных технологий.
Дисциплина «Вычислительные системы, сети и телекоммуникации» является одной из ключевых при подготовке специалистов в области информационных технологий. Это связано с тем, что предметами изучения указанной дисциплины являются способы и технические средства автоматической (или автоматизированной) обработки, хранения и транспортировки (передачи) информации, без которых информационные процессы были бы практически не реализуемы. Полнота знаний о классах, видах, параметрах, характеристиках, а также основах построения и функционирования технических средств способствует созданию работоспособных, рациональных и эффективных информационно-коммуникационных систем для различных приложений.
В учебном пособии представлены сведения о структурной организации, классификации, хронологии разработки и характеристиках вычислительных машин и систем, рассмотрены принципы работы, конструктивное исполнение и важнейшие параметры основных функциональных устройств вычислительной техники, приведена классификация вычислительных сетей по различным признакам, изложены базовые понятия стандартизованных моделей сетевого взаимодействия, описаны виды и характеристики физических телекоммуникационных сред, методы и способы передачи информации по линиям связи. Существенное внимание уделено рассмотрению новых технических решений в сферах разработки и внедрения микропроцессоров, запоминающих устройств, высокопроизводительных многопроцессорных и многомашинных вычислительных комплексов, беспроводных технологий связи, способов удаленных и глобальных сетевых соединений.
Освоение представленного учебного материала позволит получить базовые фундаментальные знания в динамично развивающихся областях вычислительной техники и информационно-коммуникационных технологий.
Изложенные в учебном пособии сведения могут найти применение при изучении ряда смежных дисциплин специальности 351400 «Прикладная информатика (в сфере сервиса)», а также соответствующих разделов в дисциплинах «Информатика», «Информационные технологии», «Информационные системы» других специальностей.
Учебное пособие подготовлено кандидатом технических наук, доцентом, проректором ОГИС по информационным технологиям С. Ф. Храпским.
Автор
Введение
Важнейшее направление современного мирового развития – интенсивное внедрение и широкое практическое использование информационных и коммуникационных технологий (ИКТ) во всех сферах жизнедеятельности человеческого общества. Аппаратной основой (платформой) ИКТ являются технические средства (ТС) обработки и передачи информации. ТС обработки информации традиционно именуются средствами вычислительной техники. ТС передачи (транспортировки) информации носят название коммуникационных технических средств (или технических средств связи). ТС на профессиональном жаргоне называют Hardware (дословно с англ. – «твердое изделие») в отличие от сущности Software (дословно с англ. – «мягкое изделие»), представляющую собой программное обеспечение (ПО) ИКТ. В общем случае ТС не могут функционировать без ПО, а программное обеспечение реализует свои функции только посредством ТС. Поэтому фактическая реализация ИКТ предполагает совместное использование и взаимодействие ТС и ПО, что находит свое отражение в объединенном термине Hard&Soft (дословно с англ. – «твердое и мягкое»). Настоящее учебное пособие ограничено рамками рассмотрения именно технических средств (Hardware).
Главнейшим и наиболее значимым техническим средством ИКТ (а точнее – целой совокупностью технических средств) безусловно является так называемая вычислительная машина (ВМ). В словосочетании «вычислительная машина» термин «машина» сохраняет свое традиционное толкование как некоторое техническое устройство, облегчающее трудовую деятельность человека (в данном случае – умственную деятельность) по обеспечению его жизненных потребностей. Прилагательное «вычислительная» уже давно переросло свое дословное толкование и к настоящему времени под обработкой информации понимают не только «вычисления» (в узком смысле этого слова), а гораздо более широкий спектр операций с (или над) информацией, таких как сбор, ввод, формализация, фильтрация, сортировка, хранение, накопление, защита, преобразование, выдача информации (и этот список типовых операций может быть продолжен). Поэтому современная трактовка указанного прилагательного предполагает именно такое его широкое толкование. Существует несколько близких по определению формулировок понятия «вычислительная машина». В дальнейшем изложении будем иметь ввиду наиболее общее определение этого понятия, представленное в специальном стандарте терминов и определений в области систем обработки информации (ГОСТ 15971-90): «вычислительная машина – это комплекс технических средств, создающих возможность автоматизации обработки информации по заданному алгоритму и получения результата в необходимой форме». Понятие алгоритма согласно формулировке стандарта ISO 2382/1-84 Международной организации стандартов (ISO – International Standards Organization) представляет собой «конечный набор предписаний, определяющий решение задачи посредством конечного количества операций». Алгоритм решения той или иной задачи на ВМ имеет вид некоторой программы последовательных действий (вычислений). В соответствии с тем же стандартом ISO 2382/1-84, программа для ВМ – это «упорядоченная последовательность команд, подлежащая обработке». В результате реализации программы на ВМ порождается вычислительный процесс. Синонимом русскоязычного термина «вычислительная машина» является распространенный иноязычный термин «компьютер» (от «computer» – вычислитель). В утратившей в последнее время популярность аббревиатуре «ЭВМ» (электронная вычислительная машина) подчеркивался факт построения основных функциональных устройств ВМ на базе электронных компонентов, что для современных машин очевидно.
Понятие «вычислительная система» (ВС) имеет множество существенно различных толкований, например: «набор устройств автоматической или автоматизированной обработки информации», «одиночная вычислительная машина (компьютер) с ее программным обеспечением и внешним (периферийным) оборудованием», «совокупность нескольких взаимосвязанных и взаимодействующих процессоров или вычислительных машин (компьютеров), организованная для совместного выполнения процессов обработки информации». В соответствии с наиболее распространенным определением (последним из представленных выше) формальное отличие ВС от ВМ выражается в количестве процессоров или машин. Такая множественность позволяет реализовать в ВС эффективную параллельную обработку информации. Однако современные ВМ даже с одним процессором также обладают определенными средствами распараллеливания вычислительного процесса. Более того, разработанные в последнее время двухъядерные процессоры еще больше стирают грань между ВМ и ВС согласно упомянутому определению. В связи с этим представляется более четким определение вычислительной системы как некоторой совокупности вычислительных машин, организованной путем объединения их коммуникационной средой. Таким образом, в состав ВС наряду с ВМ входят коммуникационные технические средства.
При относительно удаленном размещении ВМ, входящих в состав ВС (например, от размещения в пределах одной комнаты до размещения на разных континентах), вычислительную систему классифицируют как распределенную ВС. За таким типом ВС исторически закрепился более распространенный термин – вычислительная сеть (синоним – компьютерная сеть). Вычислительные сети создаются для эффективного предоставления различных информационно-вычислительных услуг пользователям сети в результате обеспечения быстрого и надежного доступа к аппаратным, программным и информационным ресурсам, распределенным в этой сети. Так как связь между компонентами вычислительной сети может, как правило, осуществляться на больших расстояниях, в названии технических средств связи это подчеркивается наличием приставки «теле» (переводится как словосочетание «на расстоянии»), то есть телекоммуникационные средства, или просто телекоммуникации – средства, обеспечивающие «связь на расстоянии». В настоящем учебном пособии предметом рассмотрения являются не все известные технические средства связи, а именно телекоммуникации вычислительных систем. Однако следует подчеркнуть, что в результате существенной эволюции и ярко выраженной конвергенции средств вычислительной техники и средств связи, вычислительные сети все чаще строятся на базе общих для всех видов связи телекоммуникационных средств.
К настоящему времени основным элементом ВС разных типов по-прежнему остается вычислительная машина. При этом, с одной стороны, ВМ можно рассматривать как вырожденную реализацию ВС. С другой стороны, вычислительные системы обычно строятся из традиционных ВМ и их компонентов. Поэтому рассмотрение организации, построения, функционирования и характеристик ВС следует начать с рассмотрения структурной организации, основ функционирования и базовых характеристик вычислительных машин и их компонентов (устройств).
1. Общие сведения о структурной организации, классификации, хронологии разработки
и основных характеристиках вычислительных машин и систем
1.1. Теоретические и технические предпосылки разработки электронных вычислительных устройств
Предшественниками вычислительных машин были механические и электромеханические счетные устройства. Одним из первых прототипов механической счетной машины была суммирующая машина, сконструированная знаменитым французским ученым Блезом Паскалем в 1642 году. В этой машине, состоящей из движущихся дисков с прорезями, при суммировании чисел использовалась десятичная система исчисления. Известны и более ранние описания и чертежи подобных суммирующих машин. В 1673 году выдающийся немецкий математик и философ Готфрид Лейбниц усовершенствовал машину Паскаля, что позволило перемножать и делить числа. Существенным достижением стала разработка петербургским инженером Вильгодтом Однером в 1874 году так называемого механического «арифмометра», который мог производить четыре основных арифметических действия. Конструкция «арифмометров» неоднократно совершенствовалась, и эта механическая счетная машина достаточно эффективно использовалась для широкого круга практических расчетов вплоть до 70-х годов XX века.
Одной из первых технических предпосылок современных автоматически работающих вычислительных машин следует считать идею английского математика Чарльза Бэббиджа, который в 1822 году предложил проект машины для решения дифференциальных уравнений. Для повторения операций в ходе вычислений в машине Бэббиджа использовалась энергия пара, таким образом, процесс работы был автоматизирован и проходил без участия человека. В дальнейшем Бэббиджом была предложена модель так называемой «аналитической машины», которая имела много основных черт современных вычислительных машин. Эта машина включала устройство ввода информации, блок управления, запоминающее устройство и устройство вывода результатов. Аналитическая машина Бэббиджа могла выполнять набор инструкций, который был записан на «перфокартах» – прямоугольных картонных карточках с определенным набором отверстий, соответствующих выполняемой инструкции.
Практическая реализация и дальнейшее развитие идей Бэббиджа были осуществлены американским изобретателем Германом Холлеритом. В 1890 году им было сконструировано электрическое перфокарточное устройство для решения статистических задач. На перфокартах кроме инструкций хранились также данные. Вычислительная машина Холлерита была для своего времени весьма производительным устройством обработки информации. В 1896 году ее автор основал корпорацию по производству подобных электромеханических вычислительных устройств, которая после ряда преобразований превратилась в 1924 году во всемирно известную и процветающую до сих пор корпорацию по производству компьютеров IBM (International Business Machines).
Наряду с механическими и электромеханическими вычислительными машинами получило развитие направление так называемых аналоговых вычислительных машин, в которых обработка информации происходит с помощью специально подобранного физического процесса, моделирующего вычисляемую закономерность. В аналоговых вычислительных машинах обрабатываемая информация представляется в непрерывной (аналоговой) форме, то есть в виде непрерывного ряда значений какой-либо физической величины: электрического тока, напряжения, угла поворота механизма и т. п. Простейшей аналоговой вычислительной машиной являются механические часы. Первыми аналоговыми машинами были устройства, в которых главными элементами являлись интегрирующие и дифференцирующие устройства, позволяющие практически мгновенно вычислять интеграл и производную заданной функции, отслеживая ее изменение во времени. На аналоговых машинах эффективно решаются математические задачи, содержащие несложные дифференциальные уравнения. Однако точность вычислений на этих машинах относительно низкая (с погрешностью до 1–2%), а повышение точности связано со значительным ростом стоимости вычислений. Кроме того, круг задач, которые может решать аналоговая машина, строго ограничен рамками тех физических процессов, которые она в состоянии моделировать. В настоящее время аналоговые машины обычно используются в узко специальных целях для управления сложными техническими объектами и при проведении научно-исследовательских работ, а по своему назначению могут быть отнесены к специализированному классу приборов вычислительной техники, и далее нами рассматриваться не будут.
Наибольшее распространение в науке, технике и экономике получили цифровые вычислительные машины с электрическим представлением дискретной (прерывной во времени) информации, которые получили наименование ЭЦВМ (электронная цифровая вычислительная машина) или просто ЭВМ без упоминания об их цифровом характере. В последнее время для обозначения ЭВМ чаще применяется укороченная аббревиатура ВМ (см. Введение), которую мы и будем использовать в дальнейшем изложении.
Основополагающей теоретической предпосылкой для создания вычислительных машин в их современном представлении стала работа английского математика Алана Тьюринга, который в 1936 году заложил основы теории алгоритмов. Публикация Тьюринга стимулировала возникновение абстрактной теории автоматов и во многом определила ее особенности. В своей работе Тьюринг описал абстрактную вычислительную машину, которая получила название машины Тьюринга. Машина Тьюринга представляет собой автоматическое устройство, способное находится в конечном числе внутренних состояний и снабженное бесконечной внешней памятью – лентой. Среди состояний выделяются два: начальное и конечное. Лента разделена на клетки. В каждую клетку может быть записана любая из букв некоторого алфавита. В каждый момент времени машина Тьюринга находится в одном из своих состояний и, рассматривая одну из клеток ленты, воспринимает записанный в ней символ. В неконечном состоянии машина Тьюринга совершает шаг, который определяется ее текущим состоянием и символом на ленте, воспринимаемым в данный момент. Перечисление всех возможных шагов машины Тьюринга называется программой данной машины. Конфигурация машины Тьюринга определяется конкретным заполнением клеток ленты символами и внутренним состоянием, в котором машина находится. Если зафиксировать какую-либо неконечную конфигурацию машины в качестве исходной, то работа машины будет заключаться в последовательном преобразовании исходной конфигурации в соответствии с программой машины до тех пор, пока не будет достигнуто конечное состояние. Хотя Тьюринг не преследовал цели изобретения вычислительной машины, описанные им абстрактные принципы определили ряд особенностей конструктивного исполнения и функционирования современных вычислительных машин. Например, бесконечная лента Тьюринга является явным аналогом оперативной памяти вычислительной машины.
В 1938 году немецкий инженер К. Цузе построил электромеханический цифровой программируемый вычислитель, названный автором Z1. В последнее время именно Z1 называют первым в мире компьютером.
В 1940 году американские инженеры Дж. Атанасов и К. Берри разработали модель полностью электронного вычислительного устройства, в математическую основу функционирования которого были заложены двоичная система исчисления Готфрида Лейбница и символическая логика английского математика XIX века Джорджа Буля (так называемая «Булева алгебра»). Атанасов и Берри применили эти концепции для электронных устройств, в качестве памяти была впервые использована модель Тьюринга.
С 1940 по 1946 год было разработано несколько конструкций работающих и используемых для различных практических целей вычислительных устройств. В основном это были специализированные аппараты, работающие главным образом на принципах электромеханического реле.
Чаще всего годом появления первой электронной вычислительной машины считается 1946 год, когда американцами Джоном Мочли и Преспером Эккертом была сконструирована цифровая машина ENIAC (Electronic Numeral Integrator and Computer – «электронный цифровой сумматор и вычислитель), работающая на электронных вакуумных лампах. Эта машина во многом была прообразом современных универсальных вычислительных машин.
Огромный вклад в теорию и практику создания ВМ на начальном этапе их развития внес выдающийся американский математик Джон фон Нейман, участвовавший в разработке ENIAC и опубликовавший в 1945 году отчет, в котором были изложены основные принципы построения ВМ, ставшие классическими. Совокупность знаменитых «принципов фон Неймана» породило классическую архитектуру ВМ. В нашей стране в 1947–1948 годах советским ученым С. А. Лебедевым независимо от фон Неймана были сформулированы более детальные и полные принципы построения электронных цифровых вычислительных машин, которые были применены при создании первых отечественных разработок ВМ (см. подраздел 1.3). Однако в силу засекреченности проводимых в СССР в то время работ, связанных с оборонной тематикой, соответствующих публикаций в открытой печати не последовало.
1.2. Структурная организация
и классификация вычислительных машин и систем
Под архитектурой ВМ будем понимать совокупность ее основных функциональных блоков и схем их взаимодействия, определяющих функционально-логическую и структурную организацию вычислительной машины. Понятие архитектуры охватывает наиболее существенные принципы построения и функционирования ВМ. Фундаментальные основы структурной организации ВМ базируются на классических принципах, ключевой идеей которых является хранение в памяти вычислительной машины исполняемой ею программы.
Сущность так называемой «фон-неймановской» концепции вычислительной машины может быть сведена к четырем принципам: двоичного кодирования, программного управления, однородности памяти, адресности.
Согласно принципу двоичного кодирования, вся информация (как данные, так и команды) кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды можно выделить поле кода операции и поле адресов (адресную часть). Код операции представляет собой указание, какая операция должна быть выполнена, и задается с помощью двоичной комбинации. Вид адресной части и число составляющих ее адресов зависят от типа команды: в командах преобразования данных адресная часть содержит адреса объектов обработки (операндов) и результата; в командах изменения порядка вычислений – адрес следующей команды программы; в командах ввода/вывода – номер устройства ввода/вывода. Адресная часть также представляется двоичной последовательностью.
В соответствии с принципом программного управления все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов – команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти ВМ и выполняются в естественной последовательности, то есть в порядке их расположения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.
Согласно принципу однородности памяти команды и данные хранятся в одной и той же памяти и внешне в памяти неразличимы. Распознать их можно только по способу использования. Это позволяет производить над командами те же операции, что и над числами, и, соответственно, предоставляет ряд важных возможностей, таких, например, как модификация команд и трансляция программы с языка высокого уровня на язык конкретной ВМ.
Необходимо отметить, что концепция вычислительной машины в изложении фон Неймана предполагает единую память для хранения команд и данных. Этот подход был принят в вычислительных машинах, создававшихся в Принстонском университете, из-за чего и получил название «принстонской архитектуры». Практически одновременно с этим в Гарвардском университете была предложена иная модель, в которой ВМ имела отдельную память команд и отдельную память данных. Такой вид архитектуры называют «гарвардской» архитектурой. Долгие годы преобладающей была и остается принстонская архитектура, однако в связи с тем, что она порождает проблемы пропускной способности тракта «процессор-память», разработчики ВМ в последнее время все чаще обращаются к гарвардской архитектуре.
В соответствии с принципом адресности основная память структурно состоит из пронумерованных ячеек, причем процессору в произвольный момент доступна любая ячейка. Двоичные коды команд и данных разделяются на единицы информации, называемые словами, и хранятся в ячейках памяти, а для доступа к ним используются номера соответствующих ячеек – адреса.
Джоном фон Нейманом были определены основные устройства ВМ, с помощью которых должны быть реализованы вышеперечисленные принципы.
Основы построения ВМ, разработанные Сергеем Алексеевичем Лебедевым, заключаются в следующем:
1) в состав ВМ должны входить устройства арифметики, памяти, ввода-вывода информации, управления;
2) программа вычислений кодируется и хранится в памяти подобно числам;
3) для кодирования чисел и команд следует использовать двоичную систему счисления;
4) вычисления должны осуществляться автоматически на основе хранимой в памяти программы и операций над командами;
5) помимо арифметических операций вводятся также логические – сравнения, условного и безусловного перехода, конъюнкции, дизъюнкции, отрицания;
6) память строится по иерархическому принципу.
Классическая ВМ (рис.1.1) содержит запоминающее устройство – ЗУ (устройство памяти или, коротко, «память»), устройство управления – УУ и арифметико-логическое устройство – АЛУ. В вычислительной машине имеются средства для ввода программ и данных к ним, а также вывода результирующей информации. Информация поступает из подсоединенных к ВМ периферийных устройств ввода (ПУвв). Результаты вычислений выводятся на периферийные устройства вывода (ПУвыв). Связь и взаимодействие ВМ и ПУ обеспечивает аппаратура сопряжения ВМ с ПУ. При этом аппаратура ввода именуется устройством ввода (Увв), а аппаратура вывода – устройством вывода (Увыв). Совокупность устройств ввода и вывода может быть названа устройством ввода/вывода.
Рис. 1.1. Структурная схема вычислительной машины классической
архитектуры:
– информация, – сигналы управления
Устройство управления организует автоматическое выполнение программ (путем реализации функций управления) и обеспечивает функционирование ВМ как единого вычислительного модуля. УУ следует рассматривать как совокупность элементов, между которыми происходит пересылка информации, в ходе чего эта информация может подвергаться определенным видам обработки. Пересылка информации между любыми элементами ВМ инициируется своим сигналом управления, то есть управление вычислительным процессом сводится к выдаче нужного набора сигналов управления в нужной временной последовательности. Основной функцией УУ является формирование управляющих сигналов, отвечающих за извлечение команд из памяти в порядке, определяемом программой, и последующее исполнение этих команд. Кроме того, УУ формирует сигналы управления для синхронизации и координации внутренних и внешних устройств ВМ.
Арифметико-логическое устройство обеспечивает арифметическую и логическую обработку двух входных переменных, в результате которой формируется выходная переменная. Функции АЛУ обычно сводятся к простым арифметическим и логическим операциям, а также операциям сдвига. Помимо результата операции АЛУ формирует ряд признаков результата (флагов), характеризующих полученный результат и события, произошедшие в процессе его получения (равенство нулю, знак, четность, переполнение и т. д.). Флаги могут анализироваться в УУ с целью принятия решения о дальнейшей последовательности выполнения команд программы.
Так как УУ и АЛУ тесно взаимосвязаны, то их обычно рассматривают как единое устройство, называемое центральным процессором (ЦП) (CPU – Central Processing Unit, «центральное процессорное устройство») или просто процессором. Помимо УУ и АЛУ в процессор входит также набор регистров общего назначения (РОН), служащих для промежуточного хранения информации в процессе ее обработки (на рис.1.1 не показаны).
Задачей запоминающего устройства является хранение программ и данных. ЗУ подразделяются на два класса – основное («первичное» или «внутреннее») ЗУ (часто называемое основной памятью) и внешнее («вторичное» или «дополнительное») ЗУ (ВЗУ или внешняя память). Команды и данные записываются в память и считываются из памяти под управлением процессора. Чтобы программа могла выполняться, команды и данные должны располагаться в основной памяти, организованной таким образом, что каждое двоичное слово хранится в отдельной ячейке памяти, идентифицируемой адресом. Основная память современных ВМ обычно строится на базе электронных полупроводниковых запоминающих устройств, обеспечивающих как считывание, так и запись информации. Такие устройства «энергозависимы» (то есть хранимая информация теряется при отключении электропитания) и их называют оперативными запоминающими устройствами (ОЗУ). Если необходимо, чтобы часть основной памяти была энергонезависимой, в состав основной памяти включают так называемые «постоянные» запоминающие устройства (ПЗУ), также обеспечивающие произвольный доступ, но хранящаяся в ПЗУ информация в штатном режиме работы ВМ может только считываться (но не записываться). Размер ячейки основной памяти обычно принимается равным 8 двоичным разрядам (битам) – одному байту. Для хранения больших чисел используются 2, 4 или 8 байтов, размещаемых в ячейках с последовательными адресами. Количество битов в каждом слове обычно называют длиной машинного слова. Быстродействие основной памяти определяется скоростью работы электронных схем.
Внешняя память строится на базе менее быстродействующих, но зато более дешевых устройств, чем те, что применяются для реализации основной памяти. Кроме этого, внешняя память энер-гонезависима. Благодаря указанным характеристикам она используется для долговременного хранения больших программ и массивов данных в ВМ. Информация во внешней памяти обычно хранится в виде специальных программно поддерживаемых объектов – файлов. Согласно стандарту ISO, файл – это «идентифицированная совокупность экземпляров полностью описанного в конкретной программе типа данных, находящихся вне программы во внешней памяти и доступных программе посредством специальных операций». Внешняя память чаще всего реализуется на базе магнитных дисковых устройств.
Достоинства и недостатки архитектуры вычислительных машин изначально зависят от способа соединения базовых устройств. При самом общем подходе можно рассматривать два основных типа структурной организации вычислительных машин: с непосредственными связями и на основе общей шины. Типичным представителем первого типа может служить классическая фон-неймановская схема ВМ (см. рис. 1.1). В ней между взаимодействующими устройствами (процессор, память, устройство ввода/вывода) имеются непосредственные линии связи. Особенности линий связи (число проводников, пропускная способность и т. п.) определяются видом информации, характером и интенсивностью обмена. Достоинством архитектуры с непосредственными связями можно считать возможность увеличения пропускной способности определенных линий связи путем улучшения только их структуры и характеристик, что экономически может быть наиболее выгодным решением. У фон-неймановских ВМ такой критической линией связи является канал пересылки данных между процессором и памятью, а увеличить его пропускную способность как раз непросто. Кроме того, ВМ с непосредственными связями плохо поддаются реконфигурации.
В варианте с общей шиной все устройства вычислительной машины подключены к магистральной шине, служащей единственным трактом для потоков команд, данных и управления (рис. 1.2). Наличие общей шины существенно упрощает реализацию ВМ, позволяет легко менять состав и конфигурацию машины. Вместе с тем, именно с шиной связан и основной недостаток этой архитектуры: в каждый момент времени передавать информацию по шине может только одно устройство.
Рис. 1.2. Структурная схема вычислительной машины на базе
общей шины
Основную нагрузку на шину создают процессы обмена между процессором и памятью, связанные с извлечением из памяти команд и данных и записью в память результатов вычислений. При этом остаточных ресурсов шины может быть не достаточно для выполнения операций ввода/вывода (особенно в случае ввода или вывода больших массивов данных). С учетом вышеуказанных свойств шинная архитектура в представленном виде нашла применение лишь в малопроизводительных ВМ классов «мини» и «микро». Более эффективна архитектура с иерархией шин, где помимо магистральной шины имеется еще несколько отдельных шин. Они могут обеспечивать непосредственную связь между устройствами с наиболее интенсивным обменом. Другой вариант использования дополнительных шин – объединение однотипных устройств ввода/вывода и последующий выход с дополнительной шины на магистральную. Эти меры позволяют снизить нагрузку на общую шину и более рационально расходовать ее пропускную способность.
В зависимости от типа сигналов, передаваемых по линиям (проводникам) шины, различают группу линий (подшину) данных, адресную группу линий и управляющую группу линий шины. По линиям данных происходит обмен информацией между устройствами ВМ. Для указания адресации этого обмена служат адресные линии, по которым передаются уникальные идентификационные адреса (коды) отдельных устройств, адреса ячеек памяти, номера регистров ЦП, адреса «портов» ввода/вывода (к которым подключают периферийные устройства ввода/вывода) и т.п.
По управляющим линиям шины передаются специальные служебные сигналы управления, например, синхронизирующие работу электронных компонентов машины, выдающие команды на начало записи/считывания данных, подтверждающие готовность устройств ВМ к приему/передаче данных, инициализирующие и управляющие работой различных устройств и т.д.
С целью увеличения производительности ВМ посредством выполнения параллельных вычислений в состав машины может быть включено несколько центральных процессоров. Такие многопроцессорные ВМ (МВМ) (рис. 1.3), часто именуемые в литературе «мультипроцессорами», относят к классу ВМ так называемой «постнеймановской» архитектуры, так как параллелизм работы процессоров нарушает фон-неймановскую концепцию последовательного выполнения команд программы. В МВМ каждый ЦП имеет полный доступ (или, другими словами, может адресоваться) ко всей общей памяти машины.
Одним из эффективнейших направлений развития вычислительной техники стало построение так называемых многомашинных вычислительных систем (ММВС) (рис. 1.4). Принципиальным отличием ММВС от многопроцессорных ВМ является то, что входящие в состав ММВС отдельные ВМ (с полным или минимально необходимым набором главных и периферийных устройств) или/и отдельные так называемые вычислительные модули (ВМод) (включающие центральный процессор, основную память, интерфейсное устройство и, возможно, дисковую память) имеют свою собственную основную память. Вычислительные машины или/и вычислительные модули связываются между собой посредством некоторой коммуникационно-коммутационной среды (ККС).
Рис. 1.3. Структурная схема многопроцессорной вычислительной
машины с общей памятью
Рис. 1.4. Структурная схема многомашинной вычислительной системы
Всю совокупность ММВС обычно разделяют на два крайних по архитектуре класса, которые до сих пор не имеют общепринятого и устоявшегося наименования. Несмотря на отсутствие единой терминологии, один из этих классов чаще всего называют классом «многомашинных вычислительных систем сосредоточенного типа», а другой – классом «многомашинных вычислительных систем распределенного типа» или «распределенных вычислительных систем».
ММВС сосредоточенного типа полностью располагается на одной ограниченной по размерам площади (например, в одном каркасе, одном или нескольких шкафах одного либо близко расположенных помещений) и администрируется одной организацией. Для связи отдельных машин или модулей такой ММВС используются быстродействующие интерфейсные линии.
ММВС распределенного типа или распределенные вычислительные системы, имеют существенное сходство с ММВС сосредоточенного типа в том, что в них также нет общей физической памяти, а у каждого узла (машины или модуля) есть своя основная память. Но в отличие от ММВС сосредоточенного типа, узлы распределенной вычислительной системы связаны друг с другом не столь жестко, могут располагаться на значительном расстоянии друг от друга (в пределе, по всему миру) и администрироваться разными организациями. Кроме того, узел распределенной системы, как правило, представляет собой полноценную ВМ с полным набором периферийных устройств. Наиболее ярким примером распределенной системы является Интернет. Распределенные вычислительные системы обычно называют вычислительными (или компьютерными) сетями.
ММВС могут быть гомогенными или гетерогенными. Гомогенные системы в самом общем случае строятся на основе одинаковых по типу и составу машин или модулей, которые управляются одинаковыми операционными системами, и объединяются на базе единой коммуникационной технологии. Гетерогенные ММВС могут содержать широкий спектр независимых машин или модулей, разных по составу, типу процессоров, объему памяти, а также соединенных посредством разнообразных коммуникационных технологий. Каждая из ВМ в такой системе в общем случае может работать под управлением собственной оригинальной операционной системы. В подавляющем большинстве практических реализаций ММВС сосредоточенного типа являются гомогенными, а распределенные вычислительные системы – гетерогенными.
Современные тенденции разработки ММВС сосредоточенного типа заключаются в широком использовании в составе таких систем типовых аппаратных компонентов, серийно выпускаемых электронной промышленностью. В результате этого проектирование ММВС сводится к определенному комплексированию стандартных базовых устройств и построению таким образом необходимых сложных конфигураций систем из элементарных компонентов. Более того, компонентами высокопроизводительных ММВС очень часто служат самостоятельные однопроцессорные или многопроцессорные ВМ. Поэтому в настоящее время четкое проведение границы между понятиями ММВС и МВМ при рассмотрении конкретной практической разработки становится затруднительным. С учетом указанных тенденций комплексирования ММВС, а также того, что ММВС изначально являются многопроцессорными системами (даже при их комплектации однопроцессорными ВМ), целесообразно именовать сложные гибридные вычислительные системы сосредоточенного типа многопроцессорными вычислительными комплексами (МВК).
Важнейшей функциональной характеристикой вычислительных машин и систем является их производительность. Для оценки этой характеристики обычно применяется такая единица измерения производительности, как количество операций над числами с плавающей точкой в секунду – Flops (Floating point operations per second). Различают пиковую и реальную производительность вычислительных машин и систем. Пиковая производительность – это теоретическое значение, пропорциональное произведению тактовой частоты процессора на максимальное число операций, выполняемых за один такт (для однопроцессорных машин) или произведению пиковой производительности процессора на число процессоров в машине или системе (для многопроцессорных машин и систем). Пиковые значения производительности являются предельно оцениваемыми показателями и на практике они не достижимы. Реальная производительность вычислительных машин и систем определяется по результатам решения тестовых или реальных задач. Например, оценка производительности машин и систем при включении их в мировой рейтинг Тор500 производится по результатам теста UNPACK – реальной академической задачи на решение системы линейных уравнений.
Производительность вычислительных машин и систем, выраженная в единицах Flops (чаще всего в их производных: MFlops – миллион операций с плавающей точкой в секунду, GFlops – миллиард операций с плавающей точкой в секунду, TFlops – триллион операций с плавающей точкой в секунду), служит основным классификационным показателем, по которому вычислительные машины и системы ранжируются от скромных персональных компьютеров с производительностью, измеряемой единицами MFlops, до самого мощного по состоянию на 2005 год суперкомпьютера с реальная производительностью, превышающей 100 TFlops. Производительность ВМ и ВС определяет области их практического использования (от индивидуальных пользователей с их локальными относительно несложными задачами до крупных организаций с трудоемкими научно-техническими и экономическими задачами).
Важное значение имеет классификация вычислительных машин и систем по назначению. В этом случае выделяют универсальные, проблемно-ориентированные и специализированные ВМ и ВС.
Универсальные ВМ и ВС предназначены для решения самых разнообразных научных, инженерно-технических, экономических, информационных и других задач, отличающихся сложностью алгоритмов и большим объемом обрабатываемых данных. Этот класс ВМ и ВС является наиболее распространенным. Характерными чертами универсальных ВМ и ВС являются:
– высокая производительность;
– разнообразие форм обрабатываемых данных (двоичных, десятичных, символьных) при большом диапазоне их изменения и высокой точности их представления;
– обширная номенклатура выполняемых операций (как арифметических и логических, так и специальных);
– большая емкость оперативной памяти;
– развитая организация подсистем ввода/вывода информации, обеспечивающая подключение разнообразных видов внешних устройств.
Проблемно-ориентированные ВМ и ВС предназначены для решения более узкого круга задач, связанных, как правило, с управлением технологическими объектами; регистрацией, накоплением и обработкой относительно небольших объемов данных; выполнением расчетов по сравнительно несложным алгоритмам. Они обладают ограниченными (по сравнению с универсальными ВМ и ВС), аппаратными и программными ресурсами.
Специализированные ВМ и ВС предназначены для решения определенного узкого круга задач или реализации строго определенной группы функций. Такая узкая ориентация позволяет четко специализировать их структуру, существенно снизить их сложность и стоимость при сохранении высокой производительности и надежности работы. К специализированным ВМ можно отнести, например, программируемые микропроцессоры специального назначения; адаптеры и контроллеры, выполняющие логические функции управления отдельными несложными техническими устройствами, агрегатами и процессами; устройства согласования и сопряжения работы узлов вычислительных систем.
Основной классифицирующей характеристикой вычислительных сетей является их масштабная территориальная характеристика. В соответствии с этой характеристикой прежде всего выделяют два класса сетей, крайне противоположных по масштабу охватываемой территории и протяженности линий связи. Это локальные вычислительные сети (ЛВС) и глобальные вычислительные сети (ГВС). Обычно под локальной сетью понимают вычислительную сеть, абоненты которой размещены на относительно небольшой территории, например в пределах одной или нескольких комнат одного помещения или нескольких близко расположенных зданий. Глобальные сети объединяют абонентов, удаленных на значительные расстояния и часто расположенных в разных городах, странах и даже континентах. Выделяют также некоторые промежуточные классы, границы между которыми весьма расплывчаты. Более подробно вопросы классификации вычислительных сетей и их основные характеристики рассмотрены далее в разделах 6 и 10.
1.3. Хронология разработки и эволюции
вычислительных машин и систем
Хронологию разработки и эволюции вычислительной техники принято рассматривать с точки зрения смены поколений вычислительных машин. Каждое поколение ВМ в начальный момент развития характеризуется качественным скачком в росте основных характеристик, вызванным обычно переходом на новую элементную базу, а также относительной стабильностью архитектурных и технологических решений. Разбиение поколений машин по годам весьма условно. В то время, когда начиналось активное использование ВМ одного поколения, создавались предпосылки для возникновения следующего. Кроме элементной базы для оценки степени развития ВМ одного поколения используются такие показатели, как архитектура, производительность, программное обеспечение, уровень развития внешних устройств.
Для первого поколения ВМ (середина 1940-х годов – середина 1950-х годов) характерно применение вакуумно-ламповой технологии (электронных вакуумных ламп), систем памяти на магнитных барабанах и электростатических трубках. Данные и программы вводились в основном с помощью перфокарт и перфолент. В машинах первого поколения использовался машинный язык – способ записи программ, допускающий их непосредственное исполнение в машине. Как правило, для каждой ВМ существовал свой собственный машинный язык, а программа на машинном языке представляла собой последовательность машинных команд, которые могли быть выполнены обычно только процессором данной ВМ. Это существенно ограничивало область применения машин первого поколения.
К ВМ первого поколения относятся несколько американских разработок, среди которых наиболее значимые – уже упоминавшийся ENIAC, а также универсальные вычислительные машины EDVAC (Electronic Discret Variable Automatic Computer – «электронный автоматический компьютер с дискретными переменными») (1950 г.) и UNIVAC (Universal Automatic Computer – «универсальный автоматический компьютер») (1952 г.).
С 1948 года разработка вычислительных машин активно велась и в СССР под руководством С. А. Лебедева в Институте электротехники Академии наук Украины. В 1951 году была введена в эксплуатацию МЭСМ (Малая Электронная Счетная Машина). МЭСМ стала не только первой универсальной ламповой вычислительной машиной в СССР, но и Европе. В 1952 году была построена еще одна отечественная ВМ – М-1 (И. С. Брук и др.). В 1953 году вступила в эксплуатацию самая производительная в Европе и одна из лучших в то время в мире ВМ БЭСМ (Большая Электронная Счетная Машина), разработанная под руководством академиков С. А. Лебедева, М. А. Лаврентьева, М. В. Келдыша в Институте точной механике и вычислительной техники Академии наук СССР. Примерно в то же время были выпущены средние по производительности ламповые ВМ «Стрела» (Ю. А. Базилевский, Б. И. Рамеев) и М-2 (И. С. Брук и др.).
ВМ первого поколения были громоздкими, дорогими, потребляющими большое количество электроэнергии и крайне ненадежными вследствие использования в них электронных вакуумных ламп. Однако научные исследования в области электроники открыли новые перспективы качественного улучшения вычислительной техники. В 1948 году был изобретен полупроводниковый транзистор – электронный элемент, выполнявший те же функции, что и электронные лампы, но имевший в сотни раз меньшие габариты и потребление электроэнергии, а, следовательно, и тепловыделение. С 1954 года кремниевые транзисторы стали выпускаться серийно, примерно в то же время появились новые устройства для организации хранения информации – малогабаритные ферритовые сердечники. Эти разработки легли в основу создания ВМ второго поколения (середина 1950-х годов – начало 1960-х годов). Применение транзисторов существенно снизило габариты и потребление электроэнергии, повысило надежность и производительность ВМ. Были разработаны также более эффективные внешние устройства хранения информации – ленточные и дисковые магнитные носители.
Первой ВМ, выполненной полностью на полупроводниковых элементах, считается американская модель TRADIC (TRAnsistor Digital Computer – «транзисторный цифровой компьютер»). Следует отметить также другие значимые разработки полупроводниковых ВМ второго поколения: TX-0, IBM 1620, 1790, 7030.
Среди отечественных разработок того периода времени прежде всего следует отметить рекордные серии машин БЭСМ-2, БЭСМ-3, БЭСМ-4 и М-20, М-40, а также серии машин «Минск», «Урал», «Днепр» и др.
На замену примитивному машинному языку, применявшемуся в ВМ первого поколения, пришел более совершенный машинный язык низкого уровня – ассемблер, написание программ на котором стало более наглядным и понятным. С конца 1950-х годов ВМ стали интенсивно использоваться в государственных организациях, научно-исследовательских учреждениях, крупных промышленных и торговых предприятиях во всем мире. Расширение области применения ВМ потребовало создание новых технологий программирования. Были разработаны более естественные и универсальные языки программирования, получившие название языков высокого уровня. Это, прежде всего языки Fortran (для научно-технических вычислений) и Cobol (для финансово-экономических расчетов). Именно со вторым поколением ВМ началось развитие индустрии программного обеспечения.
В 1958 году американским инженером Джеком Килби была разработана первая интегральная микросхема – кремниевый полупроводниковый кристалл, на котором базируются миниатюрные активные элементы (транзисторы и диоды). Такая интегральная микросхема представляет собой логически законченный функциональный блок, соответствующий достаточно сложной транзисторной схеме. В том же году американец Роберт Нойс разработал промышленный образец интегральной микросхемы, так называемый «чип» (chip – дословно «стружка, щепка»). Отметим, что впоследствии именно Р. Нойс основал всемирно известную и наиболее крупную корпорацию Intel (Integrated electronics) по производству интегральных микросхем.
Третье поколение ВМ (начало 1960-х годов – начало 1970-х годов) характеризуется переходом от дискретных полупроводниковых элементов к интегральным микросхемам и началом применения полупроводниковых запоминающих устройств. Микросхемы позволяли сделать вычислительные машины более производительными, существенно снизить их габариты и потребление электроэнергии. В 1964 году на основе интегральных микросхем корпорацией IBM была выпущена первая ВМ серии System 360. Семейство машин IBM System 360 – самое многочисленное семейство машин третьего поколения и одно их самых удачных в истории производства ВМ. Выпуск IBM System 360 можно считать началом массового производства вычислительной техники.
Появление стандартизованного, хорошо масштабируемого семейства ВМ универсального назначения IBM System 360 привело к становлению новой идеологии выполнения вычислительных работ на основе архитектуры так называемых «мэйнфреймов» (mainframe – дословно «главный остов, каркас»). Именно в этот период были реализованы важнейшие механизмы мультипрограммирования и поддержки многотерминального многопользовательского режима. Это стало возможным благодаря резко возросшим возможностям ВМ, при которых последовательное выполнение только одной программы становилось малоэффективным. В режиме же мультипрограммирования в памяти ВМ могут находиться одновременно несколько программ, попеременно выполняющихся на одном процессоре, что приводит к его более интенсивной загрузке, а, следовательно, к повышению производительности всей ВМ в целом. Многотерминальный режим позволил осуществить многопользовательскую «виртуально одновременную» работу с машиной нескольких десятков пользователей. Удаленные терминалы стало возможным размещать не только в пределах непосредственной близости от ВМ, и таким образом зародились первые прообразы сетевых технологий удаленного доступа посредством телефонных соединений или выделенных линий связи. Многотерминальные системы стали в определенной степени первыми аналогами вычислительных сетей, но при этом сохраняли сущность централизованной обработки информации автономно работающим мэйнфреймом.
Первой же полноценной по тем временам вычислительной сетью глобального типа стала реализация в 1969 году проекта по объединению нескольких удаленных сверхмощных ВМ оборонных, управляющих и научных центров на территории США. Эти работы финансировались Министерством обороны США и поэтому первая глобальная сеть имела название ARPANet (Advanced Research Project Agency Net – сеть Агентства перспективных исследовательских программ Министерства обороны). Вначале ARPANet объединяла всего четыре ВМ, в 1971 году – уже четырнадцать, а в 1972 году – тридцать семь. В результате дальнейшей эволюции на базе ARPANet и возникла современная глобальная сеть Интернет.
Важной разработкой третьего поколения ВМ стали машины среднего класса (так называемые миниВМ) корпорации DEC (Digital Eguipment Corporation – «корпорация цифрового оборудования») – семейства PDP-VAX. Именно в этих машинах впервые была применена «открытая» архитектура с общей шиной (см. подраздел 1.2) ВМ средней производительности характеризовались высокой надежностью, компактностью, малым энергопотреблением и низкой стоимостью по сравнению со стоимостью высокопроизводительных ВМ типа IBM System 360. Это дало толчок к интенсивному применению миниВМ в небольших организациях и фирмах, а также образовательных учреждениях.
В этот период времени продолжалось интенсивное увеличение скорости обработки информации. Появились новые внешние устройства, облегчающие взаимодействие человека с компьютером. Уже в 1968 году Дуглас Энгельбарт из Станфордского института продемонстрировал созданную им систему взаимодействия компьютера с пользователем, состоящую из клавиатуры, указателя типа «мышь» и графического интерфейса, а также некоторые программы, в частности текстовый процессор и систему гипертекста.
В 1964 году появился язык программирования Бейсик (BASIC – Beginner`s All-purpose Symbolic Instruction Code, «многоцелевой символьный программный код для начинающих»), предназначенный для обучения начинающих программистов. Бейсик обеспечивал быстрый ввод и проверку программ. Этот язык не очень подходил для написания серьезных программ, однако он давал общее представление о программировании и позволял быстро овладеть основными навыками программирования. В 1970 году швейцарец Никлас Вирт разработал язык программирования Паскаль, который оказался очень удобен для решения многих прикладных задач. Этот язык прекрасно обеспечивал применение методов структурного программирования, что стало необходимым при создании больших программных систем. Продолжалось совершенствование программного обеспечения. Операционные системы строились таким образом, чтобы поддерживать все большее количество внешних устройств, появились первые коммерческие операционные системы и новые прикладные программы.
В 1967 году в СССР была сдана в эксплуатацию одна из лучших в мире ВМ третьего поколения – БЭСМ-6. Легендарная БЭСМ-6 долгое время служила базовой машиной для проведения больших объемов вычислительных работ, обеспечивших выдающиеся успехи СССР в ядерной физике, атомной энергетике, авиастроении, аэродинамике, ракетно-космической технике, военно-технической промышленности, а также обеспечивших оборонную безопасность нашего государства. Продолжением семейства машин М-20 стали М-220 и М-222. Оригинальная миниВМ для инженерных расчетов «Мир» была разработана под руководством В. М. Глушкова. В качестве языка программирования этой ВМ использовался «алголоподобный» язык высокого уровня «АлМир». Следует отметить также оригинальные отечественные разработки миниВМ «Проминь», «Раздан», «Наири».
В СССР по лицензионному соглашению с корпорациями IBM и DEC начали создаваться унифицированные серии «ЕС ЭВМ» (Единая Система ЭВМ), «СМ ЭВМ» (Система Малых ЭВМ) и микроВМ «Электроника». В их основы были положены модели System 360, 370, PDP.
Дальнейшее развитие вычислительных машин связано с разработкой так называемых больших интегральных схем (БИС). Ещё в 1959 году инженеры фирмы Datapoint пришли к важному выводу о необходимости в ВМ центрального арифметико-логического блока, который мог бы управлять программами, вычислениями и устройствами машины. Сотрудники Datapoint имели ввиду микропроцессор, принципиальные технические решения которого они и разработали, а затем совместно с корпорацией Intel стали осуществлять его промышленную доводку. В 1971 году Intel выпустила первый промышленный образец микропроцессора, представлявшего собой интегральную микросхему, на которой сосредоточено обрабатывающее устройство с собственной системой команд. Конструкция микропроцессора позволяет применять его для решения широкого круга задач, создавая при этом различные функциональные устройства. Использование микропроцессоров значительно упростило конструкцию ВМ. Практически сразу микропроцессоры получили широкое применение в различных системах управления от космических аппаратов до бытовых приборов.
В течение следующих десятилетий продолжалось интенсивное увеличение быстродействия и степени интеграции микропроцессоров. Появились сверхбольшие интегральные схемы (СБИС), включающие сотни тысяч и даже десятки миллионов активных элементов в одном кристалле. Это позволило продолжить уменьшение размеров и стоимости ВМ и повысить их производительность и надежность. Вычислительные машины, построенные на больших и сверхбольших интегральных схемах (основная из которых – микропроцессор), относят к четвертому поколению ВМ (с начала 1970-х годов). Практически одновременно с микропроцессором появились микроВМ или так называемые персональные ВМ (персональные компьютеры – ПК), отличительной особенностью которых стали малые габариты и низкая стоимость. Благодаря своим характеристикам персональные ВМ предоставили возможность практически любому человеку познакомиться с вычислительной техникой. ВМ перестали быть прерогативой крупных корпораций и государственных учреждений, а превратились в товар массового потребления в настольном исполнении. Именно после выпуска первых персональных ВМ в русскоязычной литературе и обиходной речи появился и закрепился англоязычный синоним термина «вычислительная машина» – термин «компьютер».
Одним из пионеров производства ПК была корпорация Apple. Её основатели Стив Джобс и Стив Возняк сконструировали первую модель ПК в 1976 году и назвали ее Apple I. В 1977 году корпорация Apple представила следующую модель ПК – Apple II. У новой модели был изящный пластиковый корпус со встроенной клавиатурой. Впервые компьютер приобрел черты относительно недорогого компактного бытового прибора с «дружелюбным» интерфейсом взаимодействия с пользователем. Объемы производства и продаж персональных компьютеров после этого резко возросли.
В 1981 году крупнейшая компьютерная корпорация IBM представила свой первый персональный компьютер IBM PC (Personal Computer – «персональный компьютер» ). В течение двух лет было продано более пяти миллионов этих компьютеров. В то же время корпорация Microsoft, основанная в 1975 году Биллом Гейтсом и Полом Алленом, начинает выпуск программного обеспечения для IBM PC. Появляются клоны IBM PC, но все они, так или иначе, отражают стандарты, заложенные IBM. Появление клонов IBM PC способствовало росту промышленного производства персональных компьютеров.
В 1984 году корпорация Apple представила компьютер «Macintosh», который в то время благодаря наличию развитого графического интерфейса пользователя в сочетании с большим набором текстовых и графических программ представлял собой идеальный компьютер для небольших офисов, школ и домашнего использования. Это послужило как эффективной рекламой всего класса персональных компьютеров вообще, так и хорошим психологическим толчком к массовым покупкам, а, следовательно, к расширению производства и дальнейшего совершенствования персональных компьютеров. Последующая история разработок вычислительных машин тесно связана с историей эволюции микропроцессорной техники (см. разделе 2).
Стремительное развитие ВМ во второй половине 1980-х годов, создание МВМ и ММВС явились побудительными мотивами прогресса в области параллельных вычислений. МВК с сотнями и тысячами процессоров стали системами с массовым параллелизмом, позволяющими решать сверхсложные задачи мировой науки, экономики и промышленности, глобальной метеорологии, космической навигации, связи, энергетики и т.п.
1980-е годы ознаменованы важнейшими для всего развития ИКТ решениями по объединению ресурсов миниВМ и микроВМ посредством установления соединений между ними, следствием чего стало интенсивное развитие локальных вычислительных сетей и их технологий. Первые локальные сети были одноранговые, то есть все компьютеры, включенные в сеть, обладали равными правами и возможностями по отношению к другим компьютерам сети, а кроме этого все сетевые компьютеры имели примерно одинаковый уровень производительности. Дальнейший прогресс в идеологии распределенной обработки информации привел к внедрению технологии «клиент – сервер» и построению локальных сетей с так называемым выделенным сервером. На сетевую ВМ, которая назначалась на роль выделенного сервера, возлагались некоторые служебные функции, например, хранения общей для всех остальных компьютеров сети информационной и программной базы, управления файлами и т.п. Другими словами, такая ВМ являлась по сути обслуживающей для всех остальных рядовых (клиентских) машин (клиентских рабочих станций). Из-за специфического функционального назначения – обслуживания – за такими ВМ и закрепился термин сервер (server от «serve» – «обслуживать»). В зависимости от сложности решаемых задач сервер локальной сети может представлять собой такую же по производительности машину, как и клиентская ВМ, а может быть как более производительной машиной, так и менее производительной (что вполне допустимо и экономически оправданно в небольших сетях при малой загрузке сервера).
Последующее объединение малых локальных сетей между собой и создание таким образом крупных локальных сетей, а также необходимость решения более сложных задач существенно увеличивало нагрузку на серверы, в качестве которых все шире стали применяться высокопроизводительные ВМ, в том числе многопроцессорные.
Следующим шагом эволюции вычислительных сетей стала интеграция локальных и глобальных сетей, что привело к значительному повышению нагрузки на серверные ВМ и применению в качестве глобальных серверов мощных МВК (суперкомпьютеров).
Развитие вычислительных сетей потребовало интенсивного развития цифровых средств связи и разработки новых коммуникационно-коммутационных сред (см. разделы 7,13).
Считается, что с 1982 года ведутся разработки компьютеров так называемого пятого поколения, ориентированных на эффективную обработку знаний, которая свойственна не только человеку, но может вестись и компьютером с целью решения сложных проблем принятия адекватных решений.
Будущими поколениями ВМ и ВС видимо будут оптоэлектронные компьютеры с массовым параллелизмом выполняемых операций и нейронной структурой распределенной сети большого числа несложных микропроцессоров, моделирующих архитектуру и работу нейронных биологических систем.
Резюме
Техническими предпосылками разработки электронных вычислительных машин были механические и электромеханические счетные устройства. Математической основой функционирования вычислительных машин является двоичная система исчисления и символическая логика. С 1940 по 1946 год было разработано несколько вариантов электромеханических вычислительных устройств, претендующих на роль первой вычислительной машины. Однако чаще всего эта роль отводится цифровой машине ENIAC, которая была построена на электронных вакуумных лампах и во многих чертах является прообразом современных универсальных вычислительных машин.
Под архитектурой ВМ обычно понимается совокупность ее основных функциональных блоков и схем их взаимодействия, определяющих функционально-логическую и структурную организацию вычислительной машины. Понятие архитектуры охватывает наиболее существенные аспекты построения и функционирования ВМ. Фундаментальные основы структурной организации ВМ базируются на классических принципах Джона фон Неймана: двоичного кодирования, программного управления, однородности памяти, адресности. Ключевая идея классических принципов – хранение в памяти вычислительной машины исполняемой ею программы.
Основными устройствами классической ВМ являются устройство памяти (запоминающее устройство), устройство управления, арифметико-логическое устройство, устройства ввода и вывода информации. Устройство управления и арифметико-логическое устройство обычно рассматривают как единое устройство, называемое центральным процессором. Базовые типы структурной организации вычислительных машин – архитектуры ВМ с непосредственными связями и на основе общей шины. С целью увеличения производительности ВМ и ВС посредством выполнения параллельных вычислений в состав машины может быть включено несколько центральных процессоров, а группа отдельных ВМ объединена в многомашинную вычислительную систему.
Всю совокупность ММВС обычно разделяют на два крайних по архитектуре класса: сосредоточенного типа и распределенного типа. Многомашинные вычислительные системы распределенного типа называют распределенными вычислительными системами или вычислительными (компьютерными) сетями.
С учетом современных тенденций комплексирования многопроцессорных многомашинных вычислительных систем сосредоточенного типа они представляют собой сложные гибридные вычислительные системы, которые целесообразно именовать многопроцессорными вычислительными комплексами.
Производительность вычислительных машин и систем оценивается количеством операций над числами с плавающей точкой в секунду. Эта характеристика служит основным показателем, по которому ВМ и ВС ранжируют по разным классам. Производительность ВМ и ВС определяет области их практического использования. ВМ и ВС также классифицируются по назначению на универсальные, проблемно-ориентированные и специализированные.
Хронологию разработки и эволюции вычислительной техники принято рассматривать с точки зрения смены поколений вычислительных машин, каждое из которых характеризуется определенной элементной базой построения ВМ. Как правило, выделяют поколения ВМ на базе электронных вакуумных ламп, полупроводниковых элементов, интегральных микросхем и «больших» интегральных микросхем. Наиболее значимой революционной вехой стал выпуск персональных ВМ (персональных компьютеров), отличающихся малыми габаритами, высокой надежностью, простым и «дружественным» интерфейсом, низкой стоимостью при относительно высокой производительности. Благодаря этим свойствам компьютеры превратились в товар массового потребления в настольном и даже мобильном исполнении. Последующее интенсивное развитие и совершенствование персональных компьютеров обусловлено прогрессом в области микропроцессорной техники, внутренних электронных компонентов и внешних периферийных устройств.
Основной классифицирующей характеристикой вычислительных сетей является их масштабная территориальная характеристика, в соответствии с которой прежде всего выделяют локальные и глобальные вычислительные сети. Первой вычислительной сетью глобального типа стала реализация проекта объединения нескольких удаленных сверхмощных ВМ. Первые локальные сети появились в результате установления соединений между миниВМ и микроВМ (персональными ВМ). Развитие вычислительных сетей потребовало интенсивного развития цифровых средств связи и разработки новых коммуникационно-коммутационных сред, связывающих между собой ВМ и ВС.
Контрольные вопросы и задания
1. Изобретения каких технических устройств явились предпосылками разработки вычислительных машин?
2. Объясните принцип действия и сферы применения аналоговых вычислительных машин.
3. Изложите последовательность работы абстрактной вычислительной машины Тьюринга.
4. Какие математические концепции заложены в основу функционирования электронных вычислительных машин?
5. Какие ключевые идеи и принципы были внесены Джоном фон Нейманом в теорию и практику создания ВМ?
6. Представьте основные концепции построения вычислительных машин, разработанные С. А. Лебедевым.
7. Опишите состав и назначение основных функциональных устройств ВМ.
8. Чем отличается структурная схема ВМ на основе общей шины от классической структурной схемы ВМ?
9. Каковы преимущества и недостатки «открытой» («шинной») архитектуры построения ВМ?
10. В чем отличие шины данных от адресной шины и шины управления?
11. Какие цели преследуются при создании многопроцессорных ВМ и многомашинных ВС?
12. Охарактеризуйте различие многомашинных вычислительных систем сосредоточенного и распределенного типов.
13. Дайте определение понятиям гомогенности и гетерогенности ММВС.
14. Какой единицей измерения оценивается производительность ВМ и ВС?
15. Приведите классификацию ВМ и ВС по назначению.
16. Какие особенности функционирования характерны для компьютеров универсального применения?
17. По каким признакам принято различать поколения ВМ?
18. Охарактеризуйте наиболее значимые разработки ВМ первого поколения.
19. Какое изобретение легло в основу построения ВМ второго поколения?
20. Назовите и охарактеризуйте самые выдающиеся ВМ третьего поколения.
21. К каким изменениям характеристик ВМ привело использование в них в качестве элементной базы сверхбольших интегральных микросхем?
22. Охарактеризуйте этапы развития вычислительной техники в СССР.
23. Каковы основные отличительные качества класса персональных ВМ?
24. Приведите пример построения одной из первых вычислительных сетей глобального типа.
25. Опишите первоначальные этапы зарождения и эволюции локальных вычислительных сетей.
26. Дайте определение понятию «сервер». Какую функциональную роль играют серверы в системах распределенной обработки информации?
2. Центральные процессоры вычислительных машин
2.1. Назначение, состав и основные характеристики процессоров
Центральный процессор (далее для краткости – процессор) является основным вычислительным устройством ВМ, в задачу которого входит исполнение находящейся в памяти машины программы. Основные функциональные блоки (устройства) процессора – арифметико-логическое устройство (АЛУ) и устройство управления (УУ).
АЛУ осуществляет функции арифметической и логической обработки информации. АЛУ в свою очередь представляет собой комплекс специализированных операционных устройств, каждое из которых реализует определенное подмножество арифметических и логических операций с определенными типами данных из всего разнообразия операций и типов обрабатываемых данных, предусмотренных системой команд конкретной ВМ. При самом общем рассмотрении АЛУ образуют два вида операционных устройств. Это целочисленные операционные устройства и операционные устройства для обработки чисел в формате с плавающей запятой. В минимальном составе АЛУ содержит аппаратные компоненты, реализующие только арифметические операции сложения и вычитания чисел в формате с фиксированной запятой, а также основные логические операции и операции сдвига. Даже такой ограниченный состав АЛУ позволяет программными методами обеспечить выполнение всех остальных арифметических и логических операций для любых форматов представления информации. Однако более высокой скорости вычислений добиваются включением в состав АЛУ дополнительных аппаратных компонентов, специализированных на выполнении таких операций. По мере совершенствования технических и технологических характеристик процессоров количество специализированных аппаратных компонентов в составе АЛУ непрерывно увеличивается (более подробные сведения об операциях, реализуемых такими компонентами, см. далее в подразделе 2.2).
УУ выполняет функции управления вычислительным процессом и осуществляет автоматическое исполнение программы, обеспечивая для этого следующие основные действия: извлечение из памяти очередных команд, их расшифровку и преобразование в последовательность стандартных элементарных операций, занесение в АЛУ исходных данных, сохранение полученных в АЛУ результатов. УУ обеспечивает синхронизацию работы процессора, оперативной памяти, а также других устройств ВМ.
Помимо АЛУ и УУ процессор содержит набор устройств локальной памяти процессора – регистры памяти. Под регистром памяти обычно понимается устройство для временного хранения данных ограниченного размера. В процессорах регистры используются для хранения данных, необходимых для выполнения текущих операций. Чаще всего регистр имеет тот же размер, что и машинное слово, но может иметь и другую длину, равную целому числу байт. Регистры служат для выполнения определенных функций. Существуют регистры команд, на которые из оперативной памяти вызываются исполняемые команды; регистры адреса, содержимое которых соответствует некоторому адресу (адресу команды или адресу операнда, указанного в команде); регистры, на которые вызываются операнды; регистры, исполняющие роль счетчиков, стеков и т. п.
В состав современных процессоров, как правило, входит некоторый набор дополнительных буферных запоминающих устройств. Для наименования таких устройств применяется ставший уже традиционным термин кэш-память или просто кэш (от английского слова cache – убежище, тайник). Эту кэш-память (у которой быстродействие выше, чем у основной памяти) процессор использует для временного (промежуточного) хранения текущей и наиболее часто востребуемой информации, что позволяет снизить количество обращений процессора непосредственно к основной памяти и в целом повысить производительность процессора. Механизм использования кэш-памяти обычно называют кэшированием. Степень повышения производительности процессора за счет использования кэш-памяти в существенной мере определяется оптимальным для данного процессора объемом кэш-памяти и эффективностью применяемого способа кэширования. Более подробно о кэш-памяти процессора и способах ее наиболее эффективного использования изложено в специальном подразделе 3.4.
Главным показателем эффективности работы и технического совершенства процессора является его производительность. Зависит она от параметров самого процессора (точнее говоря так называемого «ядра процессора» (или «процессорного ядра»), обычно именуемого «кристаллом»), подсистемы памяти, процессорной шины. Производительность процессорного ядра определяется тремя основными параметрами:
1) разрядностью его регистров;
<< Пред. стр. 1 (из 12) След. >>