«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ Кафедра электронных приборов (ЭП) Е.С. Шандаров АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ Учебное пособие 2007 ПРИНЦИПЫ ПОСТРОЕНИЯ И АРХИТЕКТУРА ЭВМ ...»
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И
РАДИОЭЛЕКТРОНИКИ
Кафедра электронных приборов (ЭП)
Е.С. Шандаров
АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Учебное пособие
2007
ПРИНЦИПЫ ПОСТРОЕНИЯ И АРХИТЕКТУРА ЭВМ
Основные характеристики ЭВМ Первые электронные вычислительные машины (ЭВМ) появились всего лишь 50 лет тому назад. За это время микроэлектроника, вычислительная техника и вся индустрия информатики стали одними из основных составляющих мирового научно-технического прогресса. Влияние вычислительной техники на все сферы деятельности человека продолжает расширяться вширь и вглубь. В настоящее время ЭВМ используются не только для выполнения сложных расчетов, но и в управлении производственными процессами, в образовании, здравоохранении, экологии и т.д.Это объясняется тем, что ЭВМ способны обрабатывать любые виды информации: числовую, текстовую, табличную, графическую, видео, звуковую.
Электронная вычислительная машина - комплекс технических и программных средств, предназначенный для автоматизации подготовки и решения задач пользователей. Под пользователем понимают человека, в интересах которого проводится обработка данных на ЭВМ. В качестве пользователя могут выступать заказчики вычислительных работ, программисты, операторы. Как правило, время подготовки задач во много раз превышает время их решения.
Требования пользователей к выполнению вычислительных работ удовлетворяются специальным подбором и настройкой технических и программных средств. Обычно эти средства взаимосвязаны и объединяются в одну структуру.
Структура - совокупность элементов и их связей. Различают структуры технических, программных и аппаратурно-программных средств. Выбирая ЭВМ для решения св оих задач, пользователь интересуется функциональными возможностями технических и программных модулей (как быстро может быть решена задача, насколько ЭВМ подходит для решения данного круга задач, какой сервис программ имеется в ЭВМ, возможности диалогового режима, стоимость подготовки и решения задач и т.д.). При этом пользователь интересуется не конкретной технической и программной реализацией отдельных модулей, а более общими вопросами возможности организации вычислений. Последнее включается в понятие архитектуры ЭВМ, содержание которого достаточно обширно.
Архитектура ЭВМ - это многоуровневая иерархия аппаратурно-программных средств, из которых строится ЭВМ. Каждый из уровней допускает многовариантное построение и применение. Конкретная реализация уровней определяет особенности структурного построения ЭВМ. В последующих данного пособия эти вопросы подробно рассматриваются.
Детализацией архитектурного и структурного построения ЭВМ занимаются различные категории специалистов вычислительной техники. Инженеры-схемотехники проектируют отдельные технические устройства и разрабатывают методы их сопряжения друг с другом. Системные программисты создают программы управления техническими средствами, информационного взаимодействия между уровнями, организации вычислительного процесса. Программистыприкладники разрабатывают пакеты программ более высокого уровня, которые обеспечивают взаимодействие пользователей с ЭВМ и необходимый сервис при решении ими своих задач.
Самого же пользователя интересуют обычно более общие вопросы, касающиеся его взаимодействия с ЭВМ (человеко-машинного интерфейса), начиная со следующих групп характеристик ЭВМ, определяющих ее структуру:
технические и эксплуатационные характеристики ЭВМ (быстродействие и производительность, показатели надежности, достоверности, точности, емкость оперативной и внешней памяти, габаритные размеры, стоимость технических и программных средств, особенности эксплуатации и др.);
характеристики и состав функциональных модулей базовой конфигурации ЭВМ;
возможность расширения состава технических и программных средств; возможность изменения структуры;
состав программного обеспечения ЭВМ и сервисных услуг (операционная система или среда, пакеты прикладных программ средства автоматизации программирования).
, Одной из важнейших характеристик ЭВМ является ее быстродействие, которое характеризуется числом команд, выполняемых ЭВМ за одну секунду. Поскольку в состав команд ЭВМ включаются операции, различные по длительности выполнения и по вероятности их использования, то имеет смысл характеризовать его или средним быстродействием ЭВМ, или предельным (для самых “коротких” операций типа “регистр-регистр”). Современные вычислительные машины имеют очень высокие характеристики по быстродействию, измеряемые десятками и сотнями миллионов операций в секунду.
Реальное или эффективное быстродействие, обеспечиваемое ЭВМ, значительно ниже, и оно может сильно отличаться в зависимости от класса решаемых задач. Сравнение по быстродействию различных типов ЭВМ, резко отличающихся друг от друга своими характеристиками, не обеспечивает достоверных оценок. Поэтому очень часто вместо характеристики быстродействия используют связанную с ней характеристику производительности -объем работ, осуществляемых ЭВМ в единицу времени. Например, можно определять этот параметр числом задач, выполняемых за определенное время. Однако сравнение по данной характеристике ЭВМ различных типов может вызвать затруднения. Поскольку оценка производительности различных ЭВМ является важной практической задачей, хотя такая постановка вопроса также не вполне корректна, были предложены к использованию относительные характеристики производительности. Так, например, фирма Intel для оценки процессоров предложила тест, получивший название индекс iCOMP (Intel Comparative Microprocessor Performance). При его определении учитываются четыре главных аспекта производительности: работа с целыми числами, с плавающей точкой, графикой и видео. Данные имеют 16- и 32-разрядное представление. Каждый из восьми параметров при вычислении участвует со своим весовым коэффициентом, определяемым по усредненному соотношению между этими операциями в реальных задачах.
По индексу iCOMP микропроцессор Pentium 100 имеет значение 810, а Pentium 133 - 1000.
Другой важнейшей характеристикой ЭВМ является емкость запоминающих устройств. Емкость памяти измеряется количеством структурных единиц информации, которое может одновременно находиться в памяти. Этот показатель позволяет определить, какой набор программ и данных может быть одновременно размещен в памяти.
Наименьшей структурной единицей информации является бит - одна двоичная цифра. Как правило, емкость памяти оценивается в более крупных единицах измерения - байтах (байт равен восьми битам). Следующими единицами измерения служат 1 Кбайт = 1024 байта, 1 Мбайт = 1024Kбaйтa, 1 Гбайт = 1024 Мбайта.
Обычно отдельно характеризуют емкость оперативной памяти и емкость внешней памяти. В настоящее время персональные ЭВМ могут иметь емкость оперативной памяти от 128Мб и выше.
Этот показатель очень важен для определения, какие программные пакеты и их приложения могут одновременно обрабатываться в машине.
Емкость внешней памяти зависит от типа носителя. Так, емкость одной дискеты составляет 0,3- Мбайта в зависимости от типа дисковода и характеристик дискет. Емкость жесткого диска может достигать сотен Гбайтов, емкость компакт-диска (CD ROM) - сотни Мбайтов (640 Мбайт и выше) и т.д. Емкость внешней памяти характеризует объем программного обеспечения и отдельных программных продуктов, которые могут устанавливаться в ЭВМ.
Надежность - это способность ЭВМ при определенных условиях выполнять требуемые функции в течение заданного периода времени (стандарт ISO (Международная организация стандартов) 82/14-78).
Высокая надежность ЭВМ закладывается в процессе ее производства. Переход на новую элементную базу - сверхбольшие интегральные схемы (СБИС) резко сокращает число используемых интегральных схем, а значит, и число их соединений друг с другом. Хорошо продуманы компоновка компьютера и обеспечение требуемых режимов работы (охлаждение, защита от пыли). Модульный принцип построения позволяет легко проверять и контролировать работу всех устройств, проводить диагностику и устранение неисправностей.
Точность - возможность различать почти равные значения (стандарт ISO - 2382/2-76). Точность получения результатов обработки в основном определяется разрядностью ЭВМ, а также используемыми структурными единицами представления информации (байтом, словом, двойным словом).
Во многих применениях ЭВМ не требуется большой точности, например, при обрабатывании текстов и документов, при управлении технологическими процессами. В этом случае достаточно использовать 8-и, 16- разрядные двоичные коды.
При выполнении сложных расчетов требуется использовать более высокую разрядность (32, 64 и даже более). Поэтому все современные ЭВМ имеют возможность работы с 16- и 32- разрядными машинными словами. С помощью средств программирования языков высокого уровня этот диапазон может быть увеличен в несколько раз, что позволяет достигать очень высокой точности.
Достоверность - свойство информации быть правильно воспринятой. Достоверность характеризуется вероятностью получения безошибочных результатов. Заданный уровень достоверности обеспечивается аппаратурно-программными средствами контроля самой ЭВМ.
Возможны методы контроля достоверности путем решения эталонных задач и повторных расчетов. В особо ответственных случаях проводятся контрольные решения на других ЭВМ и сравнение результатов.
Классификация средств ЭВТ В настоящее время в мире произведены, работают и продолжают выпускаться миллионы вычислительных машин, относящихся к различным поколениям, типам, классам, отличающихся своими областями применения, техническими характеристиками и вычислительными возможностями. Традиционно электронную вычислительную технику (ЭВТ) подразделяют на аналоговую и цифровую.
В аналоговых вычислительных машинах (АВМ) обрабатываемая информация представляется соответствующими значениями аналоговых величин: тока, напряжения, угла поворота какого-то механизма и т.п. Эти машины обеспечивают приемлемое быстродействие, но не очень высокую точность вычислений (0.001 - 0.01). Распространены подобные машины не очень широко. Они используются в основном в проектных и научно-исследовательских учреждениях в составе различных стендов по отработке сложных образцов техники. По своему назначению их можно рассматривать как специализированные вычислительные машины.
В настоящее время под словом ЭВМ обычно понимают цифровые вычислительные машины, в которых информация кодируется двоичными кодами чисел. Именно эти машины благодаря универсальным возможностям и являются самой массовой вычислительной техникой.
Рынок современных компьютеров отличается разнообразием и динамизмом, каких еще не знала ни одна область человеческой деятельности. Каждый год стоимость вычислений сокращается примерно на 25-30%, стоимость хранения единицы информации - до 40%. Практически каждое десятилетие меняется поколение машин, каждые два года - основные типы микропроцессоров СБИС, определяющих характеристики новых ЭВМ. Такие темпы сохраняются уже многие годы.
То, что 10-15 лет назад считалось современной большой ЭВМ, в настоящее время является устаревшей техникой с очень скромными возможностями. Современный персональный компьютер с быстродействием в десятки и сотни миллионов операций в секунду становится доступным средством для массового пользователя.
В этих условиях любая предложенная классификация ЭВМ очень быстро устаревает и нуждается в корректировке. Например, в классификациях десятилетней давности широко использовались названия мини-, миди- и микроЭВМ, которые почти исчезли из обихода. Вместе с тем существует целый ряд закономерностей развития вычислительн техники, которые позволяют предвидеть и предсказывать основные результаты этого поступательного движения. Необходимо анализировать традиционные и новые области применения ЭВМ, классы и типы используемых вычислительных средств, сложившуюся конъюнктуру рынка информационных технологий и его динамику, количество и качество вычислительной техники, выпускаемой признанными лидерами производителями средств ЭВТ и т.д. Коротко рассмотрим эти основные вопросы, выяснение которых позволит понять, какая вычислительная техника требуется для решения определенных задач.
Академик В.М. Глушков указывал, что существуют три глобальные сферы деятельности человека, которые требуют использования качественно различных типов ЭВМ.
Первое направление является традиционным - применение ЭВМ для автоматизации вычислений. Научно-техническая революция во всех областях науки и техники постоянно выдвигает новые научные, инженерные, экономические задачи, которые требуют проведения крупномасштабных вычислений (задачи проектирования новых образцов техники, моделирования сложных процессов, атомная и космическая техника и др.). Отличительной особенностью этого направления является наличие хорошей математической основы, заложенной развитием математических наук и их приложений. Первые, а затем и последующие вычислительные машины классической структуры в первую очередь и создавались для автоматизации вычислений.
Вторая сфера применения ЭВМ связана с использованием их в системах управления. Она родилась примерно в 60-е годы, когда ЭВМ стали интенсивно внедряться в контуры управления автоматических и автоматизированных систем. Математическая база этой новой сферы практически отсутствовала, в течение последующих 15-20 лет она была создана.
Новое применение вычислительных машин потребовало видоизменения их структуры. ЭВМ, используемые в управлении, должны были не только обеспечивать вычисления, но и автоматизировать сбор данных и распределение результатов обработки.
Сопряжение с каналами связи потребовало усложнения режимов работы ЭВМ, сделало их многопрограммными и многопользовательскими. Для исключения взаимных помех между программами пользователей в структуру машин были введены средства разграничения: блоки прерываний и приоритетов, блоки защиты и т.п. Для управления разнообразной периферией стали использоваться специальные процессоры ввода-вывода данных или каналы. Именно тогда и появился дисплей как средство оперативного человеко-машинного взаимодействия пользователя с ЭВМ.
Новой сфере работ в наибольшей степени отвечали мини-ЭВМ. Именно они стали использоваться для управления отраслями, предприятиями, корпорациями. Машины нового типа удовлетворяли следующим требованиям:
были более дешевыми по сравнению с большими ЭВМ, обеспечивающими централизованную обработку данных;
были более надежными, особенно при работе в контуре управления;
обладали большой гибкостью и адаптируемостью настройки на конкретные условия функционирования;
имели архитектурную прозрачность, т.е. структура и функции ЭВМ были понятны пользователям.
Начало выпуска подобных ЭВМ связано с малыми управляющими машинами PDP фирмы DEC.
Термин «мини-ЭВМ» появился в 1968 г. применительно к модели PDP-8. В настоящее время использование мини-ЭВМ сокращается. Исчезает и термин мини-ЭВМ. На смену им приходят ЭВМ других типов: серверы, обеспечивающие диспетчерские функции в сетях ЭВМ, средние ЭВМ или старшие модели персональных ЭВМ (ПЭВМ).
Одновременно со структурными изменениями ЭВМ происходило и качественное изменение характера вычислений. Доля чисто математических расчетов постоянно сокращалась, и в настоящее время она составляет около 10% от всех вычислительных работ. Машины все больше стали использоваться для новых видов обработки: текстов, графики, звука и др.
Третье направление связано с применением ЭВМ для решения задач искусственного интеллекта. Напомним, что задачи искусственного интеллекта предполагают получение не точного результата, а чаще всего осредненного в статистическом, вероятностном смысле.
Примеров подобных задач много: задачи робототехники, доказательства теорем, машинного перевода текстов с одного языка на другой, планирования с учетом неполной информации, составления прогнозов, моделирования сложных процессов и явлений и т.д. Это направление все больше набирает силу. Во многих областях науки и техники создаются и совершенствуются базы данных и базы знаний, экспертные системы. Для технического обеспечения этого направления нужны качественно новые структуры ЭВМ с большим количеством вычислителей (ЭВМ или процессорных элементов), обеспечивающих параллелизм в вычислениях. По существу, ЭВМ уступают место сложнейшим вычислительным системам.
Уже это небольшое перечисление областей применения ЭВМ показывает, что для решения различных задач нужна соответственно и различная вычислительная техника. Поэтому рынок компьютеров постоянно имеет широкую градацию классов и моделей ЭВМ. Фирмыпроизводители средств ВТ очень внимательно отслеживают состояние рынка ЭВМ. Они не просто констатируют отдельные факты и тенденции, а стремятся активно воздействовать на них и опережать потребности потребителей. Так, например, фирма IBM в настоящее время выпускает в основном четыре класса компьютеров, перекрывая ими широкий класс задач пользователей.
Большие ЭВМ (mainframe), которые представляют собой многопользовательские машины с центральной обработкой, с большими возможностями для работы с базами данных, с различными формами удаленного доступа. Казалось, что с появлением быстропрогрессирующих ПЭВМ большие ЭВМ обречены на вымирание. Однако они продолжают развиваться и выпуск их снова стал увеличиваться, хотя их доля в общем парке постоянно снижается. По оценкам IBМ, около половины всего объема данных в информационных системах мира должно храниться именно на больших машинах. Новое их поколение предназначено для использования в сетях в качестве крупных серверов. Начало этого направления было положено фирмой IBM еще в 60-е годы выпуском машин IBM/360, IBM/370. Эти машины получили широкое распространение в мире.
Новая серия машин S/390 продолжает эту линию. Она насчитывает более двух десятков моделей:
IBM S/390 Parallel Enterprise Server-Generation 3 - призваны заменить большие ЭВМ ранних моделей. Они позволяют задавать переменную конфигурацию (число процессоров - 1-10, емкость оперативной памяти - 512-81292 Мбайта, число каналов – 3-256);
IBM S/ 390 Multiprise 2000 - ориентированы на использование на средних предприятиях (число процессоров 1-5).Развитие ЭВМ данного класса имеет большое значение для России.
В 1970-1990 гг. основные усилия нашей страны в области вычислительной техники были сосредоточены на программе ЕС ЭВМ (Единой системы ЭВМ), заимствовавшей архитектуру IBM 360/370. Было выпущено несколько десятков тысяч ЭВМ этой системы. Более пяти тысяч ЭВМ серии ЕС еще продолжают работать в различных учрежденияхи производствах. Большинство АСУ верхнего уровня государственного управления в РФ (в силовых структурах, банках, на транспорте, связи и т.д.) оснащено этими машинами. Накоплен громадный программноинформационный задел, который следует рассматривать как элемент национального достояния (по стоимости) и элемент национальной безопасности (по стратегической значимости). Поэтому принято решение на дальнейшее развитие этого направления. После подписания соглашения с фирмой IBM в марте 1993 г. Россия получила право производить 23 новейшие модели-аналоги ЭВМ IBM S/390 с производительностью от 1,5 до 167 млн. операций в секунду. По расходам на управление и эксплуатацию эти машины оказываются эффективнее других вычислительных средств.
Машины RS/6000 - очень мощные по производительности и предназначенные для построения рабочих станций для работы с графикой, Unix-серверов, кластерных комплексов. Первоначально эти машины предполагалось применять для обеспечения научных исследований.
Средние ЭВМ, предназначенные в первую очередь для работы в финансовых структурах (ЭВМ типа AS/400 (Advanced Portable Model 3) -“бизнес-компьютеры”, 64-разрядные). В этих машинах особое внимание уделяется сохранению и безопасности данных, программной совместимости и т.д. Они могут использоваться в качестве серверов в локальных сетях.
Компьютеры на платформе микросхем фирмы Intel. IBM-совместимые компьютеры этого класса составляют примерно 50% рынка всей компьютерной техники. Более половины их поступает в сферу малого бизнеса. Несмотря на столь внушительный объем выпуска персональных компьютеров этой платформы, фирма IBM проводит большие исследования и развитие собственной альтернативной платформы, получившей название Power PC. Это направление позволило бы значительно улучшить структуру аппаратурных средств ПК, а значит, и эффективность их применения. Однако новые модели этой платформы пока не выдерживают конкуренции с IBM PC. Немаловажным здесь является и неразвитость рынка программного обеспечения. Поэтому у массового пользователя это направление спроса не находит, и доля компьютеров с процессорами Power PC незначительна.
Кроме перечисленных типов вычислительн техники, необходимо отметить класс вычислительных систем, получивший название «суперЭВМ».
С развитием науки и техники постоянно выдвигаются новые крупномасштабные задачи, требующие выполнения больших объемов вычислений. Особенно эффективно применение суперЭВМ при решении задач проектирования, в которых натурные эксперименты оказываются дорогостоящими, недоступными или практически неосуществимыми. В этом случае ЭВМ позволяет методами численного моделирования получить результаты вычислительных экспериментов, обеспечивая приемлемое время и точность решения, т.е. решающим условием необходимости разработки и применения подобных ЭВМ является экономический показатель «производительность/стоимость». Например, при создании суперЭВМ GF-11 (Gigaflop-11) с быстродействием 11 млрд. операций в секунду предварительные расчеты, проведенные фирмой IBM, показали, что применение этой системы позволит решить целый комплекс новых задач.
Одной из таких задач было уточнение массы протона на основе квантовой хромодинамики доминирующей теории, пытающейся описать первичную структуру материи. При использовании новой ЭВМ должна была быть выполнена эта работа за 1,5 - 4 месяца с точностью 10%. Решение же этой задачи на существующей вычислительной технике требовало около 15 лет. Еще одним примером крупномасштабных задач следует считать задачу разработки новых схем СБИС для следующих поколений ЭВМ. СуперЭВМ позволяют по сравнению с другими типами машин точнее, быстрее и качественнее решать подобные задачи, обеспечивая необходимый приоритет в разработках перспективной вычислительной техники. Дальнейшее развитие суперЭВМ связывается с использованием направления массового параллелизма, при котором одновременно могут работать сотни и даже тысячи процессоров.
Необходимо отметить и еще один класс наиболее массовых средств ЭВТ - встраиваемые микропроцессоры. Успехи микроэлектроники позволяют создавать миниатюрные вычислительные устройства, вплоть до однокристальных ЭВМ. Эти устройства, универсальные по характеру применения, могут встраиваться в отдельные машины, объекты, системы. Они находят все большее применение в бытовой технике (телефонах, телевизорах, электронных часах, микроволновых печах и т.д.), в городском хозяйстве (энерго-, тепло-, водоснабжении, регулировке движения транспорта и т.д.), на производстве (робототехнике, управлении технологическими процессами). Постепенно они входят в нашу жизнь, все больше изменяя среду обитания человека.
Таким образом, можно предложить следующую классификацию средств вычислительной техники, в основу которой положено их разделение по быстродействию.
СуперЭВМ для решения крупномасштабных вычислительных зада для обслуживания крупнейших информационных банков данных.
Большие ЭВМ для комплектования ведомственных, территориальных и региональных вычислительных центров.
Средние ЭВМ широкого назначения для управления сложными технологическими производственными процессами. ЭВМ этого типа могут использоваться и для управления распределенной обработкой информации в качестве сетевых серверов.
Персональные и профессиональные ЭВМ, позволяющие удовлетворять индивидуальные потребности пользователей. На базе этого класса ЭВМ строятся автоматизированные рабочие места (АРМ) для специалистов различного уровня.
Встраиваемые микропроцессоры, осуществляющие автоматизацию управления отдельными устройствами и механизмами.
Высокие скорости вычислений, обеспечиваемые ЭВМ различных классов, позволяют перерабатывать и выдавать все большее количество информации, что, в свою очередь, порождает потребности в создании связей между отдельно используемыми ЭВМ. Поэтому все современные ЭВМ в настоящее время имеют средства подключения к сетям связи и комплексирования в системы.
Перечисленные типы ЭВМ, которые должны использоваться в индустриально развитых странах, образуют некое подобие пирамиды с определенным соотношением численности ЭВМ каждого слоя и набором их технических характеристик. Распределение вычислительны возможностей по слоям должно быть сбалансировано. Например, система обработки данных, используемая на Олимпийских играх в Атланте, содержала: 4 больших ЭВМ S/390,16 систем RS/6000, более систем AS/400, более 7000 IBM PC, более 1000 лазерных принтеров, более 250 локальных сетей Token Ring и др. Многие ПЭВМ имели сопряжение с датчиками скорости, времени и т.д.
Требуемое количество суперЭВМ для отдельной развитой страны, такой, как Россия, должно составлять 100-200 шт., больших ЭВМ - тысячи, средних - десятки и сотни тысяч, ПЭВМ миллионы, встраиваемых микроЭВМ - миллиарды. Все используемые ЭВМ различных классов образуют машинный парк страны, жизнедеятельность которого и его информационное насыщение определяют успехи информатизации общества и научно-технического прогресса страны.
Формирование сбалансированного машинного парка является сложной политической, экономической и социальной проблемой, решение которой требует многомиллиардных инвестиций. Для этого должна быть разработана соответствующая структура: создание специальных производств (элементной базы ЭВМ, программного обеспечения и технических связей), смена поколений машин и технологий, изменение форм экономического и административного управления, создание новых рабочих мест и т.д.
Общие принципы построения современных ЭВМ Основным принципом построения всех современных ЭВМ является программное управление. В основе его лежит представление алгоритма решения любой задачи в виде программы вычислений.
«Алгоритм - конечный набор предписаний, определяющий решение задачи посредством конечного количества операций».
«Программа ( для ЭВМ) - упорядоченная последовательность команд, подлежащая обработке»
(стандарт ISO 2382/1-84). Следует заметить, что строгого, однозначного определения алгоритма, равно как и однозначных методов его преобразования в программу вычислений, не существует.
Принцип программног управления может быть осуществлен различными способами. Стандартом для построения практически всех ЭВМ стал способ, описанный Дж. фон Нейманом в 1945 г. при построении еще первых образцов ЭВМ. Суть его заключается в следующем.
Все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов-команд. Каждая команда содержит указания на конкретную выполняемую операцию, место нахождения (адреса) операндов и ряд служебных признаков. Операнды - переменные, значения которых участвуют в операциях преобразования данных. Список (массив) всех переменных (входных данных, промежуточных значений и результатов вычислений) является еще одним неотъемлемым элементом любой программы.
Для доступа к программам, командам и операндам используются их адреса. В качестве адресов выступают номера ячеек памяти ЭВМ, предназначенных для хранения объектов. Информация (командная и данные: числовая, текстовая, графическая и т.п.) кодируется двоичными цифрами 0 и 1. Поэтому различные типы информации, размещенные в памяти ЭВМ, практически неразличимы, идентификация их возможна лишь при выполнении программы, согласно ее логике, по контексту.
Каждый тип информации имеет форматы - структурные единицы информации, закодированные двоичными цифрами 0 и 1. Обычно все форматы данных, используемые в ЭВМ, кратны байту, т.е.
состоят из целого числа байтов.
Последовательность битов в формате, имеющая определенный смысл, называется полем.
Например, в каждой команде программы различают поле кода операций, поле адресов операндов.
Применительно к числовой информации выделяют знаковые разряды, поле значащих разрядов чисел, старшие и младшие разряды.
Последовательность, состоящая из определенного принятого для данной ЭВМ числа байтов, называется словом. Для больших ЭВМ размер слова составляет четыре байта, для ПЭВМ - два байта. В качестве структурных элементов информации различают также полуслово, двойное слово и др.
В любой ЭВМ имеются устройства ввода информации (УВв), с помощью которых пользователи вводят в ЭВМ программы решаемых задач и данные к ним. Введенная информация полностью или частично сначала запоминается в оперативном запоминающем устройстве (ОЗУ), а затем переносится во внешнее запоминающее устройство (ВЗУ), предназначенное для длительного хранения информации, где преобразуется в специальный программный объект – файл.
«Файл - идентифицированная совокупность экземпляров полностью описанного в конкретной программе типа данных, находящихся вне программы во внешней памяти и доступных программе посредством специальных операций».
При использовании файла в вычислительном процессе его содержимое переносится в ОЗУ. Затем программная информация команда за командой считывается в устройство управления (УУ).
Устройство управления предназначается для автоматического выполнения программ путем принудительной координации всех остальных устройств ЭВМ. Цепи сигналов управления показаны на рис. 1.1 штриховыми линиями. Вызываемые из ОЗУ команды дешифрируются устройством управления:
определяются код операции, которую необходимо выполнить следующей, и адреса операндов, принимающих участие в данной операции.
В зависимости от количества используемых в команде операндов различаются одно-, двух-, трехадресные и безадресные команды. В одноадресных командах указывается, где находится один из двух обрабатываемых операндов. Второй операнд должен быть помещен заранее в арифметическое устройство (для этого в систему команд вводятся специальные команды пересылки данных между устройствами).
Двухадресные команды содержат указания о двух операндах, размещаемых в памяти (или в регистрах и памяти). После выполнения команды в один из этих адресов засылается результат, а находившийся там операнд теряется.
В трехадресных командах обычно два адреса указывают, где находятся исходные операнды, а третий - куда необходимо поместить результат.
В безадресных командах обычно обрабатывается один операнд, который до и после операции находится на одном из регистров арифметико-логического устройства (АЛУ). Кроме того, безадресные команды используются для выполнения служебных операций (очистить экран, заблокировать клавиатуру, снять блокировку и др.).
Все команды программы выполняются последовательно, команда за командой, в том порядке, как они записаны в памяти ЭВМ (естественный порядок следования команд). Этот порядок характерен для линейных программ, т.е. программ, не содержащих разветвлений. Для организации ветвлений используются команды, нарушающие естественный порядок следования команд. Отдельные признаки результатов r(r = 0, r < 0, r > 0 и др.) устройство управления использует для изменения порядка выполнения команд программы.
АЛУ выполняет арифметические и логические операции над данными. Основной частью АЛУ является операционный автомат, в состав которого входят сумматоры, счетчики, регистры, логические преобразователи и др. Оно каждый раз перенастраивается на выполнение очередной операции. Результаты выполнения отдельных операций сохраняются для последующего использования на одном из регистров АЛУ или записываются в память. Результаты, полученные после выполнения всей программы вычислений, передаются на устройства вывода (УВыв) информации. В качестве УВыв могут использоваться экран дисплея, принтер, графопостроитель и др.
Современные ЭВМ имеют достаточно развитые системы машинных операций. Например, ЭВМ типа IBM PC имеют около 200 различных операций (170 - 230 в зависимости от типа микропроцессора). Любая операция в ЭВМ выполняется по определенной микропрограмме, реализуемой в схемах АЛУ соответствующей последовательностью сигналов управления (микрокоманд). Каждая отдельная микрокоманда- это простейшее элементарное преобразование данных типа алгебраического сложения, сдвига, перезаписи информации и т.п.
Уже в первых ЭВМ для увеличения их производительности широко применялось совмещение операций. При этом последовательные фазы выполнения отдельных команд программы (формирование адресов операндов, выборка операндов, выполнение операции, отсылка результата) выполнялись отдельными функциональными блоками. В своей работе они образовывали своеобразный конвейер, а их параллельная работа позволяла обрабатывать различные фазы целого блока команд. Этот принцип получил дальнейшее развитие в ЭВМ следующих поколений. Но все же первые ЭВМ имели очень сильную централизацию управления, единые стандарты форматов команд и данных, “жесткое” построение циклов выполнения отдельных операций, что во многом объясняется ограниченными возможностями используемой в них элементной базы. Центральное УУ обслуживало не только вычислительные операции, но и операции ввода-вывода, пересылок данных между ЗУ и др. Все это позволяло в какой-то степени упростить аппаратуру ЭВМ, но сильно сдерживало рост их производительности.
В ЭВМ третьего поколения произошло усложнение структуры за счет разделения процессов ввода-вывода информации и ее обработки.
Сильносвязанные устройства АЛУ и УУ получили название процессор, т.е. устройство, предназначенное для обработки данных. В схеме ЭВМ появились также дополнительные устройства, которые имели названия: процессоры ввода-вывода, устройства управления обменом информацией, каналы ввода-вывода (КВВ). Последнее название получило наибольшее распространение применительно к большим ЭВМ. Здесь наметилась тенденция к децентрализации управления и параллельной работе отдельных устройств, что позволило резко повысить быстродействие ЭВМ в целом.
Среди каналов ввода-вывода выделяли мультиплексные каналы, способные обслуживать большое количество медленно работающих устройств ввода-вывода (УВВ), и селекторные каналы, обслуживающие в многоканальных режимах скоростные внешние запоминающие устройства (ВЗУ).
В персональных ЭВМ, относящихся к ЭВМ четвертого поколения, произошло дальнейшее изменение структуры. Они унаследовали ее от мини-ЭВМ.
Соединение всех устройств в единую машину обеспечивается с помощью общей шины, представляющей собой линии пере система аппаратурных соединений значительно упростила структуру, сделав ее еще более децентрализованной. Все передачи данных по шине осуществляются под управлением сервисных программ.
Ядро ПЭВМ образуют процессор и основная память (ОП), состоящая из оперативной памяти и постоянного запоминающего устройства (ПЗУ). ПЗУ предназначается для записи и постоянного хранения наиболее часто используемых программ управления. Подключение всех внешних устройств (ВнУ), дисплея, клавиатуры, внешних ЗУ и других обеспечивается через соответствующие адаптеры - согласователи скоростей работы сопрягаемых устройств или контроллеры - специальные устройства управления периферийной аппаратурой. Контроллеры в ПЭВМ играют роль каналов ввода-вывода. В качестве особых устройств следует выделить таймер - устройство измерения времени и контроллер прямого доступа к памяти (КПД) - устройство, обеспечивающее доступ к ОП, минуя процессор.
Способ формирования структуры ПЭВМ является достаточно логичным и естественным стандартом для данного класса ЭВМ.
Децентрализация построения и управления вызвала к жизни такие элементы, которые являются общим стандартом структур современных ЭВМ:
Модульность построения, магистральность, иерархия управления.
Модульность построения предполагает выделение в структуре ЭВМ достаточно автономных, функционально и конструктивно законченных устройств (процессор, модуль памяти, накопитель на жестком или гибком магнитном диске).
Модульная конструкция ЭВМ делает ее открытой системой, способной к адаптации и совершенствованию. К ЭВМ можно подключать дополнительные устройства, улучшая ее технические и экономические показатели. Появляется возможность увеличения вычислительной мощности, улучшения структуры путем замены отдельных устройств на более совершенные, изменения и управления конфигурацией системы, приспособления ее к конкретным условиям применения в соответствии с требованиями пользователей.
В современных ЭВМ принцип децентрализации и параллельной работы распространен как на периферийные устройства, так и на сами ЭВМ (процессоры). Появились вычислительные системы, содержащие несколько вычислителей (ЭВМ или процессоры), работающие согласованно и параллельно. Внутри самой ЭВМ произошло еще более резкое разделение функций между средствами обработки. Появились отдельные специализированные процессоры, например сопроцессоры, выполняющие обработку чисел с плавающей точкой, матричные процессоры и др.
Все существующие типы ЭВМ выпускаются семействами, в которых различают старшие и младшие модели. Всегда имеется возможность замены более слабой модели на более мощную.
Это обеспечивается информационной, аппаратурной и программной совместимостью.
Программная совместимость в семействах устанавливается по принципу снизу-вверх, т.е.
программы, разработанные для ранних и младших моделей, могут обрабатываться и на старших, но не обязательно наоборот.
Модульность структуры ЭВМ требует стандартизации и унификации оборудования, номенклатуры технических и программных средств, средств сопряжения - интерфейсов, конструктивных решений, унификации типовых элементов замены, элементной базы и нормативно-технической документации. Все это способствует улучшению технических и эксплуатационных характеристик ЭВМ, росту технологичности их производства.
Децентрализация управления предполагает иерархическую организацию структуры ЭВМ.
Централизованное управление осуществляет устройство управления главного, или центрального, процессора. Подключаемые к центральному процессору модули (контроллеры и КВВ) могут, в свою очередь, использовать специальные шины или магистрали для обмена управляющими сигналами, адресами и данными. Инициализация работы модулей обеспечивается по командам центральных устройств, после чего они продолжают работу по собственным программам управления. Результаты выполнения требуемых операций представляются ими “вверх по иерархии” для правильной координации всех работ.
Иерархический принцип построения и управления характерен не только для структуры ЭВМ в целом, но и для отдельных ее подсистем. Например, по этому же принципу строится система памяти ЭВМ.
Так, с точки зрения пользователя желательно иметь в ЭВМ оперативную память большой информационной емкости и высокого быстродействия. Однако одноуровневое построение памяти не позволяет одновременно удовлетворять этим двум противоречивым требованиям. Поэтому память современных ЭВМ строится по многоуровневому, пирамидальному принципу.
В состав процессоров может входить сверхоперативное запоминающее устройство небольшой емкости, образованное несколькими десятками регистров с быстрым временем доступа (единицы нс). Здесь обычно хранятся данные, непосредственно используемые в обработке.
Следующий уровень образует кэш-память или память блокнотного типа. Она представляет собой буферное запоминающее устройство, предназначенное для хранения активных страниц объемом десятки и сотни Кбайтов. Время обращения к данным составляет 10-20 нс, при этом может использоваться ассоциативная выборка данных. Кэш-память, как более быстродействующая ЗУ, предназначается для ускорения выборки команд программы и обрабатываемых данных. Сами же программы пользователей и данные к ним размещаются в оперативном запоминающем устройстве (емкость - миллионы машинных слов, время выборки - до 100 нс).
Часть машинных программ, обеспечивающих автоматическое управление вычислениями и используемых наиболее часто, может размещаться в постоянном запоминающем устройстве (ПЗУ). На более низких уровнях иерархии находятся внешние запоминающие устройства на магнитных носителях:
на жестких и гибких магнитных дисках, магнитных лентах, магнитооптических дисках и др. Их отличает более низкое быстродействие и очень большая емкость.
Организация заблаговременного обмена информационными потоками между ЗУ различных уровней при децентрализованном управлении ими позволяет рассматривать иерархию памяти как единую абстрактную кажущуюся (виртуальную) память. Согласованная работа всех уровней обеспечивается под управлением программ операционной системы. Пользователь имеет возможность работать с памятью, намного превышающей емкость ОЗУ., Децентрализация управления и структуры ЭВМ позволила перейти к более сложным многопрограммным (мультипрограммным) режимам. При этом в ЭВМ одновременно может обрабатываться несколько программ пользователей.
В ЭВМ, имеющих один процессор, многопрограммная обработка является кажущейся. Она предполагает параллельную работу отдельных устройств, задействованных в вычислениях по различным задачам пользователей. Например, компьютер может производить распечатку какихлибо документов и принимать сообщения, поступающие по каналам связи. Процессор при этом может производить обработку данных по третьей программе, а пользователь - вводить данные или программу для новой задачи, слушать музыку и т.п.
В ЭВМ или вычислительных системах, имеющих несколько процессоров обработки, многопрограммная работа может быть более глубокой. Автоматическое управление вычислениями предполагает усложнение структуры за счет включения в ее состав систем и блоков, разделяющих различные вычислительные процессы друг от друга, исключающие возможность возникновения взаимных помех и ошибок (системы прерываний и приоритетов, защиты памяти).
Самостоятельного значения в вычислениях они не имеют, но являются необходимым элементом структуры для обеспечения этих вычислений.
Как видно, полувековая история развития ЭВТ дала не очень широкий спектр основных структур ЭВМ. Все приведенные структуры не выходят за пределы классической структуры фон Неймана.
Их объединяют следующие Традиционные признаки [53]:
ядро ЭВМ образует процессор - единственный вычислитель в структуре, дополненный каналами обмена информацией и памятью;
линейная организация ячеек всех видов памяти фиксированного размера;
одноуровневая адресация ячеек памяти, стирающая различия между всеми типами информации;
внутренний машинный язык низкого уровня, при котором команды содержат элементарные операции преобразования простых операндов;
последовательное централизованное управление вычислениями;
достаточно примитивные возможности устройств ввода-вывода. Несмотря на все достигнутые успехи, классическая структура ЭВМ не обеспечивает возможностей дальнейшего увеличения производительности. Наметился кризис, обусловленный рядом существенных недостатков:
плохо развитые средства обработки нечисловых данных (структуры, символы, предложения, графические образы, звук, очень большие массивы данных и др.);
несоответствие машинных операций операторам языков высокого уровня;
примитивная организация памяти ЭВМ;
низкая эффективность ЭВМ при решении задач, допускающих параллельную обработку и т.п.
Все эти недостатки приводят к чрезмерному усложнению комплекса программных средств, используемого для подготовки и решения задач пользователей.
В ЭВМ будущих поколений, с использованием в них «встроенного искусственного интеллекта», предполагается дальнейшее усложнение структуры; В-первую очередь это касается совершенствования процессов общения пользователей с ЭВМ (использование аудио-, видеоинформации, систем мультимедиа и др.), обеспечения доступа к базам данных и базам знаний, организации параллельных вычислений. Несомненно, что этому должны соответствовать новые параллельные структуры с новыми принципами их построения.
Функции программного обеспечения Электронные вычислительные машины являются универсальными техническими средствами автоматизации вычислительных работ, т.е. они способны решать любые задачи, связанные с преобразованием информации. Однако подготовка задач к решению на ЭВМ была и остается до настоящего времени достаточно трудоемким процессом, требующим от пользователей во многих случаях специальных знаний и навыков.
Для снижения трудоемкости подготовки задач к решению, более эффективного использования отдельных технических, программных средств и ЭВМ в целом, а также облегчения их эксплуатации каждая ЭВМ имеет специальный комплекс программных средств регулярного применения. Эти средства обеспечивают взаимодействие пользователей с ЭВМ и являются своеобразным «посредником» между ними. Они получили название программного обеспечения (ПО) ЭВМ.
Под программным обеспечением будем понимать комплекс программных средств регулярного применения, предназначенный для подготовки и решения задач пользователей.
Программное обеспечение отдельных ЭВМ и ВС может сильно различаться составом используемых программ, который определяется классом используемой вычислительной техники, режимами ее применения, содержанием вычислительных работ пользователей и т.п. Развитие ПО современных ЭВМ и ВС в значительной степени носит эволюционный и эмпирический характер, но можно выделить закономерности в его построении.
В общем случае процесс подготовки и решения задач на ЭВМ пользователями предусматривает выполнение следующей последовательности этапов (рис. 1.4):
формулировка проблемы и математическая постановка задачи;
выбор метода и разработка алгоритма решения;
программирование (запись алгоритма) с использованием некоторого алгоритмического планирование и организация вычислительного процесса - порядка и последовательности использования ресурсов ЭВМ и ВС;
формирование “машинной программы”, т.е. программы, которую непосредственно будет собственно решение задачи - выполнение вычислений по готовой программе.
По мере развития вычислительной техники автоматизация этих этапов идет снизу-вверх. В ЭВМ 1-го поколения автоматизации подлежал только последний этап. Все пять предыдущих этапов пользователь должен был готовить вручную самостоятельно. Трудоемкий и рутинный характер этих работ был источником большого количества ошибок в заданиях. Поэтому в ЭВМ следующих поколений появились сначала элементы, а затем целые системы, облегчающие процесс подготовки задач к решению.
Для ЭВМ 2-го поколения характерно широкое применение алгоритмических языков (Автокоды, Алгол, Фортран и др.) и соответствующих трансляторов, позволяющих автоматически формировать машинные программы по их описанию на алгоритмическом языке. Здесь же широко стали внедряться библиотеки стандартных программ, что позволило строить машинные программы блоками, используя накопленный и приобретенныйпрограммистами опыт. Отметим, что временные границы появления всех нововведений достаточно размыты. Обычно их истоки можно обнаружить в недрах ЭВМ предыдущих поколений.
ЭВМ 3-го поколения характеризуются расцветом операционных систем (ОС), отвечающих за организацию и управление вычислительным процессом. Именно здесь слово “ЭВМ” все чаще стало заменяться понятием “вычислительная система”, что в большей степени отражало усложнение как аппаратурной, так и программной частей ЭВМ. Стоимость программного обеспечения стала расти и в настоящее время намного опережает стоимость аппаратурных средств (рис 1.5).
Операционная система планирует последовательность распределения и использования ресурсов вычислительной системы, а также обеспечивает их согласованную работу. Под ресурсами обычно понимают те средства, которые используются для вычислений: машинное время отдельных процессоров или ЭВМ, входящих в систему; объемы оперативной и внешней памяти; отдельные устройства, информационные массивы; библиотеки программ; отдельные программы как общего, так и специального применения и т.п. Наиболее употребительные функции ОС в части обработки внештатных ситуаций (защита программ от взаимных помех, системы прерываний и приоритетов, служба времени, сопряжение с каналами связи и т.д.) были полностью или частично реализованы аппаратурно. Одновременно были реализованы более сложные режимы работы: коллективный доступ к ресурсам, мультипрограммные режимы. Часть этих решений стала своеобразным стандартом и начала использоваться повсеместно в ЭВМ различных классов. Это позволило в значительной степени повысить эффективность применения ЭВМ и ВС в целом.
В ЭВМ 4-го поколения продолжается усложнение технических и программных структур (иерархия управления средствами, увеличение их количества). Следует отметить заметное повышение “интеллектуальности” машин. Особенно это стало видно при появлении персональных ЭВМ, ориентированных на определенные категории пользователей. Программное обеспечение этих машин создает дружественную среду общения человека и компьютера. Оно, с одной стороны, управляет процессом обработки информации, а с другой - создает необходимый сервис для пользователя, снижая трудоемкость его рутинной работы и предоставляя ему возможность больше внимания уделять творчеству.
Подобные тенденции будут сохраняться и в ЭВМ следующих поколений. Так, по мнению исследователей [34,53], машины следующего столетия будут иметь встроенный в них искусственный интеллект, что позволит пользователям обращаться к машинам (системам) на естественном языке, вводить и обрабатывать тексты, документы, иллюстрации, создавать системы обработки знаний и т.д. Все это приводит к необходимости разработки сложного, многоэшелонного иерархического программного обеспечения систем обработки данных.
Персональные ЭВМ В настоящее время ПЭВМ являются самым массовым типом. Именно им отводится решающая роль при переходе общества к информатизации - наиболее полному использованию информационных технологий.
Интересны причины появления и развития этого класса ЭВМ.
В настоящее время доля ПЭВМ в мировом парке составляет около 80%. Доли больших ЭВМ и мини-ЭВМ (в последнее время они заменяются средними ЭВМ новых поколений) оцениваются примерно по 10%. Развитие ПЭВМ определяется прежде всего экономическими факторами, так как стоимость единицы вычислительной мощности в них обходится значительно дешевле.
Появление ПЭВМ закономерно и объясняется изменением характера вычислительных работ, в которых большую роль играет нечисловая обработка.
Большие ЭВМ в основном использовались и используются для централизованной обработки информации. В первую очередь они применялись для крупномасштабных вычислений по программам, разработанным коллективами специалистов. Поэтому дорогие большие машины устанавливались в крупных академических вычислительных центрах.
Мини-ЭВМ стали применяться для распределенной обработки данных и для управления объектами, технологическими процессами, предприятиями.
С появлением персональных ЭВМ наметился новый этап в организации и обеспечении вычислений - этап “персональных вычислений”. Суть его выражается девизом “One man - one job one computer“ (человек - работа -компьютер). Таким образом, персональные ЭВМ призваны решать в первую очередь те задачи, которые возникают у специалистов различного профиля в определенные моменты времени, непосредственно на рабочих местах, т.е. там, где находятся источники данных, подлежащие обработке.
При этом самым распространенным режимом работы является режим непосредственного доступа к ресурсам ЭВМ, «один на один с компьютером». Подобный режим работы уже использовался при работе с первыми ЭВМ, однако при централизованном управлении он был крайне неэффективен.
Если ранее за пультом большой ЭВМ должен был находиться профессиональный программист, то за персональным компьютером обычно находится “непрограммирующий профессионал”. Так обычно называют специалиста конкретной предметной области (бухгалтера, экономиста, инженера-исследователя и т.п.), но не специалиста в вычислительной технике и программировании. Поэтому возврат к режиму непосредственного доступа происходит на качественно новой основе.
При широком применении ПЭВМ в различных сферах деятельности человека выдвигаются требования к их надлежащему программному обеспечению. В настоящее время число профессиональных программистов в индустриально развитых странах составляет не более 0,5% населения. Фирмы - разработчики программного обеспечения не могут обеспечить каждого пользователя ПЭВМ требуемым набором программ. Их усилия сосредоточены на производстве пакетов прикладных программ и систем программирования, рассчитанных на массового пользователя. Именно поэтому такой взрывной характер имеют спрос, производство и распространение подобных пакетов. Они составляют фундамент для последующей разработки собственных программ пользователя, учитывающих всю специфику требуемых вычислений, т.е., как и во всех науках, специализация является надстройкой унификации. Это позволяет пользователям - специалистам с невысокой математической, вычислительной и программистской подготовкой необязательно самыми эффективными средствами и способами ставить и решать задачи специальной обработки данных.
“МикроЭВМ, ориентированная на разработку и использование прикладных программ “непрограммирующим профессионалом”, получила название персонального компьютера, а соответствующий режим использования вычислительной техники - режим персональных вычислений”.
Основная цель использования ПЭВМ - формализация профессиональных знаний. Здесь, в первую очередь, автоматизируется рутинная часть работ специалистов, которая занимает более 75% их рабочего времени. Применение ПЭВМ позволяет сделать труд специалистов более творческим, интересным, эффективным. Персональные ЭВМ используются повсеместно, во всех сферах деятельности людей. Новые сферы применения изменили и характер вычислительных работ. Так, инженерно-технические расчеты составляют не более 9%, автоматизация управления сбытом, закупками, управление запасом - 16%, финансово-экономические расчеты -15%, делопроизводство - более 10%, игровые задачи - 8% и т.д.
Причинами стремительного роста индустрии персональных ЭВМ следует считать.
высокую эффективность применения по сравнению с другими классами ЭВМ при малой стоимости (от нескольких сотен до нескольких тысяч долларов в зависимости от типа и комплектации);
возможность индивидуального взаимодействия с ПК без каких-либо посредников и ограничений;
большие возможности по обработке информации (быстродействие - сотни миллионов операций в секунду, емкость памяти: оперативной - единицы и десятки Мбайтов, внешней сотни Кбайтов, единицы Гбайтов);
высокую надежность и простоту в эксплуатации;
возможность расширения и адаптации к особенностям применения;
наличие программного обеспечения, охватывающего практически все сферы человеческой деятельности, а также мощных систем для разработки нового программного обеспечения;
простоту использования, основанную на “дружественном” взаимодействии с ПК, с помощью пакетов прикладных программ.
Эффективная работа на ПЭВМ предполагает своевременное обеспечение ее необходимой входной информацией и распространение полученных результатов обработки. Поэтому все ПЭВМ имеют возможность сопряжения через сетевые адаптеры и модемы с каналами связи. Подключение ПЭВМ к вычислительным сетям в еще большей степени повышает эффективность их применения.
ПЭВМ, как и другие типы машин, выпускаются целыми семействами, что позволяет перекрыть достаточно широкий диапазон производительности, обеспечить преемственность в разработках и возможность совершенствования систем обработки данных, построенных на их основе.
Современные ПЭВМ строятся на сверхбольших интегральных схемах. Машины типа IBM PC, составляющие почти 80% парка ПЭВМ, комплектуются микропроцессорами Pentium различных модификаций.
Различают младшие, средние и старшие модели ПК. В основу такого деления положены особенности комплектации компьютера и обеспечиваемые этим его возможности.
К младшим моделям относят ПК с ограниченной конфигурацией, умеренной стоимостью, но с широкими возможностями расширения. Средние модели предназначаются для решения более широкого круга задач, а старшие - для обеспечения профессионально-ориентированных и интегрированных автоматизированных рабочих мест.
Одной из основных характеристик ПК является тип используемого в нем микропроцессора. Рынок микропроцессоров очень динамичен. Каждые год-два происходит обновление их основных типов.
Компьютеры оснащаются оперативной памятью большого объема с возможностью расширения, кэш-памятью второго уровня, высокоскоростными жесткими дисками.
Компьютеры могут иметь высокоскоростные диски CD ROM, сетевые адаптеры, графические адаптеры и другие устройства.
Рассматривая класс ПЭВМ, нельзя не упомянуть о самой простейшей его разновидности - сетевом компьютере (СК), также относящегося к настольным вычислителям. Вполне возможно, что он-в ближайшее время станет еще одним стандартом, объединяющим целый класс компьютеров, который получит массовое производство и распространение.
Прообразом СК можно считать простейшие “немые” терминалы, подключаемые к ЭВМ 2-го и 3-го поколений. Они имели достаточно простую конструкцию (дисплей, клавиатуру, небольшую буферную память и встроенный блок управления). Целью их создания и применения было обеспечение коллективного и удаленного доступа пользователей к вычислительным ресурсам достаточно мощной ЭВМ. Управление ими осуществляла ОС ЭВМ.
В настоящее время в связи с развитием сетей ЭВМ (локальных и глобальных) создание подобных «сетевых приставок» на качественно новой основе становится вновь актуальным. Широкое развитие сетевых технологий позволяет аккумулировать вычислительные мощности и все виды вычислительных услуг. В связи с этим отпадает необходимость каждому пользователю иметь собственные автономные средства обработки. Очень многие из них могут обращаться к вычислительным ресурсам сетей с помощью простейших средств доступа - сетевых компьютеров.
Требуемая информация и нужные виды ее обработки будут выполнены серверами управляющими ЭВМ сети, а пользователи будут получать уже готовые требуемые им результаты обработки. Таким образом, для подобного вида услуг образуется своеобразная ниша, которую должен заполнить сетевой компьютер.
Собственные средства обработки в СК представлены достаточно слабо или вообще отсутствуют.
Основу СК составляет весьма скромный по своим возможностям встроенный микропроцессор или блок управления. Очень многие фирмы (Oracle, Sun, Philips, даже IBМ и др.) проявляют интерес к этому новому классу компьютеров и связывают с ним большие надежды. Уже появились первые разработки подобных устройств, но пока еще не выявлены единые принципы их структурного и функционального построения.
В литературе отсутствует и единое их наименование: «тощие» ПК, Internet - приборы, броузеры.
WebPC, Java-терминал, NetComputerи др.
Видимо, понятие «сетевой компьютер» в будущем будет отождествляться с целым спектром моделей, различающихся своими функциональными возможностями. Чаще всего под СК понимают достаточно дешевый компьютер с малой оперативной памятью, с отсутствием жесткого и гибкого дисков и со слабым программным обеспечением. Стоимость СК может быть значительно ниже стоимости ПК стандартной конфигурации.
Предполагается, что данный класс компьютеров найдет широкое распространение среди следующих категорий пользователей: различные фирмы (особенно крупные), учебные заведения и частные потребители.
Фирмы, имеющие собственные локальные вычислительные сети, заинтересованы в построении терминалов на СК. Все обычные офисные ПК, рабочие места секретарей, менеджеров, бухгалтеров, журналистов можно перевести на СК. Это примерно на порядок сократит расходы по их техническому и программному оснащению и обслуживанию.
Низкая стоимость СК и удобствоих применения позволяют по-новому решать вопросы компьютеризации образования. С развитием индустрии СК появляется возможность доступа к вычислительным ресурсам всех категорий обучаемых во всех регионах страны.
СК должны найти широкое распространение и у частных пользователей, многие из которых просто незнакомы с вычислительной техникой. Объединение СК с телефонами и телевизорами позволит иначе решать многие информационные задачи: самообучение, электронная почта, доступ к общественно значимым базам данных, презентации, организация культурного обмена и др.
Для формирования и развития индустрии СК необходимо решить следующие проблемы:
создать языки программирования, не зависимые от особенностей построения СК;
разработать дешевые и быстродействующие микропроцессоры, составляющие основу СК;
обеспечить быстрый и легкий вход в глобальные и корпоративные сети;
создать компактное программное обеспечение для использования СК и приложений для серверов, обслуживающих сети СК.
Самым распространенным языком программирования, обеспечивающим доступ к ресурсам сетей, является язык Java - интерпретационный язык высокого уровня. Его отличительными особенностями являются простота, независимость от аппаратуры и отсутствие связей со сложными операционными системами. Это делает совместимыми СК различных производителей, позволяет управлять ими с общих позиций. Поэтому многие фирмы приобрели лицензии на Java и обеспечивают его поддержку в своих разработках.
Сетевые компьютеры, являясь продолжением аппаратуры сети, не требуют оснащения дорогими и сложными микропроцессорами. Для обеспечения их функций можно использовать более простые схемы, типа “Internet on a сhiр” (“Интернет на чипе”). Подобная продукция может быть представлена десятками фирм.
Для подключения СК в сеть нужны каналы связи. Принципиально возможно использование любых каналов. Наиболее дешевыми, но малоскоростными являются телефонные линии связи. Их пропускная способность составляет до 56 Кбит/с через аналоговые модемы и в несколько раз больше при переходе к цифровым методам связи. Каждый СК при работе с сетью должен пользоваться сетевыми ресурсами, а это может вызывать перегруженность линий, обслуживающих большое число СК. Поэтому требуется повышать скорости передачи данных в сетях и качество используемых каналов. Для новых аппаратурных средств сети необходимы компактные управляющие программы и приложения для серверов. Индустрия соответствующего программного обеспечения только начинает свое развитие.
Глава 2. ИНФОРМАЦИОННО-ЛОГИЧЕСКИЕОСНОВЫ ЭВМ Представление различных видов информации Различные виды информации могут быть разделены на две группы: статические и динамические.
Так, числовая, логическая и символьная информация является статической - ее значение не связано со временем. В отличие от перечисленных типов вся аудиоинформация имеет динамический характер. Она существует только в режиме реального времени, ее нельзя остановить для более подробного изучения. Если изменить масштаб времени (увеличить или уменьшить), аудиоинформация искажается. Это свойство иногда используется для получения звуковых эффектов.
Видеоинформация может быть как статической, так и динамической. Статическая видеоинформация включает текст, рисунки, графики, чертежи, таблицы и др. Рисунки делятся также на плоские - двухмерные и объемные - трехмерные.
Динамическая видеоинформация - это видео-, мульт- и слайд- фильмы. В их основе лежит последовательное экспонирование на экране в реальном масштабе времени отдельных кадров в соответствии со сценарием.
Динамическая видеоинформация используется либо для передачи движущихся изображений (анимация), либо для последовательной демонстрации отдельных кадров вывода (слайд-фильмы).
Для демонстрации анимационных и слайд-фильмов используются различные принципы.
Анимационные фильмы демонстрируются так, чтобы зрительный аппарат человека не мог зафиксировать отдельных кадров. В современных высококачественных мониторах и в телевизорах с цифровым управлением электронно-лучевой трубкой кадры сменяются до 70 раз в секунду, что позволяет высококачественно передавать движение объектов.
При демонстрации слайд-фильмов каждый кадр экспонируется на экране столько времени, сколько необходимо для восприятия его человеком (обычно от 30 с до 1 мин). Слайд-фильмы можно отнести к статической видеоинформации.
По способу формирования видеоизображения бывают растровые, матричные и векторные.
Растровые видеоизображения используются в телевидении, а в ЭВМ практически не применяются.
Матричные изображения получили в ЭВМ наиболее широкое распространение. Изображение на экране рисуется электронным лучом точками.
Информация представляется в виде характеристик значений каждой точки - пиксела (picture element), рассматриваемого как наименьшей структурной единицей изображения. Количество высвечиваемых одновременно пикселов на экране дисплея определяется его разрешающей способностью. В качестве характеристик графической информации выступают: координаты точки (пиксела) на экране, цвет пиксела, цвет фона (градация яркости). Вся эта информация хранится в видеопамяти дисплея. При выводе графической информации на печать изображение также воспроизводится по точкам.
Изображение может быть и в векторной форме. Тогда оно составляется из отрезков линий ( в простейшем случае - прямых), для которых задаются начальные координаты, угол наклона и длина отрезка (может указываться и код используемой линии).
Векторный способ имеет ряд преимуществ перед матричным: изображение легко масштабируется с сохранением формы, является «прозрачным» может быть наложено на любой фон и т.д.
Способы представления информации в ЭВМ, кодирование и преобразование кодов в значительной степени зависят от принципа действия устройств, в которых эта информация формируется, накапливается, обрабатывается и отображается.
Для кодирования символьной или текстовой информации применяются различные системы: при вводе информации с клавиатуры кодирование происходит при нажатии клавиши, на которой изображен требуемый символ, при этом в клавиатуре вырабатывается так называемый scan-код, представляющий собой двоичное число, равное порядковому номеру клавиши.
Номер нажатой клавиши никак не связан с формой символа, нанесенного на клавише. Опознание символа и присвоение ему внутреннего кода ЭВМ производятся специальной программой по специальным таблицам: ДКОИ, КОИ-7, ASCII (Американский стандартный код передачи информации).
Всего с помощью таблицы кодирования ASCII (табл. 2.1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).
Первая половина таблицы стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2 lh - !, 26h - &, 28h - (, 2Bh -+,..., большие и малые латинские буквы: 41h - A, 61h - а,...
Вторая половина таблицы содержит национальные шрифты, символы псевдографики, из которых могут быть построены таблицы, специальные математические знаки. Нижнюю часть таблицы кодировок можно заменять, используя соответствующие драйверы - управляющие вспомогательные программы. Этот прием позволяет применять несколько шрифтов и их гарнитур.
Дисплей по каждому коду символа должен вывести на экран изображение символа - не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму.
Описание формы каждого символа хранится в специальной памяти дисплея - знакогенераторе.
Высвечивание символа на экране дисплея IBМ PC осуществляется с помощью точек, образующих символьную матрицу.
Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1.
Если изображать в матричном поле знака темные пикселы точкой, а светлые - звездочкой, то можно графически изобразить форму символа.
Кодирование аудиоинформации - процесс более сложный. Аудиоинформация является аналоговой.
Для преобразования ее в цифровую форму используют аппаратурные средства: аналого-цифровые преобразователи (АЦП), в результате работы которых аналоговый сигнал оцифровывается — представляете ся в виде числовой последовательности. Для вывода оцифрованного звука на аудиоустройства необходимо проводить обратное преобразование, которое осуществляется с помощью цифро-аналоговых преобразователей (ЦАП).
ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ
Общие принципы функциональной и структурной организации ЭВМ Электронные вычислительные машины включают, кроме аппаратурной части и программного обеспечения (ПО), большое количество функциональных средств. К ним относятся коды, с помощью которых обрабатываемая информация представляется в цифровом виде: арифметические коды - для выполнения арифметических преобразований числовой информации;помехозащищенные коды, используемые для защиты информации от искажений;
коды формы, определяющие, как должна выглядеть обрабатываемая в ЭВМ информация при отображении; цифровые коды аналоговых величин (звука, “живого видео”) и др. Кроме кодов на функционирование ЭВМ оказывают влияние алгоритмы их формирования и обработки, технология выполнения различных процедур (например, начальной загрузки операционной системы, принятой в системе технологии обработки заданий пользователей и др.); способы использования различных устройств и организация их работы (например, организация системы прерываний или организация прямого доступа к памяти), устранение негативных явлений (например, таких, как фрагментация памяти) и др.
Будем считать, что коды, система команд, алгоритмы выполнения машинных операций, технология выполнения различных процедур и взаимодействия hard и soft, способы использования устройств при организации их совместной работы, составляющие идеологию функционирования ЭВМ, образуют функциональную организацию ЭВМ.
Реализована идеология функционирования ЭВМ может быть по-разному: аппаратурными, программно-аппаратурными или программными средствами. При аппаратурной и программноаппаратурной реализации могут быть применены регистры, дешифраторы, сумматоры; блоки жесткого аппаратурного управления или микропрограммног с управлением подпрограммами (комплексами микроопераций); устройства или комплексы устройств, реализованные в виде автономных систем (программируемых или с жестким управлением) и др. При программной реализации могут быть применены различные виды программ - обработчики прерываний, резидентные или загружаемые драйверы, соm-, ехе- или tsr - программы, bat- файлы и др.
Будем считать, что способы реализации функций ЭВМ составляют структурную организацию ЭВМ. Тогда элементная база, функциональные узлы и устройства ЭВМ, программные модули различных видов (обработчики прерываний, драйверы, соm-, ехе-, tsr-программы, bat-файлы и др.) являются структурными компонентами ЭВМ.
При серьезных конструктивных различиях ЭВМ могут быть совместимыми, т.е.
приспособленными к работе с одними и теми же программами (программная совместимость) и получению одних и тех же результатов при обработке одной и той же, однотипно представленной информации (информационная совместимость). Если аппаратурная часть электронных вычислительных машин допускает их электрическое соединение для совместной работы и предусматривает обмен одинаковыми последовательностями сигналов, то имеет место и техническая совместимость ЭВМ.
Совместимые ЭВМ должны иметь одинаковую функциональную организацию: информационные элементы (символы) должны одинаково представляться при вводе и выводе из ЭВМ, система команд должна обеспечивать в этих ЭВМ получение одинаковых результатов при одинаковых преобразованиях информации. Работой таких машин должны управлять одинаковые или функционально совместимые операционные системы (а для этого должны быть совместимы методы и алгоритмы планирования и управления работой аппаратурно-программного вычислительного комплекса). Аппаратурные средства должны иметь согласованные питающие напряжения, частотные параметры сигналов, а главное - состав, структуру и последовательность выработки управляющих сигналов.
При неполной совместимости ЭВМ (при наличии различий в их функциональной организации) применяют эмуляторы, т.е. программные преобразователи функциональных элементов.
Состав функциональных блоков и структурных средств неоднороден. Поэтому в большинстве случаев функциональная и структурная организация будут рассматриваться в тех разделах, которые посвящены соответствующим аппаратурной части (hardware) или программному обеспечению (Software).
Организация функционирования ЭВМ с магистральной архитектурой ЭВМ представляет собой совокупность устройств, выполненных на больших интегральных схемах, каждая из которых имеет свое функциональное назначение. Комплект интегральных схем, из которых состоит ЭВМ, называется микропроцессорным комплектом. В состав микропроцессорных комплектов входят: системный таймер, микропроцессор (МП), сопроцессоры, контроллер прерываний, контроллер прямого доступа к памяти, контроллеры устройств вводавывода и др.
Все устройства ЭВМ делятся на центральные и периферийные. Центральные устройства полностью электронные, периферийные устройства могут быть либо электронными, либо электромеханическими с электронным управлением.
В центральных устройствах основным узлом, связывающим микропроцессорный комплект в единое целое, является системная магистраль. Она состоит из трех узлов, называемых шинами:
шина данных (ШД), шина адреса (ША), шина управления (ШУ). В состав системной магистрали входят регистры-защелки, в которых запоминается передаваемая информация, шинные формирователи, шинные арбитры, определяющие очередность доступа к системной магистрали, и др.
Логика работы системной магистрали, количество разрядов (линий) в шинах данных,адреса и управления, порядок разрешения конфликтных ситуаций, возникающих при одновременном обращении различных устройств ЭВМ к системной магистрали, образуют интерфейс системной шины.
В состав центральных устройств ЭВМ входят: центральный процессор, основная память и ряд дополнительных узлов, выполняющих служебные функции: контроллер прерываний, таймер и контроллер прямого доступа к памяти (ПДП).
Периферийные устройства делятся на два вида: внешние ЗУ (НМД, НГМД, НМЛ) и устройства ввода-вывода (УВВ): клавиатура, дисплей, принтер, мышь, адаптер каналов связи (КС) и др.
Управляющая работой ЭВМ программа перед началом выполнения загружается в основную память. Адрес первой выполняемой команды передается микропроцессору и запоминается в счетчике команд.
Начало работы процессора заключается в том, что адрес из счетчика команд (в котором всегда хранится адрес очередной команды) выставляется на шину адреса системной магистрали.
Одновременно на шину управления выдается команда: выборка из ОП, которая воспринимается основной памятью. Получив с шины управления системной магистрали команду, основная память считывает адрес с шины адреса, находит ячейку с этим номером и ее содержимое выставляет на шину данных, а на шину управления выставляет сигнал о выполнении команды. Процессор, получив по шине управления сигнал об окончании работы ОП, вводит число с шины данных на внутреннюю магистраль МП и через нее пересылает введенную информацию в регистр команд.
В регистре команд полученная команда разделяется на кодовую и адресную части. Код команды поступает в блок управления для выработки сигналов, настраивающих МП на выполнение заданной операции, и для определения адреса следующей команды (который сразу заносится в счетчик команд). Адресная часть команды выставляется на шину адреса системной магистрали (СМ) и сопровождается сигналом выборка из ОП на шине управления. Выбранная из ОП информация через шину данных поступает на внутреннюю магистраль МП, с которой вводится в арифметическое устройство (АУ). На этом заканчивается подготовка МП к выполнению операции, и начинается ее выполнение в АЛУ.
Результат выполнения операции выставляется микропроцессором на шину данных, на шину адреса выставляется адрес ОП, по которому этот результат необходимо записать, а на шину управления выставляется команда запись в ОП. Получив с шины управления команду, ОП считывает адрес и данные с системной магистрали, организует запись данных по указанному адресу и после выполнения команды выставляет на шину управления сигнал, обозначающий, что число записано. Процессор, получив этот сигнал, начинает выборку очередной команды:
выставляет адрес из счетчика команд на шину адреса, формирует команду выборка из ОП на шине управления и т.д.
В каждом цикле, получив команду в регистр команд и выделив код операции, процессор определяет, к какому устройству она относится. Если команда должна выполняться процессором, организуется ее выполнение по описанному циклу. Если же команда предназначена для выполнения в другом устройстве ЭВМ, центральный процессор (ЦП) передает ее соответствующему устройству. Процесс передачи команды другому устройству предусматривает следующие действия: ЦП выставляет на шину адреса СМ адрес интересующего его устройства.
По шинам управления передается сигнал поиск устройства. Все устройства, подключенные к системной магистрали, получив этот сигнал, читают номер устройства с шины адреса и сравнивают его со своим номером. Устройства, для которых эти номера не совпадают, на эту команду не реагируют. Устройство с совпавшим номером вырабатывает сигнал отклика по шине управления. ЦП, получив сигнал отклика, в простейшем случае выставляет имеющуюся у него команду на шину данных и сопровождает ее по шине управления сигналом передаю команду.
Получив сигнал о приеме команды, ЦП переходит к выполнению очередной своей команды, выставляя на шину адреса содержимое счетчика команд.
В более сложных случаях, получив сигнал, что устройство откликнулось, прежде чем передавать команду, ЦП запрашивает устройство о его состоянии. Текущее состояние устройства закодировано в байте состояния, который откликнувшееся устройство передает процессору через ШД системной магистрали. Если устройство включено и готово к работе, то байт состояния -нулевой. Наличие в нем единиц свидетельствует о нештатной ситуации, которую ЦП пытается проанализировать и в необходимых случаях извещает оператора о сложившейся ситуации.
Взаимодействие МП с внешними устройствами предусматривает выполнение логической последовательности действий, связанных с поиском устройства, определением его технического состояния, обменом командами и информацией. Эта логическая последовательность действий вместе с устройствами, реализующими ее, получила название интерфейс ввода-вывода.
Для различных устройств могут использоваться разные логические последовательности действий, поэтому интерфейсов ввода-вывода может в одной и той же ЭВМ использоваться несколько. Если их удается свести к одному, универсальному, то такой интерфейс называется стандартным. В IBM PC есть два стандартных интерфейса для связи ЦП с внешними устройства-' ми:
параллельный (типа Centronics) и последовательный (типа RS-232).
Интерфейсы постоянно совершенствуются, поэтому с появлением новых ЭВМ, новых внешних устройств и даже нового программного обеспечения появляются и новые интерфейсы. Так, в программном обеспечении, разработанном ведущими фирмами, все шире используется новый интерфейс Plug and Play (Включи - и играй), который предназначен для облегчения системной настройки ЭВМ при подключении новых устройств, к машине. Этот интерфейс позволяет подключить с помощью кабеля новое устройство, а после включения ЭВМ ее программное обеспечение автоматически определяет состав подключенных устройств, их типы в настраивает машину на работу с ними без вмешательства системного оператора.
Если при обращении ЦП квнешнему устройству продолжение выполнения основной программы центральным процессором возможно только после завершения операции ввода-вывода, то ЦП, запустив внешнее устройство, переходит в состояние ожидания и находится в нем до тех пор, пока внешнее устройство не сообщит ему об окончании обмена данными. Это приводит к простою большинства устройств ЭВМ, так как в каждый момент времени может работать только одно из них. Такой режим работы получил название однопрограммного - в каждый момент времени все устройства находятся в состоянии ожидания, и только одно устройство выполняет основную (и единственную) программу Для ликвидации таких простоев и повышения эффективности работы оборудования внешние устройства сделаны автономными. Получив от ЦП необходимую информацию, они самостоятельно организуют свою работу по обмену данными. Процессор же, запустив внешнее устройство, пытается продолжить выполнение программы. При необходимости (если встретятся соответствующие команды) он может запустить в работу несколько других устройств (так как внешние устройства работают значительно медленнее процессора). Если же ему приходится переходить в режим ожидания, то, пользуясь тем, что в ОП может одновременно находиться не одна, а несколько программ, ЦП переходит к выполнению очередной программы. При этом создается ситуация, когда в один и тот же момент времени различные устройства ЭВМ выполняют либо разные программы, либо разные части одной и той же программы, такой режим работы ЭВМ называется многопрограммным.
Организация работы ЭВМ при выполнении задания пользователя Организация процессов ввода, преобразования и отображения результатов относится к сфере системного программного обеспечения. Это сложные процессы, которые чаще всего делаются «прозрачными», т.е. незаметными для пользователя. Один из них - реализация задания пользователя: профессиональный пользователь (программист) пишет задание для ЭВМ в виде программы на алгоритмическом языке. Написанное задание (программа) представляет собой исходный модуль, сопровождаемый управляющими предложениями, указывающими операционной системе ЭВМ, на каком языке написана программа и что с ней надо делать. Если программа пишется на алгоритмическом языке, то управляющие предложения - на языке управления операционной системой (в ЕС ЭВМ и IBM 360/370 этот язык называется -Job Control Langiage, в MS DOS IBM PC - это язык команд DOS, иногда оформляемый в виде bat - файла).
Исходный модуль перед исполнением должен быть переведен на внутренний язык машины. Эта операция выполняется специальной программой -транслятором (рис.4.1). Трансляторы выполняются в виде двух разновидностей: интерпретаторы и компиляторы. Интерпретатор после перевода на язык машины каждого оператора алгоритмического языка немедленно исполняет полученную машинную программу Компилятор же сначала полностью переводит всю программу, представленную ему в виде исходного модуля (ИМ), на язык машины. Получаемая при этом машинная программа представляет собой объектный модуль (ОМ). Результат работы компилятора может быть записан в библиотеку объектных модулей (БОМ) или передан другим программам для дальнейшей обработки, поскольку полученная машинная программа не готова к исполнению по двум причинам. Во-первых, она Сдержит неразрешенные внешние ссылки (т.е.
обращение к программам, которые не содержатся в исходном модуле, но необходимы для работы основной программы, например, к стандартным программам алгоритмического языка, таким, как извлечение корня квадратного, вычисление тригонометрических функций и т.д.). Во-вторых, объектный модуль представляет собой машинную программу в условных адресах - каждый объектный модуль начинается с адреса Oh, тогда как для исполнения программа должна быть “привязана” к конкретным физическим адресам основной памяти.
Недостающие программы должны быть взяты из библиотек компилятора (которые могут быть написаны в виде исходных либо в виде объектных модулей) и добавлены к основной программе.
Эту операцию выполняет редактор связей. В результате работы редактора связей образуется загрузочный модуль (ЗМ), который помещается в соответствующую библиотеку загрузочных модулей (БЗМ). В загрузочном модуле все ссылки разрешены, т.е. он содержит все необходимые стандартные программы, но привязки к памяти у загрузочного модуля нет.
Привязка к памяти загрузочного модуля производится программой выборки, которая переносит загрузочный модуль из библиотеки загрузочных модулей (обычно хранящейся на магнитном носителе) в основную память и во время этого переноса корректирует адреса, учитывая, с какого адреса основной памяти размещается загрузочный модуль. После перемещения загрузочного модуля в основную память программа выборки инициирует ее выполнение.
Представление машинной программы в виде исходных, объектных и загрузочных модулей позволяет реализовать наиболее эффективные программные комплексы. Например, если по одной и той же программе необходимо много раз производить расчеты, то неэффективно тратить каждый раз время на трансляцию и редактирование программы - ее нужно оформить в виде загрузочного модуля и хранить в соответствующей библиотеке. При обращении к такой программе сразу будет вызываться программа выборки для загрузки соответствующего модуля (а этапы компиляции и редактирования связей будут опускаться) - время на выполнение программы существенно сократится.
Если же программа только отлаживается или после каждого просчета ее нужно будет модернизировать, то получение загрузочного модуля и обращение к программе выборки будут лишними операциями. Для их обхода вместо редактора связей может быть применен загрузчик программа, сочетающая в себе функции редактирования связей и загрузки полученной машинной программы в основную память для исполнения. Но при использовании загрузчика многократные просчеты по программе проводить невыгодно, так как каждый раз приходится выполнять лишние операции редактирования связей.
Система прерываний ЭВМ Современная ЭВМ представляет собой комплекс автономных устройств, каждое из которых выполняет свои функции под управлением местного устройства управления независимо от других устройств машины. Включает устройство в работу центральный процессор. Он передает устройству команду и все необходимые для ее исполнения параметры. После начала работы устройства центральный процессор отключается от него и переходит к обслуживанию других устройств или к выполнению других функций.
Можно считать, что центральный процессор переключает свое внимание с устройства на устройство и с функции на функцию. На что именно обращено внимание ЦП в каждый данный момент, определяется выполняемой им программой.
Во время работы в ЦП поступает (и вырабатывается в нем самом) большое количество различных сигналов. Сигналы, которые выполняемая в ЦП программа способна воспринять, обработать и учесть, составляют поле зрения ЦП или другими словами - входят в зону его внимания.
Например, если процессором исполняется программа сложения двух двойных слов, которая анализирует регистр флагов ЦП, то в “поле ее зрения” находятся флаги микропроцессора, определяющие знаки исходных данных и результата, наличие переноса из тетрады или байта, переполнение разрядной сетки и др. Такая программа готова реагировать на любой из сигналов, находящихся в ее зоне внимания (а поскольку именно программа управляет работой ЦП, то она определяет и “зону внимания” центрального процессора). Но ееяи во время выполнения такой программы нажать какую-либо клавишу, то эта программа “не заметит” сигнала от этой клавиши, так как он не входит в ее “поле зрения”.
Для того чтобы ЦП, выполняя свою работу, имел возможность реагировать на события, происходящие вне его зоны внимания, наступления которых он “не ожидает”, существует система прерываний ЭВМ. При отсутствии системы прерываний все заслуживающие внимания события должны находиться в поле зрения процессора, что сильно усложняет программы и требует большой их избыточности. Кроме того, поскольку момент наступления события заранее не известен, процессор в ожидании какого-либо события может находиться длительное время, и чтобы не пропустить его появления, ЦП не может “отвлекаться” на выполнение какой-либо другой работы. Такой режим работы (режим сканирования ожидаемого события) связан с большими потерями времени ЦП на ожидание.
Кроме сокращения потерь на ожидание, режим прерываний позволяет организовать выполнение такой работы, которую без него реализовать просто невозможно. Например, при появлении неисправностей, нештатных ситуаций режим прерываний позволяет организовать работу по диагностике и автоматическому восстановлению в момент возникновения нештатной ситуации, прервав выполнение основной работы таким образом, чтобы сохранить полученные к этому времени правильные результаты. Тогда как без режима прерываний обратить внимание на наличие неисправности система могла только после окончания выполняемой работы (или ее этапа) и получения неправильного результата.
Таким образом, система прерываний позволяет микропроцессору выполнять основную работу, не отвлекаясь на проверку состояния сложных систем при отсутствии такой необходимости, или прервать выполняемую работу и переключиться на анализ возникшей ситуации сразу после ее появления.
Помимо требующих внимания нештатных ситуаций, которые могут возникнуть при работе микропроцессорной системы, процессору полезно уметь “переключать внимание” и на различные виды работ, одновременно выполняемые в системе. Поскольку управление работой системы осуществляется программой, этот вид прерываний должен формироваться программным путем.
В зависимости от места нахождения источника прерываний они могут быть разделены на внутренние (программные и аппаратурные) и внешние прерывания (поступающие в ЭВМ от внешних источников, например, от клавиатуры или модема).
Принцип действия системы прерываний заключается в следующем:
при выполнении программы после каждого рабочего такта микропроцессора изменяются содержимое регистров, счетчиков, состояние отдельных управляющих триггеров, т.е. изменяется состояние процессора. Информация о состоянии процессора лежит в основе многих процедур управления вычислительным процессом. Не вся информация одинаково актуальна, есть существенные элементы, без которых невозможно продолжение работы. Эта информация должна сохраняться при каждом “переключении внимания процессора”.
Совокупность значений наиболее существенных информационных элементов называется вектором состояния или словом состояния процессора (в некоторых случаях она называется словом состояния программы).
Вектор состояния в каждый момент времени должен содержать информацию, достаточную для продолжения выполнения программы или повторного пуска ее с точки, соответствующей моменту формирования данного вектора.
Вектор состояния формируется в соответствующем регистре процессора или в группе регистров, которые могут использоваться и для других целей.
Наборы информационных элементов, образующих векторы состояния, отличаются у ЭВМ разных типов. В IBM PC вектор состояния включает содержимое счетчика команд, сегментных регистров, регистра флагов и аккумулятора (регистра АХ).
При возникновении события, требующего немедленной реакции со стороны машины, ЦП прекращает обработку текущей программы и переходит к выполнению другой программы, специально предназначенной для данного события, по завершении которой возвращается к выполнению отложенной программы. Такой режим работы называется прерыванием.
Каждое событие, требующее прерывания, сопровождается специальным сигналом, который называется запросом прерывания. Программа, затребованная запросом прерывания, называется обработчиком прерывания.
Запросы на прерывание могут возникать из-за сбоев в аппаратуре (зафиксированных схемами контроля), переполнения разрядной сетки, деления на нуль, выхода за установленные для данной программы области памяти, затребования периферийным устройством операции ввода-вывода, завершения этой операции ввода-вывода или возникновения при этой операции особых условий и т.д.
Некоторые из этих запросов порождаются самой программой, но время их возникновения невозможно предсказать заранее.
При наличии нескольких источников запросов прерывания часть из них может поступать одновременно. Поэтому в ЭВМ устанавливается определенный порядок (дисциплина) обслуживания поступающих запросов. Кроме того, в ЭВМ предусматривается возможность разрешать или запрещать прерывания определенных видов.
ПЭВМ IBM PC может выполнять 256 различных прерываний, каждое из которых имеет свой номер (двухразрядное шестнадцатеричное число).
Все прерывания делятся на две группы: прерывания с номера 00h по номер IFh называются прерываниями базовой системы ввода-вывода (BIOS -Basic Input-Output System); прерывания с номера 20h по номер FFh называются прерываниями DOS. Прерывания DOS имеют более высокий уровень организации, чем прерывания BIOS, они строятся на использовании модулей BIOS в качестве элементов.
Прерывания делятся на три типа: аппаратурные, логические и программные. Аппаратурные прерывания вырабатываются устройствами, требующими внимания микропроцессора:
прерывание № 2 - отказ питания; № 8 - от таймера; № 9 - от клавиатуры; № 12 - от адаптера связи;
№ 14 - от НГМД; № 15- от устройства печати и др.
Запросы на логические прерывания вырабатываются внутри микропроцессора при появлении “нештатных” ситуаций: прерывание № 0 - при попытке деления на 0; № 4 - при переполнении разрядной сетки арифметико-логического устройства; № 1 - при переводе микропроцессора в пошаговый режим работы; № 3 - при достижении программой одной из контрольных точек.