Справочник от Автор24
Поделись лекцией за скидку на Автор24

Вычислительные машины системы и сети

  • ⌛ 2017 год
  • 👀 2174 просмотра
  • 📌 2143 загрузки
  • 🏢️ ТИУ
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Вычислительные машины системы и сети» doc
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «тюменский индустриальный университет» ИНСТИТУТ ГЕОЛОГИИ И НЕФТЕГАЗОДОБЫЧИ Вычислительные машины системы и сети. Учебная программа дисциплины • Конспект лекций Методические указания по лабораторным работам Методические указания по самостоятельной работе Банк тестовых заданий в системе EDUCON Тюмень 2017 Оглавление Лекция 1. Структура вычислительной машины 4 Лекция 2. Эволюция микрокомпьютеров. 21 Лекция 3. Машинная организация процессора 80286 28 Лекция 4. Операнды и режимы адресации операндов. 39 Лекция 5. Общая организация памяти. 48 Лекция 6. Прерывание микропроцессора в ЭВМ. 52 Лекция 7. Последовательный интерфейс RS–232C. 59 Лекция 8. Последовательный интерфейс СОМ-порт. 67 Лекция 9. Программируемый связной интерфейс. 75 Лекция 10. Передача данных между ЭВМ с помощью модемов. Типы и характеристики модемов. 85 Лекция 11. Программируемый периферийный интерфейс. 94 Лекция 12. Параллельный интерфейс: LPT-порт 101 Лекция 13. Программируемые таймеры и счетчики событий. 116 Лекция 14. Универсальная последовательная шина USB. 122 Лекция 15. Протокол работы USB-шины. 134 Лекция 16. Интерфейс IEEE-1394 (FireWire). 150 Лекция 17. Организация прямого доступа к памяти. 154 Лекция 18. Устройства ввода ЭВМ. Клавиатура. 158 Лекция 19. Интерфейс ЭВМ с видеотерминалом. Видеоадаптер. Режимы изображений: текстовый и графический режимы. Видеопамять. Анимация изображений. 169 Лекция 20. Накопитель магнитных дисков: гибкий и жесткий. Структура дисков: дорожки, сектора, блоки. Обмен информации между ЭВМ и магнитными дисками. 176 Лекция 21. Сканер. Считывание изображения. Типы обрабатываемых изображений. Качество изображения. 181 Лекция 22. Назначение и функции операционной системы. 189 Лекция 23. Классификация систем параллельной обработки данных. 200 Лекция 24. Классификация мультипроцессорных систем по способу организации основной памяти. 209 Лекция 25. Обзор архитектур многопроцессорных вычислительных систем. 214 Лекция 26. Направление развития в высокопроизводительных вычислительных системах. 224 Лекция 27. Принципы построения телекоммуникационных вычислительных систем. 241 Лекция 28. Эталонная модель взаимодействия открытых систем. 247 Введение. 247 Лекция 29. Локальные вычислительные сети. 256 Лекция 30. Беспроводные сети на основе службы GPRS. 272 Лекция 31. Беспроводные сети Radio-Ethernet. 280 Лекция 32. Беспроводные локальные сети на основе Wi-Fi - технологии. 288 Лекция 1. Структура вычислительной машины 1.1 Общее устройство Персональный компьютер (ПК, PC – Personal Computer) - устройство для программируемой обработки данных. PC позволяет проводить без участия человека сложные последовательности вычислительных операций. Обычно персональные компьютеры состоят из устройств: - системный блок (для размещения основных элементов компьютера) - клавиатура (для ввода символов в компьютер) - монитор (для отображения текстовой и графической информации) 1.2 Корпус PC Описание составных частей PC мы начинаем с конструктивного элемента, не являющегося необходимым для функционирования вычислительной системы, т. е. корпуса (системный блок), однако это первое, что бросается в глаза. Корпус PC является не только "упаковочным ящиком", но и функциональным элементом, защищающим комплектующие PC от внешнего воздействия, и служит основой для последующего расширения системы. Известно, что можно совершенствовать PC путем добавления в него новых или замены старых комплектующих. Поэтому при выборе корпуса рекомендуется руководствоваться не только эстетическими критериями, но и принимать во внимание его функциональные возможности. Хотя из частей компьютера корпус выглядит наименее эффектно, в нем располагаются все основные узлы компьютера - Электронные схемы, управляющие работой компьютера (микропроцессор, оперативная память, контроллеры устройств и т. д.) - Блок питания, преобразующий электропитание сети в постоянный ток низкого напряжения, подаваемый на электронные схемы компьютера - Накопители (или дисководы) для оптических дисков, используемых для чтения и записи на оптические диски (CD) - Накопитель на жестком магнитном диске, предназначенный для чтения и записи на несъемный жесткий магнитный диск (винчестер) - Через специальные гнезда (разъемы), находящиеся обычно на задней стенке корпуса к компьютеру можно подключить различные устройства. Подключение этих устройств выполняется с помощью специальных проводов (кабелей). Для защиты от ошибок разъемы для вставки этих кабелей сделаны разными, так что кабель просто не воткнется в неподходящее гнездо. Корпус состоит из двух жестяных или стальных листов, вставленных в друг друга. На одном из листов крепится материнская плата а другой лист является крышкой. Обычно на передней панели корпуса размещаются несколько кнопок (кнопка включения питания и кнопка Reset - сброс для перезапуска PC) и светодиодных индикаторов (LED - Light Emiting Diod) для индикации включения питания и работы винчестера. Иногда встречаются цифровые индикаторы частоты процессора. Внутри на фронтальной панели корпуса расположен динамик (PC Speaker), который является стандартным средством подачи акустических сигналов. Вместе с корпусом вы приобретаете блок питания. Размер блока питания определяется конструкцией корпуса. Существует множество модификаций блоков питания разного типа. Все они различаются выходными мощностями. Типы корпусов: Slimline - (тонкий) – по своему строению принадлежит к компактным корпусам. Они незаменимы там, где дорог каждый сантиметр рабочего стола. В таком корпусе использовано фактически все внутреннее пространство. И хотя конструкция корпуса экономит место, при необходимости замены составного элемента приходиться разбирать практически весь системный блок. Desktop - (письменный стол) – до недавнего времени наиболее часто применяемый корпус. Самый большой недостаток – они занимаю много места на рабочем столе. Как правило ширина таких корпусов около 45 см. а высота – около 20 см. Tower - (башня) – значительно экономит место на рабочем столе. Грубо говоря, это Desktop поставленный набок. Существует несколько модификаций таких корпусов отличающихся друг от друга по высоте: Mini-Tower (около 40 см. в высоту), Midi-Tower (около 50 см.), Big-Tower (около 60 см.). Корпус типа АТХ - В июле 1995 г. корпорацией Intel была предложена новая спецификация на конструкцию корпуса PC (и материнской платы). В настоящее время эта спецификация принята всеми ведущими производителями PC. Появление спецификации АТХ обусловлено, с одной стороны, повышением требований к скорости работы процессора и, соответственно, теплорежиму внутри корпуса, а также увеличению количества микросхем на материнской плате (появление систем all-in-one, то есть когда на материнской карте интегрированы видео и звуковые карты, контроллеры приводов и др.). С другой стороны, появились требования более удобного и простого доступа к внутренним элементам PC. Если вы открывали крышку корпуса PC и устанавливали новые компоненты (карты расширения, винчестер и др.), то наверняка столкнулись с массой неудобств: кабели периферийных устройств перекрывают доступ к модулям памяти, CPU блокирует возможность установки полноразмерных карт в слоты расширения и пр. Согласно стандарту АТХ материнская плата развернута на 90°, вследствие чего все слоты расширения становятся пригодными для использования полноразмерных плат, a CPU оказывается под блоком питания, и вентилятор блока питания дополнительно обдувает процессор. Внешне корпус АТХ похож на корпус типа Desktop и Tower, однако: - Корпус АТХ оборудован другим блоком питания, отличающимся от своих предшественников размерами, конструкцией и наличием нового разъема для подключения к материнской плате - Все слоты расширения поддерживают полноразмерные платы - Наличие интегрированных портов уменьшает количество кабелей и проводов внутри корпуса, что облегчает доступ к компонентам материнской платы - Все порты ввода/вывода располагаются на одной стороне материнской платы в один ряд и выходят на заднюю стенку корпуса (здесь же могут размещаться видео, аудио и игровой порт) - Разъемы интерфейсов дисководов и винчестеров расположены следовательно, можно использовать более короткие кабели В настоящее время появилось большое количество ATX-корпусов типа Desktop, Mini-Tower, Tower. 1.3 Материнская плата Материнская плата является основной составной частью каждого PC. Это самостоятельный элемент, который управляет внутренними связями и взаимодействует через прерывания с другими внешними устройствами. В этом отношении материнская плата является элементом внутри PC, влияющим на общую производительность компьютера. Супербыстрый винчестер или высокопроизводительная графическая карта нисколько не смогут увеличить его производительность, если тормозится поток данных к материнской плате и от нее. Материнскую плату (Motherboard) также называют главной (Mainboard) или системной платой. Размеры материнской платы нормированы. Также стандартизованы и отверстия внутри платы, которые соединяют ее с дном корпуса. Поэтому говорят не о размерах, а о типоразмерах материнских плат. Существует восемь основных типоразмеров материнских плат: - Baby-AT (стандартный) - HalfSize (миниплата для Slimline корпуса) - LPX (для корпусов с уменьшенной высотой и Slimline) - Mini-LPX (для корпусов с уменьшенной высотой и Slimline) - АТХ (для корпусов ATX) - Mini-ATX (для корпусов ATX с уменьшенной высотой) - NLX (дальнейшее развитие стандарта ATX) Chipset (Чипсет) - это набор микросхем, установленных на материнской плате для обеспечения работы CPU по обмену данными с периферийными устройствами. В настоящее время именно Chipset определяет как производительность, так и саму архитектуру материнской платы. Наиболее известные Chipset для материнских плат Pentium и Pentium Pro выпускаются фирмой Intel и имеют название Triton. ROM BIOS - Элемент ROM BIOS (Read Only Memory - память только для чтения, ПЗУ; Basic Input Output System - базовая система ввода/вывода) часто называют просто BIOS. Аппаратно он представляет собой элемент памяти емкостью 64 Кб, установленный 28 ножками в разъем на материнский плате. Ведущими изготовителями ROM BIOS являются фирмы AMI, Award и Phoenix. Функции, выполняемые системами BIOS одинаковы: - Предоставляет операционной системе аппаратные драйверы и осуществляет сопряжение между материнской платой и остальными средствами PC; ROM BIOS должен соответствовать конкретной материнской плате - Содержит тест проверки системы, так называемый POST (Power On Self Test), который при включении PC проверяет все важнейшие компоненты - Содержит программу установки параметров BIOS и аппаратной конфигурации PC CMOS Setup (или просто Setup, служит для изменения опций конфигурации PC), а также некоторые возможные установки Chipset 1.4 Процессор Стержень материнской платы — процессор, точнее главный процессор (Central Processing Unit, CPU). Подобные процессоры находятся не только в РС - в принципе процессором оборудована каждая современная стиральная машина или микроволновая печь. CPU регулирует, управляет и контролирует рабочий процесс. Однако материнскую плату составляет, естественно, не только процессор. Он находится в постоянном взаимодействии с другими элементами материнской платы до тех пор, пока PC включен. Конечно же, процессоры отличаются друг от друга. В области PC имеется признанный лидер на рынке - фирма Intel, которая является (и была) "домашним" поставщиком CPU в IBM -совместимых PC. Известны еще две фирмы: это AMD и Cyrix. Процессоры, как и все электрические схемы, получили обозначение типов. Для PC обозначение CPU начинается с 80, затем следуют две или три цифры, которые при необходимости дополняются буквами или цифрами, указывающими тактовую частоту процессора. Перед типом процессора чаще всего имеется сокращение, идентифицирующее изготовителя. i80486DX-50 обозначает, например, процессор типа 80486, изготовленный фирмой Intel и работающий с тактовой скоростью 50 МГц. Микросхемы фирмы Advanced Micro Devices обозначаются префиксом AMD, а процессоры Cyrix маркируются как CX. При запуске PC эти буквы появляются на экране монитора перед номером типа процессора. Процессоры других изготовителей, установленные не как CPU, уже трудно идентифицировать. Обозначение "80" перед именем процессора часто опускают. При этом под контекстом "386" понимают не только процессор 80386, но и все периферийные микросхемы, расположенные на материнской плате. Производительность CPU характеризуется следующими основными параметрами: - Степень интеграции (показывает количество транзисторов на единицу площади) - Внутренняя и внешняя разрядность обрабатываемых данных (количество одновременно обрабатываемых бит) - Тактовая частота (частота, с которой процессор выполняет определенные операции) (периодический сигнал, используемый для временного согласования всех синхронных операций в устройствах вычислительной машины) Типы процессоров Исходный вариант компьютера IBM PC и модель IBM PC XT использовали микропроцессор Intel-8088. В начале 80-х годов эти микропроцессоры выпускались с тактовой частотой 4,77 МГц, затем были созданы модели с тактовой частотой 8, 10 и 12 МГц. Модели с увеличенной производительностью (тактовой частотой) иногда называются TURBO-XT. Сейчас микропроцессоры типа Intel-8088 производятся в небольших количествах, и для использования не в компьютере, а в различных специализированных устройствах. Модель IBM PC AT использует более мощный микропроцессор Intel-80286, и ее производительность приблизительно в 4-5 раз больше, чем у IBM PC XT. Исходные варианты IBM PC AT работали на микропроцессорах с тактовой частотой от 12 до 25 МГц, т. е. работающие в 2-3 раза быстрее. Микропроцессор Intel-80286 имеет несколько больше возможностей по сравнению с Intel-8088, но эти дополнительные возможности используются очень редко, так что большинство программ, работающих на AT, будет работать и на XT. Сейчас микропроцессоры типа Intel-80286 также считаются устаревшими и для применения в компьютерах не производятся. В 1988-1991 гг. большая часть выпускаемых компьютеров была основана на достаточно мощном микропроцессоре Intel-80386, разработанным фирмой Intel в 1985 г. Этот микропроцессор (называемый также 80386DX) работает в 2 раза быстрее, чем работал бы 80286 с той же тактовой частотой. Обычный диапазон тактовой частоты 80386DX - от 25 до 40 МГц. Кроме того, фирмой Intel был разработан также микропроцессор Intel-80386SX, он ненамного дороже Intel-80286, но обладает теми же возможностями, что и Intel-80386, только при более низком быстро действии (приблизительно в 1, 5-2 раза). Микропроцессор Intel-80386 не только работает быстрее Intel-80286, но и имеет значительно больше возможностей, в частности, он содержит мощные средства для 32-разрядных операций (в отличие от 16-разрядных 80286 и 8088). Эти средства активно используются производителями программного обеспечения, поэтому многие выпускаемые сейчас программы предназначены для использования только на компьютерах с микропроцессорами модели Intel-80386 или более старшей. При создании микропроцессора Intel-80386 фирма Intel рассматривала его как самый передовой микропроцессор, обеспечивающий достаточную производительность для большинства решаемых задач. Однако получившая широчайшее распространение начиная с 1990-1991 гг. операционная оболочка Windows фирмы Microsoft резко увеличила требования к вычислительным ресурсам компьютера, и во многих случаях работа Windows-программ на компьютере с микропроцессором Intel-80386 оказалась слишком медленной. Поэтому в течение 1991-1992 гг. большинство производителей компьютеров переориентировались на использование более мощного микро процессора Intel-80486 (или 80486DX). Этот микропроцессор мало отличается от Intel-80386, но его производительность в 2-3 раза выше. Среди его особенностей следует отметить встроенную кэш-память и встроенный математический сопроцессор. Фирмой Intel также разработаны более дешевый, но менее производительный вариант -80486SX и более дорогие и более быстрые варианты -80486DX2 и DX4. Тактовая частота 80486 обычно находится в диапазоне 25-50 МГц, 80486DX2- 50-60 МГц, а DX4- до 100 МГц. В 1993 г. фирмой Intel был выпущен новый микропроцессор Pentium (ранее анонсировавшийся под названием 80586). Этот микропроцессор еще более мощен, особенно при вычислениях над вещественными числами. Как и Intel-80486, он содержит встроенный математический сопроцессор, причем значительно более эффективный, чем у Intel-80486. Для увеличения производительности в Pentium применены и другие усовершенствования: более быстрая и более широкая магистраль передачи данных (шина данных), большой размер встроенной кэш-памяти, возможность выполнения двух инструкций одно временно и т. д. Тактовая частота выпускаемых микропроцессоров Pentium- от 60 до 233 МГц. При этом микропроцессоры Pentium работают в 1, 5-2 раза быстрее микропроцессоров типа 80486 с той же тактовой частотой, а для задач, требующих интенсивных вычислений над вещественными числами -в 3-4 раза быстрее. В конце 1996 - начале 1997 годов Intel выпустила улучшенный процессор Pentium ММХ (MMX - Multimedia Extension). Хотя внешне он мало отличается от своего предшественника, архитектура команд претерпела сильные изменения. В наборе инструкций микросхемы появилось 57 новых. Они предназначены для выполнения задач, связанных с обработкой аудио-, видео-, графических и телекоммуникационных данных. Чтобы разместить в корпусе существующего Pentium новые возможности, компании пришлось пойти на некоторые компромиссы, а именно - процессоры с ММХ не могут одновременно выполнять инструкции ММХ и операции с плавающей запятой, так как и для ММХ команд, и для чисел с плавающей запятой используются одни и те же регистры встроенного сопроцессора. А сделано это для сохранения полной совместимости Pentium ММХ с существующим программным обеспечением. Это не такая уж большая проблема, поскольку сопроцессор используют немногие программы. Однако если найдутся приложения, требующие от процессора частого переключения между операциями с плавающей запятой и ММХ, они будут выполняться на ММХ - процессоре медленнее, чем на обычном процессоре с той же тактовой частотой. Корпорация Intel 7 мая 1997 года официально представила процессор Pentium II. Выпускаются варианты процессора с тактовой частотой 233 Мгц и 300 МГц, рассчитанные на питание 2.8 В.. Главной новостью стало то, что Pentium II не совместим с существующими материнскими платами для Pentium. Новый процессор будет монтироваться в S.E.C-картридже (Single Edge Contact). Полностью закрытый корпус картриджа защищает компоненты, теплоотводящая пластина позволяет использовать любые радиаторы для пассивного или активного теплоотвода. Благодаря этому тепловыделение для модели с тактовой частотой 233 МГц не превышает 38.2 Вт. Для сравнения: Pentium 200МГц выделяет 37.9 Вт. Картридж S.E.C будет вставляться в разъем Slot 1, предложенный Intel в качестве нового технологического стандарта форм-фактора компоновки компьютера. В январе 1999 г. корпорация Intel официально представила свой микропроцессор для PC Pentium III. По словам представителя компании Сета Уолкера, Pentium III должен продвинуть технологию вперед сразу на нескольких фронтах, включая тактовую частоту (первые модели процессора будут работать на частоте 450 и 500 МГц), обработку графики, скорость и надежность работы с Интернетом. План дальнейшего развития семейства изделий Pentium III предусматривает переход с технологической нормы 0,25 мкм на 0,18 мкм (рабочее название соответствующего микропроцессора — Coppermine). Переход с 0,25 мкм на 0,18 мкм приведет к повышению его производительности и снижению потребляемой мощности. Это позволит довести быстродействие кристаллов до 600 МГц и выше. Тактовая частота первых 0,25-мкм процессоров Pentium III составит 450 и 500 МГц. В процессор добавлены новые инструкции. Этот набор команд с кодовым названием Katmai New Instructions нацелен на повышение производительности обработки графики. Кроме того, он поможет ускорить работу приложений видео, аудио, распознавания речи и других подобных технологий. В марте 2001 г. Intel выпустила процессор Xeon 900 МГц - он стал последним членом семейства Pentium III. Этот процессор оснащен 2-Мбайт кэшем второго уровня, что повышает его производительность. В ноября 2000 г. корпорация Intel подтвердила свое намерение выпустить микропроцессор Pentium 4 и объявила об планах перевода массовых настольных PC с Pentium III на Pentium 4 уже к концу 2001 года. Процессор Pentium 4 построен на основе микроархитектуры Intel NetBurst. Это первая принципиально новая микроархитектура процессоров для настольных ПК, разработанная фирмой за последние пять лет, с тех пор как в 1995 году был выпущен процессор Pentium Pro с микроархитектурой P6. В архитектуре NetBurst используется несколько новых технологий: гиперконвейерная технология (Hyper Pipelined Technology) с глубиной конвейера, вдвое превышающей таковую в Pentium III; ядро быстрого выполнения (Rapid Execution Engine), повышающее производительность при работе с целочисленными данными за счет работы на удвоенной тактовой частоте по сравнению с частотой основного ядра; и кэш-память с отслеживанием выполнения (Execution Trace Cache), хранящая уже «декодированные» команды; таким образом устраняется задержка при анализе повторно исполняемых участков кода. Процессор Pentium 4 содержит 42 млн транзисторов на кристалле, снабжен кэш-памятью объемом 256 Кбайт и имеет 144 новые инструкции — так называемые потоковые SIMD-расширения-2 (SSE2), ускоряющие обработку блоков данных с плавающей запятой. В качестве основы платформ на базе Pentium 4 применяется чипсет Intel 850. Это пока единственный набор микросхем на рынке, разработанный для нового процессора. Чипсет поддерживает двухканальную память Rambus Direct RAM (RDRAM) с пропускной способностью 1,6 Гбайт/с по каждому каналу и системную шину с тактовой частотой 400 МГц и пропускной способностью до 3,2 Гбайт/с. На самом деле тактовая частота системной шины равна 100 МГц, а за один такт выполняется четыре операции (аналогичное решение применяется в AGP 4x). Intel также представила первую системную плату ATX D850GB для настольных ПК на базе нового чипсета. В настоящее время выпускаются 1.4-, 1.5- и 1.7-ГГц версии Pentium 4. Они производятся по 0,18-микронной технологии. Первые процессоры Core 2 официально были представлены 27 июля2006 года. Также как и их предшественники, процессоры Core, они делятся на модели Solo (одноядерные), Duo (двухъядерные), Quad(четырёхъядерные) и Extreme (двух- или четырёхъядерные с повышенной частотой и разблокированным множителем). Процессоры получили следующие кодовые названия — Conroe (двухъядерные процессоры для настольного сегмента), Merom (для портативных ПК), Kentsfield (четырёхъядерный Conroe) и Penryn (Merom, выполненный по 45-нанометровому техпроцессу). Хотя процессоры «Woodcrest» также основаны на архитектуре Core, они выпускались под маркой Xeon.. С декабря 2006 года все процессоры Core 2 Duo производились на пластинах диаметром 300 миллиметров на заводе Fab 12 в Аризоне, США и на заводе Fab 24-2 в County Kildare, Ирландия. В отличие от процессоров архитектуры NetBurst (Pentium 4 и Pentium D), в архитектуре Core 2 ставка делалась не на повышение тактовой частоты, а на улучшение других параметров процессоров, таких как кэш, эффективность и количество ядер. Рассеиваемая мощность этих процессоров значительно ниже, чем у настольной линейки Pentium. С параметром TDP, равным 65 Вт, процессор Core 2 имел наименьшую рассеиваемую мощность из всех доступных тогда в продаже настольных МП, в том числе на ядрах Prescott (Intel) с TDP равным 130 Вт, и на ядрах San Diego(AMD) с TDP равным 89 Вт. Особенностями процессоров Core 2 являлись: поддержка архитектуры EM64T, технология поддержки виртуальных x86-машин Vanderpool, NX bit и набор инструкций SSSE3. Кроме того, впервые были реализованы следующие технологии: LaGrande Technology, усовершенствованная технология SpeedStep (EIST) и Active Management Technology (iAMT2). Первые процессоры Core i3 были выпущены 7 января 2010 года. Первые представители семейства Core i3 на основе ядра Clarkdale микроархитектуры Nehalem имели интегрированный GPU и два процессорных ядра. Процессоры Core i3-3xxM на основе ядра Arrandale являлись мобильными версиями процессоров Clarkdale для настольных систем. Второе поколение процессоров Core i3 было представлено 20 февраля 2011 года. Процессоры базировались на основе микроархитектуры Sandy Bridge. Нумерация — i3-2xxx. Выход третьего поколения Core i3 на базе микроархитектуры Ivy Bridge произошёл в апреле 2012 года. Нумерация — i3-3xxx. В сентябре 2013 были представлены процессоры Core i3 четвёртого поколения Haswell. Нумерация i3-4xxx. Процессоры Core i3-43xx имеют увеличенный объём L3-кеш — 4 Мбайт, процессоры Core i3-41xx имеют 3 Мбайт L3-кеш. В моделях Core i3-43xx присутствует графическое ядро HD Graphics 4600 с 20 исполнительными устройствами. В Core i3-41xx используется графическое ядро HD Graphics 4400, отличающееся наличием 16 исполнительных устройств. Первые Core i5 для настольных компьютеров появились в сентябре 2009 года и используют ядро Lynnfield микроархитектуры Nehalem. В 2010 году появились Core i5 с ядром Clarkdale и со встроенным графическим процессором (в корпусе процессора, но на отдельном кристалле). Мобильные версии Core i5 используют ядро Arrandale. В январе 2011 года было представлено второе поколение процессоров Core с микроархитектурой Sandy Bridge, в том числе и Core i5. В данной архитектуре intel впервые интегрировала графическое ядро в кристалл процессора. В апреле 2012 года появилось 3 поколение процессоров Core i5 на ядре Ivy Bridge. В 2013 году появились процессоры Intel Core i5 Haswell для разъемов LGA 1150, в том числе и с разблокированным множителем, что даёт возможность разгонять процессор. В июле 2014 вышло поколение с архитектурой Devil's Canyon, а в январе 2016 года вышло новое поколение Intel Skylake. Через год, точнее в январе 2017 года появилось новое поколение процессоров Kaby Lake, также там присутствует серия Core i5. Intel Core i7 — семейство процессоров Intel с архитектурой X86-64. Преемник семейства Intel Core 2, наряду с Core i5 и Core i3. Это первое семейство, в котором появилась микроархитектура Intel Nehalem (1-е поколение). Последующие поколения Core i7 были основаны на микроархитектурах Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake и Coffee Lake. Идентификатор Core i7 применяется и к первоначальному семейству процессоров с рабочим названием Bloomfield, запущенных в 2008. Название Core i7 не показывает поколение процессора, оно лишь продолжает использовать успешную серию брендов Core. Чем больше идентификатор продукта, тем обычно мощнее процессор. Буквы T, U и Y обозначают процессоры, рассчитанные на малый расход энергии.Буквой K на конце обозначают процессоры с разгонным потенциалом, а P обозначает наличие менее мощного графического ядра. Структура микропроцессора. Микропроцессор-это полупроводниковое устройство, состоящее из одной или нескольких программно-управляемых БИС, включающих все средства, необходимые для обработки информации и управления, и рассчитанное на совместную работу с устройствами памяти и ввода-вывода информации. Микропроцессор состоит из трех основных блоков: - арифметически-логического - блока регистров - устройства управления Арифметически-логическое устройство (АЛУ) - выполняет все арифметические и логические преобразования данных. Устройство управления - электронный блок компьютера, включающий в работу устройства, блоки, электронные элементы и цепи в зависимости от содержания текущей команды. Регистр - ячейка памяти в виде совокупности триггеров, предназначенных для хранения одного данного в двоичном коде. Количество разрядов в регистре определяется разрядностью микропроцессора Регистры общего назначения - образуют сверхоперативную и служат для хранения операндов участвующих в вычислениях, а также результатов вычислений. Операндом называются - исходные данные, над которыми производятся различные действия в арифметическом устройстве. Регистр команд - служит для хранения команды, выполняемой в текущий момент времени. Счетчик команд - регистр, указывающий адрес ячейки памяти, где хранится следующая команда. Стек (стековая память) - совокупность связанных между собой регистров для хранения упорядоченных данных. Первый выбирается из стека данное попавшее туда последним, и наоборот. Сопроцессор Для выполнения арифметических операций с плавающей точкой имеется специальный арифметический процессор, называемый сопроцессором. В отличие от CPU он не управляет системой, а ждет команду CPU на выполнение арифметических вычислений и формирование результатов. Согласно заявлениям фирмы Intel по сравнению с CPU арифметический сопроцессор может уменьшить время выполнения арифметических операций, таких как умножение и возведение в степень, на 80% и более. Скорость выполнения сложения и вычитания, как правило, остается без изменения. Сопроцессор является только обиходным названием для этого чипа. Полностью он называется математическим сопроцессором или Numeric Processing Unit (NPU) или Floating Point Processing Unit (FPU). Наличие сопроцессора на материнской плате не является обязательным, поэтому на его месте может оказаться пустой разъем для дальнейшей установки сопроцессора. Исключением являются все CPU 486DX и выше - здесь сопроцессор интегрирован прямо в CPU. В первую очередь область применения сопроцессоров - научно-технические приложения, связанные с выполнением большого количества арифметических операций. Однако это не является ограничением использования. Обычно NPU ускоряет работу любой программы - даже программы обработки текстов, так как работа с текстовыми блоками и модулями требует сложных вычислений. Также сопроцессор существенно ускоряет обработку графических изображений и выполнение программ CAD. 1.5 Оперативная память Элементы памяти составляют основу внутреннего функционирования любой вычислительной системы, так как с их помощью данные хранятся и могут быть вновь прочитаны при дальнейшей обработке. Чтобы CPU мог выполнять программы, они должны быть загружены в оперативную память (в область памяти, доступную для программ пользователя). CPU имеет непосредственный доступ к данным, находящимся в оперативной памяти (Random Access Memory, RAM - память с произвольным доступом, ОЗУ), с другой же -"периферийной", или внешней, памятью (гибкими и жесткими дисками) процессор работает через буфер, являющийся разновидностью оперативной памяти, недоступной пользователю. Только после того, как программное обеспечение будет считано в RAM с внешнего носителя данных, возможна дальнейшая работа системы в целом. Оперативная память представляет собой самую быструю запоминающую среду компьютера. Принципиально имеет значение то, что информация может быть как записана в нее, так и считана. Оперативная память имеет свои достоинства и недостатки: - Благодаря малому времени доступа к памяти скорость обработки данных существенно возрастает. Если бы информация считывалась только с внешних носителей, то пользователь проводил бы в ожидании завершения выполнения той или иной операции много времени - Недостатком оперативной памяти является то, что она является временной памятью. При отключении питания оперативная память полностью "очищается", и все данные, не записанные на внешний носитель, будут навсегда потеряны Оперативная память принадлежит к категории динамической памяти, т. е. ее содержимое во время эксплуатации должно "освежаться" через определенные интервалы времени. Запоминающим элементом динамической памяти является конденсатор, который может находиться в заряженном или разряженном состоянии. Если конденсатор заряжен, то в ячейку записана логическая 1. Если конденсатор разряжен, то в ячейку записан логический 0. В идеальном конденсаторе заряд может сохраняться неопределенно долго. В реальном конденсаторе существует ток утечки, поэтому записанная в динамическую память информация со временем будет утрачена, так как конденсаторы запоминающих элементов через несколько миллисекунд полностью разрядятся. Во избежание потери информации существует процесс регенерации памяти (Refresh). Оперативная память представляет собой плату (за исключением старых моделей PC, где микросхемы устанавливались прямо в материнскую плату), длинной около 8-и см., на которой размещены микросхемы DRAM (Dynamic RAM). Такая плата называется модулем и устанавливается в соответствующие слоты материнской платы. Наибольшее распространение в последнее время получили DIMM-модули. Также имели место SIP и SIMM-модули. Модули вставляются в специально предназначенные для них слоты на материнской плате, называемые банками (Banks). Важной характеристикой (помимо объема) оперативной памяти является время доступа, которое характеризует интервал времени, в течение которого информация записывается в память или считывается из нее. Время доступа для внешних носителей, таких как гибкий или жесткий диски, выражается в миллисекундах, а для элементов памяти оно измеряется наносекундами. Логическое распределение оперативной памяти Логическое распределение оперативной памяти определяется не только применяемой операционной системой, но и особенностями аппаратной реализации IBM-совместимых PC. Можно выделить три важнейшие логические области оперативной памяти:  Стандартная оперативная память (Conventional Memory);  ЕМS-память (Expanded Memory Specification) – дополнительная память;  UMA (Upper Memory Area) – верхняя память;  HMA (High Memory Area);  XMS (Extended Memory Specification) – расширенная память Стандартная оперативная память (Conventional Memory) С уверенностью можно сказать, что, с точки зрения аппаратной спецификации, стандартная память является наиважнейшей. Как правило, в ней располагается большая часть прикладных программ и данных. В то время как внутри PC обычно все выражается в двоичной системе счисления (0 или 1), для адресации памяти применяется шестнадцатеричная, характеризующаяся наличием символа “h” после значения. Стандартная память начинается от адреса 0000:0000 и продолжается до адреса А000:0000, занимая 640Кбайт. Этот невысокий верхний предел был установлен процессорами 8088 и 8086. Эти процессоры имели 20-разрядную адресную шину и поэтому могли адресовать только 1 Мбайт памяти (220=l 048 576 байт). В пределах этой памяти выше уровня 640 Кбайт фирмой IBM были зарезервированы 384 Кбайта для выполнения внутренних функций, на которых мы остановимся ниже. В стандартной памяти расположены таблица векторов прерываний, область данных BIOS, операционная система.   Таблица векторов прерываний Само название говорит о том, что речь идет о таблице (состоящей из 256 элементов по 4 байта), в которой находятся вектора прерываний – адреса сервисных программ, входящих в состав операционной системы и BIOS. При этом речь идет о таких базовых функциях, как отображение символа на экране монитора или организация доступа к дисководу или жесткому диску и т. п. Но так как существуют различные операционные системы и версии BIOS, эти программы-прерывания могут располагаться в различных местах стандартной оперативной памяти. В таблице прерываний указано их реальное местоположение. Таблица занимает место 1024 Байт (1 Кбайт) и начинается с адреса 0000h:0000h. Область данных BIOS Вслед за таблицей прерываний расположена область данных BIOS объемом 768 Байт. Здесь размещены, например, счетчик таймера, буфер клавиатуры и другая внутренняя информация. Операционная система Далее в стандартной оперативной памяти расположена операционная система. Конечно же, она загружается в RAM не полностью, а только частично (ядро). Ядро ОС не имеет постоянного адреса памяти. Его местоположение и размер занимаемой им памяти зависят от операционной системы. Основная область памяти Далее до адреса A000h:0000h все принадлежит только программам и данным. Этот адрес известен как граница 640 Кбайт, с которой успешно справляются многие PC с процессором выше 80286. UMA   Верхняя память – участок памяти от 640Кб до 1 Мб. Здесь находится информация, которая служит для сопряжения прикладных программ с различными картами расширений, установленными в PC. И поскольку иногда карты расширения, например, видеокарту, называют адаптером (Adapter), эту область памяти коротко называют сегментом адаптера или, поскольку речь идет об области памяти с более высокими адресами, UMA (Upper Memory Area). Эта верхняя память (Upper Memory) располагается по адресам от A0000h до FFFFFh (от 640 Кбайт до 1 Мбайт), ее размер составляет 384 Кбайт. Рассматриваемая область памяти не однородна. В UMA размешается видеопамять и ПЗУ BIOS, а также могут находиться модули постоянной и оперативной памяти, конструктивно расположенные на картах расширения, подключенных к PC. Поэтому среди этих блоков некоторые являются зарезервированными (пользователь не может их использовать), другие, напротив, свободны. Свободные блоки, поскольку они находятся в верхней памяти, также называют UMB (Upper Memory Block).   EMS   Как уже упоминалось ранее, в верхней памяти имеются изрядные «дыры», которые представляют собой свободную память, самостоятельно не иденти­фицируемую системой. Пустуют, как правило, область расширения системного ROM BIOS или часть области под дополнительные модули ROM. Использовать эту память позволяет метод EMS (Expanded Memory Specification), появившийся прежде всего потому, что программы, использующие большое количество памяти, не могут разместиться в оперативной памяти до 640 Кбайт. Для того чтобы преодолеть этот барьер, фирмы Lotus, Intel и Microsoft (отсюда название LIM) создали стандарт, который основывается на так называемом переключении банков (Bank Switchings), или блоков (страниц), памяти. В области UMB между видеобуфером и системным ROM BIOS выделяется неза­нятое «окно» (page frame) размером 64 Кбайт, разделенное на 4 логические страницы по 16 Кбайт. С помощью специального драйвера, например ЕММ386.ЕХЕ, строятся «отображения» до четырех произвольных физических страниц из дополнительной (Expanded) памяти, расположенной на специальной карте расширения, в логические. Поэтому эту память часто называют отображаемой памятью. При необходимости обращения к данным, располо­женным в дополнительной памяти, с помощью драйвера выбирается соответ­ствующее ранее построенное «отображение» физических страниц в логические. Когда процессор обращается к области памяти, входящей в «окно» (адрес памяти которого ниже 1 Мбайт), аппаратно происходит обращение к соответствующим страницам дополнительной памяти на плате расширения. Таким образом, посредством адресации, реализуемой драйвером EMS, можно обращаться к 8 Мбайт (стандарт LIM 3.2) или к 32 Мбайт (стандарт LIM 4.0) дополнительной памяти, которая конструктивно расположена на отдельной карте расширения. На PC с процессорами 80386 и выше такая отдельная карта не нужна. EMS здесь может эмулироваться с помощью соответствующих драйверов. Для того чтобы использовать EMS-память, необходимо выполнение двух условий:  прикладные программы должны уметь обращаться к драйверу EMS-па­мяти;  необходим специальный менеджер памяти (Expanded Memory Manager), сокращенно EMM, который организует страницы и управляет ими. Ранее, для старых материнских плат, соответствующий драйвер поставлялся на отдельной дискете. В настоящее время этот драйвер входит в стандартные поставки DOS и Windows, в этом случае он соответствует последнему стандарту LIM и представляет собой файл ЕММ386.ЕХЕ. Этот драйвер позволяет программно эмулировать дополнительную (Expanded) память в расширенной (Extended) памяти.   НМА   Первый блок величиной 64 Кбайта непосредственно выше границы 1 Мбайт оперативной памяти обозначают как НМА (High Memory Area). Своему сущест­вованию эта область целиком обязана несколько «ущербной» эмуляции процес­сора 8088 процессором 80286. Дело состоит в следующем. Вся стандартная па­мять, помимо того, что может быть представлена в виде 16 неперекрываемых блоков размером 64 Кбайта каждая (0–F), также может быть представлена и в виде перекрываемых 64 Кбайтных областей, называемых сегментами, которые, вообще говоря, могут начинаться через каждые 16 байт. Максимальный полный адрес в виде сегмент: смещение, по которому может обратиться процессор 8088, – это FFFF:000Fh (20 адресных линий). Если увеличить это значение хотя бы на единицу, то произойдет циклический перенос (wrap around) и значение адреса станет 0000:0000. Для процессора 80286 и выше в общем случае этого не случится, так как адресная шина этих процессоров больше 20 разрядов, но адрес памяти при этом превысит границу 1 Мбайт. Чтобы исправить эту ошибку, фирма IBM предусматривает на материнских платах PC специальные аппаратные средства, «заставляющие» процессор 80286 выполнять переход на низшие адре­са, как это было при работе процессора 8088. Однако такой переход может быть отменен чисто программным путем. Таким образом, PC с процессором не ниже 80286 в реальном режиме может дополнительно адресовать память в пределах FFFF:0010-FFFF:FFFFh, т.е. практически целый сегмент размером 64 Кбайт минус 16 байт. Особенно важным для понимания является тот факт, что область НМА доступна, по сути, в реальном режиме работы процессора. XMS   В 1982 году появилась возможность использования расширенной памяти. Расширенная память – часть оперативной памяти в компьютерах с микропроцессорами Intel-80286, расположенная выше первого мегабайта. XMS (eXtended Memory Specification) обозначает всю память выше границы 1 Мбайт, включая также НМА. Чтобы иметь доступ к этой памяти, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной памяти в расширенную и обратно. Выполнение программ, размещенных в расширенной памяти, не предусмотрено. Драйвер, реализующий XMS, переводит процессор в защищенный режим, т. е. режим, в котором можно адресовать всю память. 1.6 Контроллеры Чтобы PC мог работать, необходимо, чтобы в его оперативной памяти находились программа и данные. А попадают они туда из различных устройств компьютера - клавиатуры, дисководов, дисков и т. д. Обычно эти устройства называют внешними, хотя некоторые из них могут находится не снаружи компьютера, а встраиваются внутрь системного блока. Результаты выполнения программ также выводятся на внешние устройства - монитор, диски, принтер и т. д. Таким образом, для работы компьютера необходим обмен информацией между оперативной памяти и внешними устройствами. Такой обмен называется вводом- выводом. Но этот обмен не происходит непосредственно между любым внешним устройством и оперативной памятью в компьютере имеются целых два промежуточных звена 1. Для каждого внешнего устройства в компьютере имеется электронная схема, которая им управляет. Эта схема называется контроллером, или адаптером. Некоторые контроллеры (контроллер дисков) могут управлять сразу несколькими устройствами. 2. Все контроллеры и адаптеры взаимодействуют с CPU и оперативной памятью через системную магистраль передачи данных, которую обычно называют шиной. Шина представляет собой совокупность линий (проводов) по которым передается информация. Подробнее шины описаны ниже. Одним из контроллеров, которые присутствуют почти в каждом компьютере, является контроллер ввода-вывода. Он управляет работой портов. Эти порты бывают следующих типов • - Параллельный  (LPT) • Последовательный  (COM) • Игровой • Разъем Ethernet • Разъем PS/2 (мышь) • Разъем PS/2 (клавиатура) • USB • VGA-разъем и прочие видеовыходы • Аудиоразъемы для подключения динамиков, микрофона, и.т.д. Порты в/в на материнской плате форм-фактора ATX: 1 – Разъем PS/2 (мышь); 2 – Разъем PS/2 (клавиатура); 3 – Выход Ethernet; 4 – Два разъема USB; 5 – Разъем последовательного порта; 6 – Разъем параллельного порта; 7 – Разъем VGA; 8 – Игровой порт; 9 – Аудиопорты (слева направо: линейный выход, вход, микрофон). Параллельные порты выполняют ввод и вывод с большой скоростью, чем последовательные (за счет использования большего числа проводов в кабеле). Принцип параллельной передачи данных подразумевает передачу восьми бит данных одновременно (параллельно) К параллельному порту обычно подключается принтер. (25-и контактный разъем) При последовательной передаче данных биты передаются (или принимаются) один за другим. К последовательным портам подключаются модемы, мыши и др. (9-и, реже 25-и контактный разъем) 1.7 Шины CPU и Chipset едва ли можно было использовать, если бы информация не циркулировала между отдельными элементами и устройствами. Проще сказать, что в распоряжении системы есть несколько линий, которые связывают элементы между собой. Эти линии обмена данными называют шиной (Bus). Важнейшей характеристикой шины является так называемая разрядность шины (иногда говорят ширина шины), которая определяет количество данных, параллельно "проходящих" через нее (8, 16, 32 и 64 бит). Шины по функциональному назначению делятся на три категории: - шина данных. По этой шине происходит обмен данными между CPU, картами расширения, установленными в слоты, и памятью. - адресная шина. Служит для передачи адресов памяти. - шина управления (системная шина). Управляет обменом данными, определяет какие данные куда необходимо доставить. Существует несколько типов шин различающихся техническими возможностями: - ISA – первая 8-ми разрядная шина. - AT Bus – 16-и разрядная шина, ставшая расширением шины ISA - MCA – 32-х разрядная. Скорость передачи данных – до 20 Мб/с - EISA – дальнейшее развитие шины ISA. Эта 32-х разрядная шина обеспечивала до 33 Мб/с - VESA – расширение шины ISA для обмена видеоданными. Имела 32 разряда - PCI – в основе этой шины заложены абсолютно новые принципы. Эта 32-х разрядная шина обеспечивала скорость передачи данных до 132 Мб/с (PCI 1.0) и до 264 Мб/с. в 64-х разрядной PCI 2.0 - USB – универсальная шина для подключения периферийных устройств (клавиатура, мышь, принтер и т.д.) Скорость передачи данных 12 Мб/с. К шинам через специальные разъемы (слоты расширения) подключаются карты расширения, такие как графический адаптер, звуковые карты и т.д. В системе может насчитываться 5 – 8 таких слотов. Все они внешне отличаются друг от друга в соответствие с типом шины. Наиболее распространены в PC шины PCI (для высокоскоростных устройств) и шины ISA (для клавиатуры, мыши, звуковой карты и т.д.). 1.8 Устройства хранения данных Очевидно, что помимо оперативной памяти необходимо оснащать компьютер еще и другими устройствами памяти, рассчитанными на долговременное хранение данных. К ним относятся дискеты, винчестеры, CD-ROM и др. Укажем важнейшие достоинства и недостатки таких запоминающих устройств. Время доступа к информации для этих запоминающих устройств составляет миллисекунды, а для элементов оперативной памяти — наносекунды. При правильной эксплуатации накопителей данные, которые на них размещены, будут доступны в течение длительного времени и возможен обмен данными между компьютерами. Все приводы PC не могут самостоятельно управлять обменом данных. В качестве посредника между приводом и PC используется специальный контроллер. Дисководы Дисководы (Floppy Disk Drive, FDD) являются старейшими периферийными устройствами PC. В качестве носителя информации в них применяются дискеты (Floppy) диаметрами 3,5" и размерами 5,25". Дискета представляет собой гибкий лавсановый диск, на который нанесено магнитное покрытие. Информация на дискете запоминается путем изменения ее намагниченности. Изменение поля ориентирует магнитные частицы дискеты в направлении север-юг или юг—север. Так представляются логические состояния "1" или "О". Дискеты различаются друг от друга по своей емкости, то есть количеству информации, которое на них можно записать. Трехдюймовые дискеты чаще всего имеют емкость 1,44 Мбайта, хотя встречаются старые дискеты емкостью 720 Кбайт. Пятидюймовые дискеты чаще всего имеют емкость 360 Кбайт (обозначение - Double Side /Double Density, DS/DD) или 1,2 Мбайта (Double Side/High Density, DS/HD). Однако дискеты не предоставляют свой теоретический объем полностью в наше распоряжение. Операционная система с целью манипулирования данными должна резервировать определенные области. Нулевая дорожка нулевой стороны первого сектора - это так называемый Boot-сектор (загрузочный). В этом месте загрузочной (системной) дискеты, содержащей компоненты операционной системы, находится программа для загрузки системы. Таблица размещения файлов FAT (File Allocation Table) помещается два раза подряд (с копией) и требует также определенное количество секторов. Эта таблица необходима для того, чтобы система могла узнать, какая информация располагается на дискете и в каких областях она находится. Таким образом, FAT содержит как бы опись дискеты. В FAT отмечается каждое изменение состояния данных дискеты. Дискеты являются ненадежными устройствами хранения информации. Дискеты могут быть легко повреждены, что приводит к потере информации, и обладают небольшой емкостью. Винчестеры Первый винчестер, также называемый накопителем на жестких дисках (Hard Disk Drive, HDD), установленный в PC, имел "колоссальную" емкость 10 Мб, а еще недавно PC были оснащены стандартными винчестерами Seagate ST225 емкостью 21 Мб. В настоящее время уже возможно приобрести винчестеры емкостью 70 Гб. Можно только удивляться крайне быстрым темпам развития этих аппаратных средств. По сравнению с дискетами винчестеры имеют два важнейших достоинства и один незначительный недостаток: - Емкость винчестеров едва ли можно сравнивать с емкостью дискет. Так, для того чтобы сохранить данные объемом 420 Мб, потребуется около 290 дискет 3,5" HD - Время доступа для винчестеров на порядок меньше, чем для приводов дискет - Винчестеры предназначены для стационарной установки в PC. Обычно они извлекаются из корпуса PC только при замене В принципе жесткие диски подобны дискетам. В них информация также записывается на магнитный слой диска. Однако этот диск, в отличие от дискет, сделан из жесткого материала, чаще всего алюминия (отсюда и название Hard disk). В корпусе из прессованного алюминия (41,6*101*146) объединены такие элементы винчестера, как управляющий двигатель, носитель информации (диски), головки чтения/записи и электроника. Рабочий двигатель приводит во вращение диски. Для каждого диска имеется пара головок, которые позиционируются и приводятся в движение шаговым двигателем, и считывают информацию. Опасность для винчестеров представляют удары, тряска и перемещение во время процесса считывания/записи. Такие механические воздействия приводят к повреждению головкой поверхности диска. Приводы CD-ROM CD (Compact Disk - компакт-диск), пришедшие из области аудиоаппаратуры, были модифицированы для применения в PC и в настоящее время уже уверенно вошли в стандартную комплектацию современных компьютеров. CD-ROM (Compact Disk Read Only Memory) имеет ряд достоинств и недостатков: - По сравнению с винчестерами CD значительно надежнее в транспортировке - CD-ROM имеет огромную емкость. Объем данных достигают 500-700 Мб - CD-ROM практически не изнашивается (при соответствующей эксплуатации) - Основной недостаток относится к методам обработки информации. CD-ROM является накопителем, предназначенным только для чтения данных - носитель не позволяет записывать информацию на него (необходим пишущий CD-WORM - Write once-Read many) Приводы CD-ROM работают не так, как все описанные выше электромагнитные носители информации. При записи компакт-диск обрабатывается лазерным лучом (без механического контакта), выжигающим тот участок, который хранит логическую единицу, и оставляет нетронутым тот участок, который хранит логический нуль. В результате чего на поверхности CD образуются маленькие углубления. Компакт-диск представляет собой металлизированный пластмассовый диск диаметром 110 мм и толщиной 1,2 мм. На верхнюю сторону наносится светоотражающий алюминиевый слой, который покрыт защитным лаком для предотвращения повреждений. CD-WORM (Write once-Read many) дают возможность однократной записи информации на CD. Такие CD, в основном, применяются там, где однократно должны запоминаться большие объемы данных и потом уже не изменяться, например, для целей архивации. Устройства записи CD-WORM, или CD-ROM-Recorder, "прожигают" чистые диски CD-ROM, нанося на них до 650 Мб данных (74 минуты звучания цифрового аудио). После этого CD-ROM можно использовать в любом стандартном приводе CD-ROM. С помощью CD-ROM-Recorder можно создавать собственные аудиодиски, делать резервные копии винчестера и т.д. Лекция 2. Эволюция микрокомпьютеров. Введение. Чтобы лучше разобраться в современном поколении микропроцессоров, нужно оглянуться назад и посмотреть, с чего все началось и как шло их развитие. В этой лекции и дается такая историческая ретроспектива, а также определяются основные понятия компьютеров и внутреннее представление чисел. В последующих лекциях представлена базовая архитектура процессора 80286 аналогичная архитектуре микропроцессора 8086. Наибольшие различия между микропроцессорами 8086 и 80286 касаются той поддержки, какую процессор 80286 оказывает операционной системе. 1.1.Основные направления эволюции микрокомпьютеров. Процесс эволюции микроэлектроники, который привел к созданию современных микрокомпьютеров, можно разделить на два периода: уменьшения размеров и расширения возможностей. В течение первого периода (40 - 70-е гг. двадцатого века) по мере совершенствования технологии компонентов компьютеры становились все меньше и меньше. Кульминацией этого периода стало появление компьютера (хотя и примитивного по стандартам 1970 г.), размеры которого были не больше почтовой марки. В период расширения возможностей (с 1970 г. по настоящее время) крошечные компьютеры превратились в столь же мощные образования, как и их крупные предшественники. Уменьшение размеров. В 50-х гг. двадцатого столетия все электронные устройства, от радиоприемников и телевизоров до компьютеров, были построены на громоздких электронных лампах. Компьютеры этого периода иногда называют ЭВМ первого поколения, а примерами их служат модели 650 и 704 фирмы IBM. Эти компьютеры устанавливались в больших помещениях и состояли из нескольких стоек с электронным оборудованием. К концу 50-х гг. электронные лампы начали заменять транзисторами и другими твердотельными приборами. Компьютеры, выполненные по новой технологии, стали называть ЭВМ второго поколения (примерами их служат системы машины 7090 фирмы IBM и В5500 фирмы Burroughs). В 60-х гг. дискретные электронные элементы (транзисторы, резисторы и др.) были объединены в более сложные электронные компоненты, названные интегральными схемами. Интегральная схема изготавливается на кремниевой пластинке, размеры которой меньше размеров почтовой марки. Пластинка монтируется в корпусе со многими выводами ("сороконожка"), который можно встроить в систему. Такая интегральная схема называется чипом (кристаллом). Компьютеры, построенные на интегральных схемах, относятся к ЭВМ третьего поколения (системы IBM 360, GE 635 и Burroughs 6700). Технология интегральных схем продолжала совершенствоваться, и в начале 70-х гг. многие компоненты ЭВМ удалось разместить в одной микросхеме (микропроцессоры 4004 и 8008 фирмы Intel). Появился термин компьютер на кристалле. Компьютеры на кристалле называются микрокомпьютерами и микропроцессорами. Хотя этим терминам иногда придается одинаковый смысл, между ними имеется различие. Микропроцессор - это одна микросхема, содержащая схемы управления и арифметические устройства компьютера, но в ней нет памяти и устройств ввода-вывода. Микрокомпьютер - это законченная система, содержащая микропроцессор, микросхемы памяти и устройства ввода-вывода. Иногда вся система реализуется на одном кристалле (микросхема 8048 фирмы Intel), и тогда получается однокристальный микрокомпьютер. Расширение возможностей. Эра микропроцессоров началась в 1971 г. с появлением микросхем 4004 и 8008 фирмы Intel. Они относятся к микропроцессорам первого поколения. Обе эти микросхемы разрабатывались для специализированных применений: 4004 - для калькулятора, а 8008 -для терминала. Оба микропроцессора считались в то время занимательной новинкой и всерьез не воспринимались. Но к 1974 г., когда микропроцессор 8008 был модифицирован в микропроцессор второго поколения 8080, на них обратила внимание компьютерная промышленность. Микросхема 8080 была первым микропроцессором, специально разработанным для множества применений; она быстро стала "стандартным" микропроцессором. Теперь микропроцессор стал выполнять вычислительные задачи старых и громоздких компьютеров и оказался по стоимости доступным даже для любителей. Многие фирмы выпускали микропроцессор 8080 по лицензиям, а некоторые из них предложили улучшенный его вариант (микропроцессор Z80 фирмы Zilog). В 1976 г. появился модернизированный вариант микропроцессора 8080 - микросхема 8085 фирмы Intel. Однако до 1978 г. базовая структура микропроцессора 8080 оставалась неизменной. В 1978 г. фирма Intel выпустила микропроцессор 8086. Это был первый микропроцессор, который работал с данными длиной 16 бит (микропроцессор 8080 работает с 8-битными данными). Вскоре еще две фирмы объявили о своих 16-битных микропроцессорах: фирма Motorola выпустила микропроцессор М68000, а фирма Zilog - микропроцессор Z8000. Все эти микропроцессоры образовали третье поколение микропроцессоров. В 1979 г. был выпущен 8-битный вариант 8086 - микропроцессор 8088. Через два года фирма IBM вышла на рынок персональных компьютеров и использовала его в своем первом изделии - персональном компьютере IBM PC. Благодаря такой мощной поддержке микропроцессоры 8086 и 8088 стали наиболее популярными. Семейство микропроцессоров 8086 продолжало развиваться. В 1983 г. фирма Intel разработала усовершенствованные модификации - процессоры 80186 и 80188. В этом же году был объявлен процессор 80286, который стал крупным шагом вперед по сравнению с микропроцессором 8086. Через год этот процессор был встроен в персональный компьютер фирмы IBM следующего поколения - IBM PC/AT. Сделаем замечание по названиям процессоров. Фирма Intel называет процессоры - iАРХ186, iАРХ188 и iАРХ286. Однако вне ее их называют -80186, 80188 и 80286; этого же будем придерживаться и мы, хотя имеют хождение и сокращенные названия процессоров - 186,188 и 286. Параллельно с расширением сферы применения микропроцессоров развивались и специализированные микропроцессоры. Под сопроцессором понимается подчиненный процессор, выполняющий специализированные функции для процессора широкого назначения. Первым популярным сопроцессором оказался 8087, который выполняет вычисления с плавающей точкой для микропроцессоров 8086 и 8088. С появлением процессоров 80186 и 80188 он стал применяться и с ними. Но поскольку в процессор 80286 встроен другой интерфейс с сопроцессором, для него потребовалось модифицировать сопроцессор 8087. Таким усовершенствованным сопроцес­сором стала микросхема 80287 (другие названия ее 287 и iАРХ287). 1.2. Основные сведения о компьютерах. Предполагается, что читатели знакомы с принципами построения компьютеров, поэтому мы дадим здесь только краткий обзор. Компьютер получает данные от устройств ввода, обрабатывает их и передает окончательные результаты в устройство вывода. Выполняемая обработка определяется последовательностью команд (инструкций), называемой программой. Программа хранится в памяти компьютера. Операциями компьютера управляет центральный процессор, или просто процессор. Он выбирает команды из памяти, декодирует их и выполняет операции, предписанные командами. Чтобы выполнять операции, процессор должен посылать управляющие сигналы в другие устройства компьютера. Операции, производимые ими при выполнении команды, состоят из пересылок данных и вычислений. Память компьютера хранит исходные данные для вычислений и результаты. Чтобы показать, как работает компьютер, рассмотрим выполнение команды сложения. Процессор посылает сигнал в память, запрашивая следующую команду, а память реагирует, передавая команду в процессор. Затем процессор декодирует команду и обнаруживает, что это команда сложения. После этого процессор предпринимает такие действия: 1) посылает сигналы в память, запрашивая передачу двух значений; 2) суммирует полученные значения; 3) посылает сигнал в память о том, чтобы она приняла результат сложения. Память - это совокупность последовательных ячеек, каждая из которых имеет уникальный адрес. Каждая ячейка состоит из последовательности бит. Значения бит (0 или 1) образуют содержимое ячейки. Регистры, как и память, используются для хранения промежуточных результатов. Но они находятся в составе процессора, поэтому получать значения из регистров проще и быстрее, чем из памяти. Флажки внутри процессора применяются для регистрации того, что в нем происходит. Есть два вида флажков: одни из них (флажки состояния) фиксируют информацию об особенностях ранее выполненных команд, а другие (флажки управления) управляют действиями процессора. Пример флажка состояния - флажок, показывающий, не является ли результат для компьютера слишком большим. Примером флажка управления служит флажок, заставляющий компьютер выполнять команды с меньшей скоростью. Может оказаться, что флажок одновременно является и флажком состояния, и флажком управления; примером может служить флажок NT процессора 80286. 1.3. Представление чисел. Мы привыкли представлять целые числа в виде последовательностей десятичных цифр, например 365: три сотни, шесть десятков и пять единиц. Такое представление называется представлением с основанием десять. Целые числа в компьютерах обычно представляются последовательностями двоичных цифр (бит), например 11010. Такое представление в двоичной системе обозначает: 1 - шестнадцать, 1 - восемь, 0 - четыре, 1 - два и 0 -нуль. Двоичные числа можно складывать, вычитать, умножать и делить, не превращая их в десятичные, если помнить о том, что 1 плюс 1 равно 10 (1 -два и 0 - нуль), а не 2. Приведем пример: +1001 (двоичное представление девяти) 0101 (двоичное представление пяти) 1110 (двоичное представление четырнадцати) Конечно, мы запутаемся в длинных последовательностях двоичных цифр, но компьютеры в них не путаются. Например, 10110101 есть двоичное представление десятичного числа 181. Чтобы упростить действия с двоич­ными числами, их цифры группируют по четыре бита. После этого каждая группа представляется одним символом в соответствии с табл. 1.1. Например, число 10110101 сокращенно записывается как В5. Такое представление называется шестнадцатеричным числом; если бы мы рождались с шестнадцатью пальцами на руках, то пользовались бы именно такими числами. Таблица 1.1 Шестнадцатеричное представление Группа из 4 бит Шестнадцатеричная цифра Значение 0000 Нуль 0001 1 Один 0010 2 Два 0011 3 Три 0100 4 Четыре 0101 5 Пять 0110 6 Шесть 0111 7 Семь 1000 8 Восемь 1001 9 Девять 1010 10 Десять 1011 11 Одиннадцать 1100 12 Двенадцать 1101 13 Тринадцать 1110 14 Четырнадцать 1111 15 Пятнадцать Двоичная запись очень удобна для представления положительных чисел и нуля. Но при переходе к отрицательным числам потребуется дополнительный механизм для указания знака числа. Проще всего использовать для знака старший (левый) бит числа, например: 0000 0100 (обозначает +4) 1000 0100 (обозначает -4) 0111 1111 (обозначает +127) 1111 1111 (обозначает -127) У такого представления, называемого прямым кодом, имеется один серьезный недостаток: для него потребуются специальные арифметические правила. Покажем это на примере использования двоичной арифметики для вычитания +1 из 0 с ожидаемым получением -1: -0000 0000 (0 в прямом коде) 0000 0001 (+1 в прямом коде) 1111 1111 (-127 в прямом коде) При использовании для знаковых чисел (как и для беззнаковых) обычной двоичной арифметики требуется особое представление знаковых чисел, в котором 11111111 представляет -1, а не -127. Кроме того, вычитание +1 из -1 должно давать -2. Выполним это вычитание, чтобы посмотреть, как должно выглядеть -2: 11111111 (это -1) 00000001 (вычитаем +1) 11111110 (и называем это -2) Рассмотренное представление называется дополнительным кодом; в этом коде операции сложения и вычитания дают правильный результат в дополнительном коде, например: +00000011 (+3 в дополнительном коде) 11111110 (-2 в дополнительном коде) 0000 0001 (+1 в дополнительном коде) В дополнительном коде старший бит неотрицательного (положительно­го или нулевого) числа содержит 0, а отрицательного числа -1. Следовательно, как и в прямом коде, этот бит является знаковым. Знак числа в дополнительном коде можно изменить, если изменить (инвертировать) значение каждого бита и прибавить +1. Например, мы можем получить представление -5 в дополнительном коде из представления +5 в дополнительном коде следующим образом: +00000101 (+5 в дополнительном коде) 11111010 (+5 с измененными битами) 0000 0001 (+1 в дополнительном коде) 11111011 (- 5 в дополнительном коде) Необходимо очень осторожно подходить к увеличению длины чисел представленных в дополнительном коде. Бели 8-битное число в дополнительном коде расширяется до 16 бит (например, для сложения с 16-битным числом в дополнительном коде), нужно подумать, что же поместить в левые 8 бит. Предположим, что мы хотим прибавить число 0000 0001 (+1 в дополнительном коде) к 0000 0000 0000 0011 (+3 в дополнительном коде). Наверное, ни у кого не возникает сомнений в том, что здесь следует просто добавить в числе +1 восемь нулей с левой стороны, а затем сложить: +0000 0000 0000 0011 (+3 в дополнительном коде) 0000 0000 0000 0001 (+1 в дополнительном коде) 0000 0000 0000 0100 (+4 в дополнительном коде) Однако при необходимости прибавить число 1111 1111 (-1 в дополнительном коде) к числу 0000 0000 0000 0011 (+3 в дополнительном коде) следует добавить к числу -1 слева восемь единиц (добавление нулей превратило бы -1 в положительное число). После этого производится сложение: +0000 0000 0000 0011 (+3 в дополнительном коде) 1111 1111 1111 1111 (-1 в дополнительном коде) 0000 0000 0000 0010 (+2 в дополнительном коде) Следовательно, расширение 8-битного числа в 16-битное выглядит так: Значение 8-битное представление 16-битное представление +1 0000 0001 0000 0000 0000 0001 -1 1111 1111 1111 1111 1111 1111 Таким образом, для расширения числа в дополнительном коде необходимо ввести новые биты слева и поместить в каждый из них значение знакового бита. Этот процесс называется расширением со знаком. Заключение. Познакомившись с компьютерами и представлением чисел, мы готовы к изучению конкретного процессора 80286. В следующей лекции мы рассмотрим его машинную организацию. Лекция 3. Машинная организация процессора 80286 1.1. Введение. Один из способов изучения компьютера заключается в рассмотрении его функциональных компонентов. Описание этих компонентов и их взаимодействия иногда называется архитектурой компьютера. В понятие архитектуры входят число регистров и их функции, объем подключаемой памяти, способы ее адресации и средства ввода-вывода. Микросхема 80286 содержит значительную часть компонентов компьютера, например схемы, которые управляют всеми его функциями, а также все регистры и флажки. В ней нет памяти и устройств ввода-вывода, но их легко подключить к микросхеме и образовать законченный компьютер. Совокупность всех элементов, содержащихся на кристалле микросхемы, иногда называют процессором. Процессор 80286 имеет два режима работы: режим реального адреса (или, короче, реальный режим) и защищенный режим виртуального адреса (виртуальный режим). В первом режиме процессор ведет себя как более быстродействующий микропроцессор 8086, и многие программисты будут использовать его именно в этом режиме. Виртуальный режим предназначен для системных программистов и пользователей, разрабатывающих сверхбольшие программы. В этой лекции мы сосредоточимся на реальном режиме, а виртуальный режим подробно рассмотрим в следующих лекциях. Процессор 80286 имеет четыре набора регистров: регистры общего назначения для хранения промежуточных результатов; указательные и индексные регистры для локализации информации в определенных областях памяти; сегментные регистры, которые служат для задания этих областей памяти; в последний набор входит указатель команды. Кроме того, в процессоре находится девять флажков, фиксирующих текущее состояние и управляющих его работой. Процессор может обращаться более чем к 1 млн. байт памяти (и намного больше в виртуальном режиме) и более чем к 65 000 входных и выходных портов Типичные команды компьютера локализуют операнды (т.е. обрабатываемые данные), выполняют операцию над значениями операндов и помещают результат в указанное место. В зависимости от команды операнды и результат могут находиться в памяти или регистрах. Средства их локализации называются режимами адресации операндов; они будут рассмотрены позже. 1.2. Структура памяти. Память системы, работающей в реальном режиме, образуют 220 (при­мерно 1 млн.) 8-битных величин, называемых байтами. Каждому байту назначен уникальный адрес (беззнаковое число) из диапазона от 0 до 220 -- 1 (от 00000 до FFFFF в шестнадцатеричной системе счисления), что показано на таб. 2.1. В виртуальном режиме размер памяти расширяется до 224 (16 млн.) байт. Адреса памяти. Таб 2.1. Шестнадцатеричный адрес Двоичный адрес Память 00000 0000 0000 0000 0000 0000 00001 0000 0000 0000 0000 0001 00002 0000 0000 0000 0000 0010 00003 0000 0000 0000 0000 0011 … … FFFFE 1111 1111 1111 1111 1110 FFFFF 1111 1111 1111 1111 1111 Любые два смежных (или соседних) байта в памяти образуют слово. У каждого из двух байт в слове есть свой адрес и меньший из них принимается за адрес слова. Примеры слов показаны на Таб. 2.2. Примеры слов в памяти Таб.2.2 Адрес байта (шестнадцатеричный) Память 0000 //////// } Слово, начинающееся по четному адресу 0001 //////// 0002 0003 0004 0005 //////// } Слово, начинающееся по нечетному адресу 0006 //////// 0007 0008 0009 //////// } } Два перекрывающихся слова 000А XXXXXXXX 000В //////// … Слово состоит из 16 бит. Байт с большим адресом содержит старшие биты слова, а байт с меньшим адресом - младшие. Сначала такая ситуация кажется вполне естественной: конечно же, старший байт должен иметь больший адрес. Но когда память рассматривается как последовательность байт, простирающаяся от наименьшего адреса к наибольшему, оказывается, что процессор хранит слова "наоборот", что показано на таб. 2.3. Примеры «обратного» хранения в памяти Таб. 2.3 Слово { } Содержимое слова равно F70C O C Младший байт F 7 Старший байт Увеличение адресов Слово { } Содержимое слова равно2F3B 3 B Младший байт 2 F Старший байт 1.3. Сегментация памяти. Поскольку процессор 80286 может адресовать до 220 байт (и намного больше в виртуальном режиме), можно было бы ожидать, что внутри него адреса байт и слов должны быть представлены 20-битными величинами. Однако процессор рассчитан на 16-битную арифметику, поэтому длина адресных объектов ограничена 16 битами. Следовательно, для построения адресов необходим какой-то дополнительный механизм. В реальном режиме память 1 Мбайт состоит из нескольких сегментов, каждый из которых содержит самое большее 216 (64К) байт. Сегменты начинаются по адресам, кратным 16, т.е. имеющим четыре нулевых младших бита. В любой момент времени программа может обращаться к четырем сегментам, которые называются текущим сегментом кода, текущим сегментом данных, текущим сегментом стека и текущим дополнительным сегментом (он обычно отводится для данных). Каждый текущий сегмент идентифицируется путем размещения старших 16 бит адреса его первого байта в одном из четырех специальных сегментных регистров. Отметим, что сегменты могут перекрываться, как видно на рис. 2.4. Сегментный регистр кода 16 бит 0000 Сегмент кода ↑ 216 байт ↓ Сегментный регистр данных 16 бит 0000 Дополнительный сегмент ↑ 216 байт ↓ Сегментный регистр стека 16 бит 0000 Сегмент стека ↑ 216 байт ↓ ХХХХХХХХХХХХХ ↑ 216 байт ↓ Сегментный регистр дополнительных данных 16 бит 0000 Сегмент данных Рис 2.4. Примеры сегментов (Здесь сегменты данных и стека перекрываются) 16 – битный сегментный регистр 0 0 0 0 16- битное смещение 20- байтный адрес байта или слова Рис 2.5. Формирование адресов байта или слова Память Сегмент кода Сегментный регистр кода CS С 0 1 8 0 С0180 ////////// FE7F CFFFF ////////// D017F /////////// Рис. 2.6 Пример формирования адреса байта Предположим, например, что в 16-битном сегментном регистре кода содержится число С018. Это значит, что сегмент кода начинается по адресу байта С0180 и простирается на 216 (1000016) байт. Следовательно, последний байт сегмента кода имеет адрес D017F. Мы обращаемся к байтам или словам внутри сегмента с помощью 16-битного внутрисегментного смещения. Процессор образует 20-битный адрес байта или слова, суммируя 16-битное смещение с содержимым 16-битного сегментного регистра, к которому "пристроены" четыре младших нуля (рис. 2.5.). В предыдущем примере байт с адресом CFFFF находится внутри текущего сегмента кода, т.е. он имеет смещение FE7F (CFFFF -С0180) в сегменте, как показано на рис. 2.6. В виртуальном режиме сегменты и смещения сохраняются. Различие заключается в том, что начальные адреса сегментов не образуются путем добавления четырех нулей к содержимому сегментных регистров, а берутся из таблиц, индексируемых сегментными регистрами. 1.4. Структура ввода-вывода. Система на базе процессора 80286 взаимодействует с внешним миром через так называемые порты. Через них процессор может получать информацию о внешних событиях и выдать сигналы, управляющие другими событиями. Процессор может обращаться к 216 (64К) 8-битным портам примерно так же, как к байтам памяти. Каждому 8-битному порту назначен уникальный адрес из диапазона от 0 до 216 - 1. Любые два смежных 8-битных порта можно считать 16-битным портом аналогично слову памяти. 1.5. Регистры. Процессор имеет 13 16-битных регистров и 9 однобитных флажков (флажки NT и IOPL предназначены только для виртуального режима). Мы разделим регистры на четыре набора: три набора содержат по четыре регистра, а непосредственно недоступный программисту указатель команды образует отдельный набор. Регистры и флажки показаны на рис. 2.7. Регистры общего назначения служат, в основном, для хранения операндов арифметических и логических операций; указательные и индексные регистры предназначены для хранения внутрисегментных смещений, а сегментные регистры определяют начальные адреса сегментов. Регистры общего назначения. В процессоре, не имеющем регистров общего назначения (РОН), каждая команда должна считывать свои операнды из памяти и возвращать результат также в память. Однако на обращение к памяти расходуется время, которое можно уменьшить, если временно хранить часто используемые операнды и результаты в более быстро доступном месте. Таким местом и являются регистры общего назначения. РОНы в процессоре 80286 представлены 16-битными регистрами АХ, ВХ, СХ и DX. Младшую и старшую половины каждого РОНа можно использовать либо отдельно (как два 8-битных регистра), либо совместно (как один 16-битный регистр). В связи с этим каждой половине РОНа дано свое название: младшие (Low) половины называются AL, BL, CL и DL, а старшие (High) - АН, ВН, СН и DH. Двойственный характер РОНов позволяет одинаково легко оперировать байтами и словами. Большей частью содержимое РОНов единообразно участвует в арифметических и логических операциях. Например, по команде ADD (сложить) можно прибавить содержимое любого 8- или 16 битного РОНа к содержимому любого другого РОНа такого же размера и сохранить результат в любом из них. Однако в некоторых командах функции РОНов специализированы. Например, в цепочечных командах регистр СХ должен хранить число элементов цепочки; для этого нельзя привлекать регистры АХ, ВХ и DX. Такая специализация предопределяет описательное название регистра СХ - СЧЕТЧИК. Специальные функции регистров АХ, ВХ и DX объясняют их названия: АККУМУЛЯТОР, БАЗА и ДАННЫЕ. Специализация РОНов затрудняет изучение процессора из-за необходимости помнить специальные правила. Она же несколько увеличивает длину программ, так как до выполнения некоторых команд приходится пересылать данные из одного РОНа в другой. Однако рассмотрим разработку программы для процессора, в котором все РОНы одинаковы. Чтобы следить за ее выполнением, нам, вероятно, придется организовать программу так, чтобы определенные данные всегда находились в конкретных регистрах. Например, можно договориться всегда использовать регистр СХ для учета числа - элементов цепочки. Тогда нам никогда не придется пересылать размер цепочки в регистр СХ, так как он всегда будет там. Но поскольку цепочечная команда в нашем гипотетическом процессоре может получать размер цепочки из любого РОНа, каждая цепочечная команда должна указывать, где находится размер цепочки. Для этого придется, либо увеличить длину каждой цепочечной команды (два байта вместо одного), либо ввести больше однобайтных цепочечных команд. Первое решение прямо ведет к увеличению программы, а второе имеет такие же последствия. Действительно, всего может быть только 256 однобайтных команд, и увеличение числа однобайтных цепочечных команд заставит удлинить другие однобайтные команды до двух байт. Таким образом, специализация РОНов в некоторых командах уменьшает длину программы. Регистры общего назначения 7 0 7 0 AX AH AL Аккумулятор BX BH BL База CX CH CL Счетчик DX DH DL Данные Указательные и индексные регистры. Команда с обращением к ячейке памяти может прямо указать адрес этой ячейки, но прямой адрес увеличивает длину команды и размер программы (кода). Если адреса часто используемых ячеек хранить в специальных регистрах, то в команде адрес можно не указывать, а определить регистр, в котором находится адрес. Такие регистры иногда называются указательными или индексными. Данное использование регистров напоминает сокращенный набор номеров телефонов. Вы можете позвонить любому человеку в городе, набирая семизначный номер его телефона. Но, если телефонная компания предлагает такой сервис, можно поместить часто используемые номера абонентов в "регистры". После этого для соединения с нужным абонентом набираются одна или две цифры, определяющие регистр. К указательным и индексным регистрам процессора 80286 относятся 16-битные регистры SP, BP, SI и DI, которые обычно содержат внутрисегментные смещения. Например, в команде ADD один из операндов может находиться в текущем сегменте, данных со смещением, содержащимся в одном из указательных или индексных регистров, скажем SI. Помимо сокращения длины команд, рассматриваемые регистры выполняют еще одну (возможно, более важную функцию): они позволяют командам обращаться к ячейкам, смещения которых являются результатом предыдущих вычислений в ходе выполнения программы. Такие вычисления часто требуются (особенно в программах на языках высокого уровня) для того, чтобы установить смещения переменных. Требуемые вычисления можно осуществить в РОНах, а затем переслать результат в указательный или индексный регистр для использования его как смещения. Если устранить подобные пересылки, программы будут короче. Поэтому содержимое указательных и индексных регистров может участвовать в арифметических и логических операциях наряду с 16-битными РОНами. Например, в упомянутой выше команде ADD вторым операндом может быть содержимое регистра SI. Рассматриваемые регистры имеют некоторые различия, что и объясняет их разделение на указательные и индексные. Указательные регистры SI и DI предназначены для удобного доступа к данным в текущем сегменте данных, а базовые регистры SP и ВР - в текущем сегменте стека. Использование сегмента стека как "области данных" дает некоторое преимущество в реализации языков высокого уровня (см. далее). Поэтому, если сегмент явно не указан, смещения в базовых регистрах относятся к текущему сегменту стека, а смещения в индексных регистрах обычно относятся к сегменту данных. (Слово "обычно" подразумевает исключения, о которых речь пойдет далее.) Если, например, в команде ADD смещение одного из операндов находится в регистре SI, то считается, что операнд содержится в сегменте данных, но можно явно определить и другой сегмент. В некоторых командах учитывается различие между двумя базовыми регистрами SP и ВР. Например, в командах PUSH и POP смещение верхнего элемента стека берется из регистра SP, что объясняет его название УКАЗАТЕЛЬ СТЕКА. Использовать для этой цели регистр ВР нельзя. Этот регистр содержит смещение "базы" области данных в сегменте стека, поэтому и называется УКАЗАТЕЛЕМ БАЗЫ. Кроме того, в цепочечных командах существует различие между индексными регистрами SI и DI. Предполагается, что смещение операн­да-источника содержится в регистре SI, а операнда-приемника - в регистре DI. Этим объясняется название этих регистров ИНДЕКС ИСТОЧНИКА и ИНДЕКС ПРИЕМНИКА. Функции регистров SI и DI в цепочечных командах изменить нельзя. Например, команда пересылки цепочки передает цепочку из текущего сегмента данных со смещением из регистра SI в текущий дополнительный сегмент со смещением из регистра DI; регистры SI и DI в команде явно не указываются. (Цепочка-приемник находится в дополнительном сегменте, а не в сегменте данных, поэтому у каждой цепочки есть свой сегмент и длина ее может доходить до 216 байт.) Указательные и индексные регистры 15 SP Указатель стека BP Указатель базы SI Индекс источника DI Индекс приемника Сегментные регистры. Напомним, что в реальном режиме память состоит из 1М байт, но адреса, содержащиеся в командах и в указательных и индексных регистрах, имеют длину всего 16 бит. Они не могут адресо­вать всю память, а являются смещениями в каком-то конкретном сегменте емкостью 64 Кбайт. Но в каком же? В процессоре 80286 для задания текущих сегментов предназначены четыре 16-битных сегментных регистра CS, DS, SS и ES. Каждый регистр идентифицирует конкретный текущий сегмент и функции их совершенно различны: CS идентифицирует текущий сегмент кода, DS - текущий сегмент данных, SS - текущий сегмент стека и ES - текущий дополнительный сегмент (данных). Таким образом, команда задает смещение в сегменте, а сегментные регистры определяют для нас четыре нужных. Какой же следует выбирать? Ответ зависит от того, как команда использует смещение, которое может определять либо следующую выполняемую команду, либо операнд ко­манды. Выборки всех команд осуществляются из текущего сегмента кода, поэтому нужен регистр, содержащий смещение следующей выполняемой команды в текущем сегменте кода. Эту функцию выполняет регистр IP -УКАЗАТЕЛЬ КОМАНДЫ. Если, например, регистр CS содержит 1FF7, а регистр IP - 003А, то следующая выполняемая команда выбирается из ячейки 1FFАА: +1FF70 (начальный адрес сегмента кода) 003А (смещение в регистре IP) 1FFАА (адрес следующей команды) Напомним, что для образования адреса памяти к содержимому регистра CS "пристраивается" шестнадцатеричная цифра 0 (см. рис. 2.5). Сегмент, из которого считывается операнд, в общем случае можно указать, предпослав команде специальный однобайтный префикс. Он определяет, из какого текущего сегмента считывается операнд. При отсутствии префикса (а это обычная ситуация) операнд берется из текущего сегмента данных, но здесь имеются исключения: если в вычислении смещения участвует указательный регистр, то привлекается текущий сегмент стека; в случае операнда-приемника цепочечной команды используется дополнительный сегмент. Указание префикса в цепочечной команде может повлиять только на операнд-источник; операнд-приёмник всегда находится в текущем дополнительном сегменте. Указание префикса в цепочечной команде может повлиять только на операнд-источник; операнд-приемник всегда находится в текущем дополнительном сегменте. Рассмотрим команду ADD, один из операндов которой находится в сегменте данных, а смещение содержится в регистре SI. Команда должна указать регистр SI в своем поле операнда, но может не определять регистр DS. При выполнении команды процессор знает, что для локализации операнда необходимо использовать содержимое регистров DS и SI. Теперь обратимся к команде ADD, один из операндов которой находится в сегменте кода (им, например, может быть константа), а смещение содержится в регистре SI. Команда ADD, как и раньше, должна определить регистр SI в поле операнда; при выполнении же команды ей должен предшествовать байт префикса, идентифицирующий регистр CS. Сегментные регистры 15 CS Код DS Данные SS Стек ES Дополнительные данные Флажки. Процессор 80286 имеет 9 флажков, которые применяются для регистрации состояния (флажки состояния) и управления действиями процессора (флажки управления). Флажки состояния обычно устанавливаются после выполнения арифметических и логических команд, отражая определенные свойства их результатов. К ним относятся: флажок переноса CF, показывающий перенос из старшего бита; флажок вспомогательного переноса AF, фиксирующий перенос из четырех младших бит; флажок переполнения OF, определяющий выход знакового результата за границы диапазона; флажок нуля ZF, показывающий нулевой результат команды; флажок знака SF, регистрирующий отрицательный результат; флажок паритета (четности) PF, фиксирующий наличие в результате четного числа единичных бит. К флажкам управления относятся флажок направления DF (показывает направление прохождения цепочек в цепочечных командах), флажок разрешения прерываний IF (разрешает или запрещает восприятие прерываний по входу INTR) и флажок трассировки TF (переводит процессор в пошаговый режим для отладки программы). Указатель команды и флажки 15 IP Указатель команды FLAGS NT IOPR O D I T S Z A P C Рис.2.7. Регистры и флажки процессора 80286 Лекция 4. Операнды и режимы адресации операндов. Команды обычно выполняют операции над одним или двумя операнда­ми. Например, команда ADD прибавляет значение одного операнда к значению второго операнда и запоминает результат в одном из них. Команда инкремента INC прибавляет 1 к значению единственного операнда и сохраняет результат на месте операнда. Теперь нам нужно детально рассмотреть, как команда определяет свои операнды, т.е. режимы адресации операндов. Один операнд. Обратимся к команде, которая определяет единствен­ный операнд, например к команде INC. Обычно она применяется для инкремента указательного или индексного регистра при вычислении смещений, а также КОП reg Рис. 2.8. Однооперандная команда, операнд которой находится в 16-битном регистре - 16-битного РОНа в арифметических операциях. С такими операндами команда принимает очень простую однобайтную форму, показанную на рис. 2.8. Она имеет 3-битное поле reg, определяющее один из восьми 16-битных регистров. Кодирование регистров в поле reg показано в первых двух столбцах табл. 2.1. Таблица 2.1 Кодирование регистров 16-битный регистр 8-битный регистр 000 AX AL 001 CX CL 010 DX DL 011 BX BL 100 SP AH 101 BP CH 110 SI DH 111 DI BH Остальные 5 бит команды определяют операцию и называются кодом операции (КОП). Например, у команды INC код операции равен 01000. На рис. 2.9 показана команда, которая производит инкремент содержимого регистра ВР. Такой способ адресации операнда иногда называется регистровым режимом. В табл. 2.2 показаны все режимы адресации операндов. КОП reg 01000 101 INC BP Рис. 2.9. Команда инкремента содержимого регистра BP Таблица 2.2 Режимы адресации операндов НЕПОСРЕДСТВЕННЫЙ РЕГИСТРОВЫЙ ПРЯМАЯ АДРЕСАЦИЯ ПАМЯТИ КОСВЕННАЯ АДРЕСАЦИЯ ПАМЯТИ Базовый регистр Индексный регистр Базовый регистр + индексный регистр Базовый регистр + смещение индексный регистр + смещение Базовый регистр + индексный регистр + смещение В наиболее общей форме команда INC может произвести инкремент содержимого любого РОНа, указательного или индексного регистра (8 или 16 бит) и любого байта или слова памяти. Эта форма длиной в два байта показана на рис. 2.10. Теперь поле КОП расщеплено на две части: семь бит его находятся в первом байте, а три - во втором. Код операции команды INC в такой форме равен 1111111 000. Однобитное поле w определяет длину операнда: если w = 0, операнда имеет 8 бит, а при w = 1 - 16 бит. Поле mod показывает, находится ли операнд в регистре или памяти. Если mod = 11, операнд содержится в регистре, а три остальные комбинации поля mod относятся к памяти. Когда операнд - в регистре, поле r/т показывает конкретный регистр; а если операнд - в памяти, это же поле определяет, где именно он находится (сокращение r/т обозначает регистр/память). КОП w mod КОП r/m Рис. 2.10. Однооперандная команда, операнд которой находится в регистре или памяти Вначале рассмотрим случай, когда операнд находится в регистре (mod = 11). Кодирование регистров в поле r/т показано в табл. 2.1. По существу, мы имеем второй вариант регистрового режима адресации операндов. На рис. 2.11 приведена команда инкремента содержимого регистра CL. Для доступа к 8-битному регистру требуется более длинная форма команды INC. КОП w mod КОП r/m 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 INC Байт Регистр INC CL Рис.2.11. Команда инкремента содержимого регистра CL Теперь обратимся к случаю, когда операнд находится в памяти (mod = = 00, 0, 10). Этот режим иногда называется косвенной адресацией памяти, f так как операнд содержится в памяти, но смещение явно не указано. Вместо этого оно получается суммированием довольно странных на первый взгляд значений. (Удобство такого режима мы пояснили в разд. 1.7.) Смещение равно сумме не более трех слагаемых: 16-битного значения (оно называется смещением в команде), содержимого индексного регистра (SI, DI или никакого), определенного в команде, и содержимого базового регистра (SP, ВР или никакого), указанного в команде. Поле r/т идентифицирует базовый и индексный регистры в соответствии с табл. 2.3, а поле mod определяет смещение в Команде (см. табл. 2.4). Образованный результат локализует операнд внутри сегмента. Операнд находится в текущем сегменте данных (но если в вычислении смещения участвует регистр ВР, операнд находится в текущем сегменте стека). Конечно, для образования 20-битного (24-битного в виртуальном режиме) адреса памяти потребуется еще одно сложение с привлечением сегментного регистра. Таблица 2.3 Базовый и индексный регистры, определяемые полем r/т для операндов в памяти (mod  11) Поле r/т Базовый регистр Индексный регистр 000 BX SI 001 BX DI 010 BP SI 011 BP DI 100 НЕТ SI 101 НЕТ DI 110 BP НЕТ 111 BX НЕТ Если mod = 00 и r/m ==110, см. примечание к табл. 2.4 Таблица 2.4 Смещение в команде, определяемые полем mod для операндов в памяти (mod  11) mod Смещение в команде Пояснение 00 Нуль (16 бит) 01 8-битное содержимое следующего байта команды расширяется со знаком до 16 бит Команда имеет дополнительный байт 10 16-битное содержимое двух следующих байт команды (сначала младший, а затем старший байты) Команда имеет два дополнительных байта Если mod = 00 и r/m = 110, то: Табл 2.3 и 2.4 непременимы; Команда содержит два дополнительных байта. В этих байтах находятся все смещения в сегменте (сначала младший, а затем старший байты) В качестве примера рассмотрим команду, показанную на рис. 2.12. Поле кода операции содержит 1111111 000 и определяет команду INC. Поле w = 1 показывает длину операнда 16 бит. Поле mod = 01 и операнд, следовательно, находится в памяти; кроме того, смещение в команде из следующего байта необходимо расширить со знаком до 16 бит: 0000 0000 0101 1100. КОП w mod КОП r/m Смещение 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 Рис. 2. 12. Пример команды с операндом в памяти Поле r/т = 100, поэтому со смещением в команде следует просуммировать содержимое регистра SI (пусть оно равно 1010 0000 1000 0110); +1010 0000 1000 0110 (содержимое SI) 0000 0000 0101 1100 (смещение в команде) 1010 0000 1110 0010 (результат) Так как в вычислениях не участвует регистр ВР, операнд находится в текущем сегменте данных. Предположим, что регистр DS содержит 1111 0000 1111 0000 и процессор работает в реальном режиме. Тогда адрес операнда в памяти равен: +1111 0000 1111 0000 (сегмент) 1010 0000 1110 0010 (смещение в сегменте) 1111 1010 1111 1110 0010 (адрес памяти) Длина операнда 16 бит (w = 1), поэтому им является содержимое двух байт с адресами 1111 1010 1111 1110 0010 (младший) и 1111 1010 1111 1110 0011 (старший). Операнд не обязательно должен находиться только в текущих сегментах данных и стека. Его можно считывать из любого сегмента, введя перед командой однобайтный префикс, обозначающий сегментный регистр (рис. 2.13). На рис. 2.14 показана та же команда, что и на рис. 2.12, но теперь операнд находится в текущем дополнительном сегменте. Набор, идентифицирующий байт префикса 0 0 1 seg 1 1 0 00=текущий дополнительный сегмент 01=текущий сегмент кода 10=текущий сегмент стека 11= текущий сегмент данных Рис 2.13. префикс замены сегмента ser КОП w mod КОП r/m Смещение 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 ES Рис. 2.14. Применение префикса замены сегмента Мы рассмотрели задание смещения операнда в памяти с помощью базового и/или индексного регистров, но часто операнд находится в фиксированной ячейке одного из сегментов. В этом случае целесообразно определить все смещение непосредственно в команде. Такой режим адресации операндов называется прямой адресацией памяти: смещение находится в двух байтах самой команды (конечно, "наоборот"). Как обычно, команда должна определить также код операции и сам факт прямой адресации памяти. Было бы удобно использовать для указания режима комбинацию бит в полях mod и r/т. К сожалению, все комбинации уже исчерпаны для косвенной адресации памяти и регистровой адресации, поэтому для нашей цели придется привлечь какую-то редко используемую комбинацию. Такой комбинацией оказалась mod = 00 и r/т = 110. Как пример, на рис. 2.15 показана команда, которая производит инкремент байта со смещением 0101 1010 1111 0000 в текущем сегменте данных. Для прямой адресации пришлось пожертвовать косвенной адресацией через ВР (без индексного регистра и с нулевым смещением в команде), но ее можно реализовать, указав mod = 01 и введя дополнительный байт для нулевого смещения в команде. КОП w mod КОП r/m Следующие два байта команды 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 INC Байт INC Смещение в следующих двух байтах Рис.2.15. Команда инкремента байта со смещением 0101 1010 1111 0000 в текущем сегменте данных Два операнда. Разобравшись с однооперандными командами, обратимся к командам, имеющим два операнда, например ADD. Мы уже говорили, что эта команда берет значение одного операнда, прибавляет его к значению второго операнда и запоминает результат на месте любого операнда. Если разрешить нахождение обоих операндов в памяти, в команде потребовались бы поля mod и r/т для каждого из них. Чтобы сократить длину команд, было решено, что, по крайней мере, один из операндов должен быть в регистре. Тогда в команде потребуются поля mod и r/т только для одного операнда, а для другого достаточно поля reg (рис. 2.16). КОП d w mod reg r/m Рис.2.16. Типичная двухоперандная команда Поле w показывает, являются операнды байтами (w = 0) или словами (w = 1). В команде появилось также новое поле d (приемник); если d = 0, результат запоминается в операнде, определяемом полями mod и r/т, a если d - 1 - в операнде, определяемом полем reg. Операнд, в котором запоминается результат, называется приемником, а другой операнд назы­вается источником. В качестве примера рассмотрим команду ADD, показанную на рис. 2.17. Она имеет код операции 000000. Поле w = 0 показывает, что оба операнда являются байтами. Определяемым полем reg операндом оказывается регистр СН. Поле mod = 11 означает, что поля mod и r/т определяют регистр, а поле r/т конкретизирует регистр BL. Поле d = 1 показывает запись результата в операнд, определяемый полем reg, т.е. в регистр СН. Следовательно, команда прибавляет содержимое регистра BL (источника) к содержимому регистра СН (приемника) и помещает результат в СН. КОП d w mod reg r/m 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 ADD Байт CH В операнд reg BL Рис.2.17. Пример двухоперандной команды Одним из операндов в двухоперандной команде может быть константа, содержащаяся в самой команде как непосредственный операнд. Этим достигаются два преимущества: уменьшается требуемая память (не нужно хранить адрес данных и сами данные) и процессор быстрее получает данные. Примером команды с непосредственным операндом служит команда MOV (переслать). Она часто применяется для загрузки константы в регистр. Здесь непосредственный операнд можно определить полем reg, и команда приобретает простую форму, показанную на рис. 2.18. Поле w по-прежнему задает длину операнда 8 (w = 0) или 16 (w = 1) бит; в первом случае непосредственный операнд занимает один байт в команде, а во втором — два байта. Как пример, на рис. 2.19 представлена команда, которая передает значение 1111 0000 0000 1111 в регистр DI. КОП w reg Данные Данные если w=1 Рис 2.18. простейшая команда и непосредственным операндом КОП w reg Данные 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 mov Слово DI Рис2.19. пример команды с непосредственным операндом В несколько более сложной команде операнд-приемник определяется полями mod и r/т вместо поля reg, поэтому в команде появляется дополнительный байт (рис. 2.20). Показанная на рис. 2.21 команда передает значение 1111 0000 0000 1111 в слово, находящееся в сегменте данных со смещением из регистра DI. КОП w mod КОП r/m Данные Данные, если w=1 Рис 2.20 Команда с непосредственным операндом, использующая поля mod и r/m КОП w mod КОП r/m Данные 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 MOV Слово Память MOV DI Рис. 2.21. Пример команды с непосредственным операндом, использующей поля mod и r/m Так как двух операндная команда имеет только одно поле w, оба операнда должны иметь длину 8 или 16 бит. Однако часто непосредственные операнды являются небольшими числами и не требуют 16 бит. Это утверждение особенно справедливо для команд сложения, вычитания и сравнения, хотя для операндов логических команд оно обычно не выдерживается. Следовательно, можно уменьшить размер команд с непосредственными операндами, если не отводить 16 бит для хранения небольших чисел. Поэтому в некоторых командах (сложение, вычитание и сравнение) введен бит s (s означает "с расширением знака"). Он занимает место бита d, так как в командах с непосредственными операндами возможно только одно направление. Поле s имеет смысл только для 16-битных операндов (w = 1) и показывает, содержатся ли в команде все 16 бит непосредственного операнда (s = 0) или только 8 бит (s = 1), которые должны расширяться со знаком до 16 бит для образования 16-битного операнда. Такая форма команды иллюстрируется рис. 2.22. Соответствующий пример показан на рис. 2.23. Здесь к содержимому слова в памяти прибавляется значение 0000 0000 0000 1111 и результат помещается в это же слово. Слово находится в сегменте данных, а смещение его берется из регистра DI. Отметим, что благодаря биту s экономится один байт. КОП s w mod КОП r/m Данные Данные если s:w=0:1 Рис.2.22 Команда с непосредственным операндом, содержащая поле s КОП s w mod КОП r/m Данные 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 Слово Память ADD DI Расширение со знаком Рис.2.23. Пример команды с непосредственным операндом, содержащей поле s Лекция 5. Общая организация памяти. Память вычислительной системы обычно состоит из одной или нескольких печатных плат, которые подключены к системной шине. На каждой плате находится модуль, адресуемый старшими битами шины адреса. Как показано на рис. 101, в большинстве систем имеются модули ПЗУ и ЗУПВ. Однако следует указать, что в малых системах типа контроллеров могут быть только ПЗУ, а сама память находится на той же печатной плате (и даже в одной и той же микросхеме), что и процессор. Рис 1.01 Общая организация памяти Рис 1.02 Типичный модуль памяти Общий вид модуля памяти представлен на рис 102 В его состав входят интерфейс и набор микросхем памяти, каждая из которых содержит массив запоминающих элементов; запоминающий элемент может хранить 1 бит К элементам в микросхеме можно обращаться отдельно или группами, но в любом случае соблюдаются следующие отношения I говорит что микросхема памяти имеет организацию М х N, если она содержит М групп из N элементов, а модуль имеет организацию К х L, если он содержит К слов длиной L бит каждое. Для иллюстрации введенных определении на рис 10 3 приведены несколько модулей, реализованных на основе типичных микросхем памяти Важнейшими критериями при проектировании памяти являются стоимость, емкость, быстродействие, потребление энергии, надежность, энергозависимость и возможности доступа. Стоимость модуля обычно складывается из двух компонент, одна из которых не зависит oт размера модуля и называется накладными расходами, а вторая пропорциональна размеру и называется инкрементной стоимостью Накладные расходы в основном связаны с электроникой обрамления, а инкрементная стоимость соотносится со стоимостью микросхем Обе компоненты зависят от числа контактных соединений и сложности печатной платы Следовательно, микросхемы с большей емкостью требуют меньше служебных приборов и обеспечивают выигрыш в стоимости Так как накладные расходы почти не зависят от емкости модуля, но должны учитываться в каждом модуле, предпочтительнее реализовать память заданной емкости, используя минимум модулей Еще одним фактором, учитываемым в накладных расхо­дах, является стоимость блока питания Чем меньше число напряжений пита­ния, тем менее сложной становится разработка блока питания и платы Быстродействие памяти характеризуется временем обращения (или доступа) , которое определяется как временной интервал от момента поступления Размер (емкость) памяти Тип микросхем ЗУВП Число микросхем в столбце Число микросхем в строке Число микросхем в модуле 4K X 8 1К Х 1 4К Х 1 256 Х 4 1К Х 4 4 1 6 4 8 8 2 2 32 8 32 8 4К Х 16 1К Х 1 4К Х 1 256 Х 4 1К Х 4 4 1 6 4 16 16 4 4 64 16 64 16 16К Х 8 1К Х 4 4К Х 1 8К Х 1 16К Х 1 16 4 2 1 2 8 8 8 32 32 16 8 64К Х 8 16К Х 1 64К Х 1 4 1 8 8 32 8 Рис 1.03 Типичные массивы микросхем памяти стабильных сигналов адреса до получения выходных данных. Время обращения зависит от mhoihx факторов и даже связано с емкостью микросхемы Для быстродействующих транзисторов приходится отводить большую площадь кристалла, что уменьшает число запоминающих элементов Кроме тою, быстродействующие микросхемы, которые производятся по биполярной технологии, оказываются более дорогими чем по емкостной. Потребляемая энергия очень важна для микросхем которые должны работать oт аккумуляторов или солнечных элементов (например, на космических объектах). Определяющим фактором для потребляемой каждым запоминающим элементом энергии является применяемая технология. Наиболее часто память с минимальным потреблением энергии производится по КМОП-технологии. Основной ее недостаток связан с увеличением площади кристалла для каждого запоминающего элемента, что уменьшает емкость микросхемы. К сожалению, потребляемая энергия и быстродействие связаны пропорциональной зависимостью, поэтому оптимизировать оба эти показателя сложно и дорого. Сейчас наиболее хороший компромисс между быстродействием, потреблением энергии и емкостью обеспечивает высококачественная МОП-технология. Поскольку надежность микросхем после их тщательного контроля довольно высока, надежность модуля сильно зависит от числа паяных соединений и сложности платы. Следовательно, при уменьшении общего числа контактов надежность модуля увеличивается, что дополнительно стимулирует минимизацию числа микросхем в модуле. Энергонезависимость и возможности доступа во многом определяются условиями применения. Если применение не требует энергонезависимости, нет никаких причин обеспечивать ее. Когда же требуется энергонезависимое ЗУПВ, приходится использовать ферритовую память, а для полупроводниковой памяти вводить резервное питание По возможности следует как можно шире применять ПЗУ как наименее дорогие, энергонезависимые, надежные и помехоустойчивые устройства, обладающие высокой плотностью упаковки Лекция 6. Прерывание микропроцессора в ЭВМ. Архитектура и организация ЭВМ Рассматриваются основные вопросы, связанные с организацией работы ЭВМ при обработке прерываний, а также особенности системы прерываний в персональной ЭВМ. Организация обработки прерываний в ЭВМ Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами. Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера. Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания (ЗП). Запросы прерываний от внешних устройств поступают в процессор по специальным линиям, а запросы, возникающие в процессе выполнения программы, поступают непосредственно изнутри микропроцессора. Механизмы обработки прерываний обоих типов схожи. Рассмотрим функционирование компьютера при появлении сигнала запроса прерывания, опираясь в основном на обработку аппаратных прерываний (рис 1). Рис. 1.  Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы После появления сигнала запроса прерывания ЭВМ переходит к выполнению программы - обработчика прерывания. Обработчик выполняет те действия, которые необходимы в связи с возникшей особой ситуацией. Например, такой ситуацией может быть нажатие клавиши на клавиатуре компьютера. Тогда обработчик должен передать код нажатой клавиши из контроллера клавиатуры в процессор и, возможно, проанализировать этот код. По окончании работы обработчика управление передается прерванной программе. Время реакции - это время между появлением сигнала запроса прерывания и началом выполнения прерывающей программы (обработчика прерывания) в том случае, если данное прерывание разрешено к обслуживанию. Время реакции зависит от момента, когда процессор определяет факт наличия запроса прерывания. Опрос запросов прерываний может проводиться либо по окончании выполнения очередного этапа команды (например, считывание команды, считывание первого операнда и т.д.), либо после завершения каждой команды программы. Первый подход обеспечивает более быструю реакцию, но при этом необходимо при переходе к обработчику прерывания сохранять большой объем информации о прерываемой программе, включающей состояние буферных регистров процессора, номера завершившегося этапа и т.д. При возврате из обработчика также необходимо выполнить большой объем работы по восстановлению состояния процессора. Во втором случае время реакции может быть достаточно большим. Однако при переходе к обработчику прерывания требуется запоминание минимального контекста прерываемой программы (обычно это счетчик команд и регистр флагов). В настоящее время в компьютерах чаще используется распознавание запроса прерывания после завершения очередной команды. Время реакции определяется для запроса с наивысшим приоритетом. Глубина прерывания - максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний. Работа системы прерываний при различной глубине прерываний (n) представлена на (рис 2).Здесь предполагается, что с увеличением номера запроса прерывания увеличивается его приоритет. Запросы прерываний 1 2 3 Прерываемая программа Обработчик 1 (t1) Обработ-чик 2 (t2) Обработ- чик 3 (t3) Прерываемая программа a) n=1 t3 t21 t22 t11 t12 Прерываемая программа Прерываемая программа б) n=3 Рис. 2.  Работа системы прерываний при различной глубине прерываний Без учета времени реакции, а также времени запоминания и времени восстановления: t11+t12=t1, t21+t22=t2. Прерывания делятся на аппаратные и программные Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают: 1. маскируемые, которые могут быть замаскированы программными средствами компьютера; 2. немаскируемые, запрос от которых таким образом замаскирован быть не может. Программные прерывания вызываются следующими ситуациями: 1. особый случай, возникший при выполнении команды и препятствующий нормальному продолжению программы (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.); 2. наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации. Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания. При поступлении запроса прерывания компьютер выполняет следующую последовательность действий: 1. определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов); 2. определение типа выбранного запроса; 3. сохранение текущего состояния счетчика команд и регистра флагов; 4. определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика; 5. выполнение программы - обработчика прерывания; 6. восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы; 7. продолжение выполнения прерванной программы. Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания. Задача программиста - составить программу - обработчик прерывания, которая выполняла бы действия, связанные с появлением запроса данного типа, и поместить адрес начала этой программы в специальной таблице адресов прерываний. Программа-обработчик, как правило, должна начинаться с сохранения состояния тех регистров процессора, которые будут ею изменяться, и заканчиваться восстановлением состояния этих регистров. Программа-обработчик должна завершаться специальной командой, указывающей процессору на необходимость возврата в прерванную программу. Распознавание наличия сигналов запроса прерывания и определение наиболее приоритетного из них может проводиться различными методами. Рассмотрим один из них. Цепочечная однотактная система определения приоритета запроса прерывания На рис. 3 приведена схема, обеспечивающая получение номера наиболее приоритетного запроса прерывания из присутствующих в компьютере на момент подачи сигнала опроса ("дейзи-цепочка") Данная схема используется для анализа запросов аппаратных прерываний. Приоритет запросов прерываний (ЗПi) уменьшается с уменьшением номера запроса. В тот момент, когда компьютер должен определить наличие и приоритет внешнего аппаратного прерывания (обычно после окончания выполнения каждой команды), процессор выдает сигнал опроса. Если на входе ЗП3 присутствует сигнал высокого уровня (есть запрос), то на элементе 11 формируется общий сигнал наличия запроса прерывания и дальнейшее прохождение сигнала опроса блокируется. Если ЗП3=0, то анализируется сигнал ЗП2 и так далее. На шифраторе (элемент 12) формируется номер поступившего запроса прерывания. Этот номер передается в процессор лишь при наличии общего сигнала запроса прерывания. Такая структура позволяет быстро анализировать наличие сигнала запроса прерывания и определять наиболее приоритетный запрос из нескольких присутствующих в данный момент. Распределение приоритетов запросов прерываний внешних устройств осуществляется путем их физической коммутации по отношению к процессору. Указание приоритетов - жесткое и не может быть программно изменено. Изменение приоритетов возможно только путем физической перекоммутации устройств. Рис. 3.  Схема определения номера наиболее приоритетного запроса прерывания Обработка прерываний в персональной ЭВМ Микропроцессоры типа х86 имеют два входа запросов внешних аппаратных прерываний: • NMI - немаскируемое прерывание, используется обычно для запросов прерываний по нарушению питания; • INT - маскируемое прерывание, запрос от которого можно программным образом замаскировать путем сброса флага IF в регистре флагов. Рис. 4.  Структура контроллера приоритетных прерываний Единственный вход запроса маскируемых прерываний микропроцессора не позволяет подключить к нему напрямую сигналы запросов от большого числа различных внешних устройств, которые входят в состав современного компьютера: таймера, клавиатуры, "мыши", принтера, сетевой карты и т.д. Для их подключения к одному входу INT микропроцессора используется контроллер приоритетных прерываний (рис. 4). Его функции: • восприятие и фиксация запросов прерываний от внешних устройств; • определение незамаскированных запросов среди поступивших запросов; • проведение арбитража: выделение наиболее приоритетного запроса из незамаскированных запросов в соответствии с установленным механизмом назначения приоритетов; • сравнение приоритета выделенного запроса с приоритетом запроса, который в данный момент может обрабатываться в микропроцессоре, формирование сигнала запроса на вход INT микропроцессора в случае, если приоритет нового запроса выше; • передача в микропроцессор по шине данных типа прерывания, выбранного в процессе арбитража, для запуска соответствующей программы - обработчика прерывания; это действие выполняется по сигналу разрешения прерывания INTA от микропроцессора, который выдается в случае, если прерывания в регистре флагов микропроцессора не замаскированы (IF=1). Переход к соответствующему обработчику прерывания осуществляется (в реальном режиме работы микропроцессора) посредством таблицы векторов прерываний. Эта таблица (рис. 5) располагается в самых младших адресах оперативной памяти, имеет объем 1 Кбайт и содержит значения сегментного регистра команд (CS) и указателя команд (IP) для 256 обработчиков прерываний. Рис. 5.  Структура таблицы векторов прерываний Обращение к элементам таблицы осуществляется по 8-разрядному коду - типу прерывания (таблица 1) Тип прерывания Источник прерывания Деление на 0 1 Пошаговый режим выполнения программы 2 Запрос по входу NMI · · · 8 Запрос по входу IRQ0 (системный таймер) 9 Запрос по входу IRQ1 (контроллер клавиатуры) · · · 11 Отсутствие сегмента в оперативной памяти · · · 255 Пользовательское прерывание Различные источники задают тип прерывания по-разному: • программные прерывания вводят его изнутри процессора или содержат его в номере команды INT n; • аппаратные маскируемые прерывания вводят его от контроллера приоритетных прерываний по шине данных; немаскируемому аппаратному прерыванию назначен тип 2. Лекция 7. Последовательный интерфейс RS–232C. Микропроцессорная система без средств ввода и вывода оказывается бесполезной. Характеристики и объемы ввода и вывода в системе определяются, в первую очередь, спецификой ее применения — например, в микропроцессорной системе управления некоторым промышленным процессом не требуется клавиатура и дисплей, так как почти наверняка ее дистанционно программирует и контролирует главный микрокомпьютер (с использованием последовательной линии RS–232C). Поскольку данные обычно представлены на шине микропроцессора в параллельной форме (байтами, словами), их последовательный ввод–вывод оказывается несколько сложным. Для последовательного ввода потребуется средства преобразования последовательных входных данных в параллельные данные, которые можно поместить на шину. С другой стороны, для последовательного вывода необходимы средства преобразования параллельных данных, представленных на шине, в последовательные выходные данные. В первом случае преобразование осуществляется регистром сдвига с последовательным входом и параллельным выходом (SIPO), а во втором — регистром сдвига с параллельным входом и последовательным выходом (PISO). Последовательные данные передаются в синхронном или асинхронном режимах. В синхронном режиме все передачи осуществляются под управлением общего сигнала синхронизации, который должен присутствовать на обоих концах линии связи. Асинхронная передача подразумевает передачу данных пакетами; каждый пакет содержит необходимую информацию, требующуюся для декодирования содержащихся в нем данных. Конечно, второй режим сложнее, но у него есть серьезное преимущество: не нужен отдельный сигнал синхронизации. Существуют специальные микросхемы ввода и вывода, решающие проблемы преобразования, описанные выше. Вот список наиболее типичных сигналов таких микросхем: D0–D7 — входные–выходные линии данных, подключаемые непосредственно к шине процессора; RXD — принимаемые данные (входные последовательные данные); TXD — передаваемые данные (выходные последовательные данные); CTS — сброс передачи. На этой линии периферийное устройство формирует сигнал низкого уровня, когда оно готово воспринимать информацию от процессора; RTS — запрос передачи. На эту линию микропроцессорная система выдает сигнал низкого уровня, когда она намерена передавать данные в периферийное устройство. Все сигналы программируемых микросхем последовательного ввода–вывода ТТЛ–совместимы. Эти сигналы рассчитаны только на очень короткие линии связи. Для последовательной передачи данных на значительные расстояния требуются дополнительные буферы и преобразователи уровней, включаемые между микросхемами последовательного ввода–вывода и линией связи. Общие сведения о интерфейсе RS–232C Интерфейс RS–232C является наиболее широко распространенной стандартной последовательной связью между микрокомпьютерами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), подразумевает наличие оборудования двух видов: терминального DTE и связного DCE. Чтобы не составить неправильного представления об интерфейсе RS–232C, необходимо отчетливо понимать различие между этими видами оборудования. Терминальное оборудование, например микрокомпьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное оборудование — устройства, которые могут упростить передачу данных совместно с терминальным оборудованием. Наглядным примером связного оборудования служит модем (модулятор–демодулятор). Он оказывается соединительным звеном в последовательной цепочке между компьютером и телефонной линией. Различие между терминальными и связными устройствами довольно расплывчато, поэтому возникают некоторые сложности в понимании того, к какому типу оборудования относится то или иное устройство. Рассмотрим ситуацию с принтером. К какому оборудованию его отнести? Как связать два компьютера, когда они оба действуют как терминальное оборудование. Для ответа на эти вопросы следует рассмотреть физическое соединение устройств. Произведя незначительные изменения в линиях интерфейса RS–232C, можно заставить связное оборудование функционировать как терминальное. Чтобы разобраться в том, как это сделать, нужно проанализировать функции сигналов интерфейса RS–232C (таблица 1). Таблица 1. Функции сигнальных линий интерфейса RS–232C. Номер контакта Сокращение Направление Полное название 1 FG — Основная или защитная земля 2 TD (TXD) К DCE Передаваемые данные 3 RD (RXD) К DTE Принимаемые данные 4 RTS К DCE Запрос передачи 5 CTS К DTE Сброс передачи 6 DSR К DTE Готовность модема 7 SG — Сигнальная земля 8 DCD К DTE Обнаружение несущей данных 9 — К DTE (Положительное контрольное напряжение) 10 — К DTE (Отрицательное контрольное напряжение) 11 QM К DTE Режим выравнивания 12 SDCD К DTE Обнаружение несущей вторичных данных 13 SCTS К DTE Вторичный сброс передачи 14 STD К DCE Вторичные передаваемые данные 15 TC К DTE Синхронизация передатчика 16 SRD К DTE Вторичные принимаемые данные 17 RC К DTE Синхронизация приемника 18 DCR К DCE Разделенная синхронизация приемника 19 SRTS К DCE Вторичный запрос передачи 20 DTR К DCE Готовность терминала 21 SQ К DTE Качество сигнала 22 RI К DTE Индикатор звонка 23 — К DCE (Селектор скорости данных) 24 TC К DCE Внешняя синхронизация передатчика 25 — К DCE (Занятость) Примечания: 1. Линии 11, 18, 25 обычно считают незаземленными. Приведенная в таблице спецификация относится к спецификациям Bell 113B и 208A. 2. Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения. 3. Во избежание путаницы между RD (Read — считывать) и RD (Received Data — принимаемые данные) будут использоваться обозначения RXD и TXD, а не RD и TD. Стандартный последовательный порт RS–232C имеет форму 25–контактного разъема типа D (рис 1). Рис. 1. Назначение линий 25–контактного разъема типа D для интерфейса RS–232C Терминальное оборудование обычно оснащено разъемом со штырьками, а связное — разъемом с отверстиями (но могут быть и исключения). Сигналы интерфейса RS–232C подразделяются на следующие классы. Последовательные данные (например, TXD, RXD). Интерфейс RS–232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации. Управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования — средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи. Сигналы синхронизации (например, TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования. На практике вспомогательный канал RS–232C применяется редко, и в асинхронном режиме вместо 25 линий используются 9 линий (таблица 2). Таблица 2. Основные линии интерфейса RS–232C. Номер контакта Сигнал Выполняемая функция 1 FG Подключение земли к стойке или шасси оборудования 2 TXD Последовательные данные, передаваемые от DTE к DCE 3 RXD Последовательные данные, принимаемые DTE от DCE 4 RTS Требование DTE послать данные к DCE 5 CTS Готовность DCE принимать данные от DTE 6 DSR Сообщение DCE о том, что связь установлена 7 SG Возвратный тракт общего сигнала (земли) 8 DCD DTE работает и DCE может подключится к каналу связи Виды сигналов В большинстве схем, содержащих интерфейс RS–232C, данные передаются асинхронно, т.е. в виде последовательности пакета данных. Каждый пакет содержит один символ кода ASCII, причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации. Символы кода ASCII представляются семью битами, например буква А имеет код 1000001. Чтобы передать букву А по интерфейсу RS–232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности). Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует 7 бит данных символа кода ASCII. Бит четности содержит 1 или 0 так, чтобы общее число единиц в 8–битной группе было нечетным. Последним передаются два стоповых бита, представленных высоким уровнем напряжения. Эквивалентный ТТЛ–сигнал при передаче буквы А показан на рис. 2. Рис. 2. Представление кода буквы А сигнальными уровнями ТТЛ. Таким образом, полное асинхронно передаваемое слово состоит из 11 бит (фактически данные содержат только 7 бит) и записывается в виде 01000001011. Используемые в интерфейсе RS–232C уровни сигналов отличаются от уровней сигналов, действующих в компьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25 В, логическая 1 (MARK) — отрицательным напряжением в диапазоне от –3 до –25 В. На рис. 3 показан сигнал в том виде, в каком он существует на линиях TXD и RXD интерфейса RS–232C. Рис. 3. Вид кода буквы А на сигнальных линиях TXD и RXD. Сдвиг уровня, т.е. преобразование ТТЛ–уровней в уровни интерфейса RS–232C и наоборот производится специальными микросхемами драйвера линии и приемника линии. На рис. 4 представлен типичный микрокомпьютерный интерфейс RS–232C. Программируемая микросхема DD1 последовательного ввода осуществляет параллельно–последовательные и последовательно–параллельные преобразования данных. Микросхемы DD2 и DD3 производят сдвиг уровней для трех выходных сигналов TXD, RTS, DTR, а микросхема DD4 — для трех входных сигналов RXD, CTS, DSR. Микросхемы DD2 и DD3 требуют напряжения питания ±12 В. Рис. 4. Типичная схема интерфейса RS–232C. Разработано несколько новых стандартов, направленных на устранение недостатков первоначальных спецификаций интерфейса RS–232C. Среди них можно отметить интерфейс RS–422 (балансная система, допускающая импеданс линии до 50 Ом), RS–423 (небалансная система с минимальным импедансом линии 450 Ом) и RS–449 (стандарт с высокой скоростью передачи данных, в котором несколько изменены функции схем и применяется 37–контактный разъем типа D). Тестовое оборудование для интерфейса RS–232C Соединители. Эти дешевые устройства упрощают перекрестные соединения сигнальных линий интерфейса RS–232C. Они обычно оснащаются двумя разъемами типа D (или ленточными кабелями, имеющими розетку и вставку), и все линии проводятся к той области, куда можно вставить перемычки. Такие устройства включаются последовательно с линиями интерфейса RS–232C, и затем проверяются различные комбинации подключений. Трансформаторы разъема. Обычно эти приспособления имеют разъем RS–232C со штырьками на одной стороне и разъем с отверстиями на другой стороне. Пустые модемы. Как и предыдущие устройства, пустые модемы включаются последовательно в тракт данных интерфейса RS–232C. Их функции заключаются в изменении сигнальных линий таким образом, чтобы превратить DTE в DCE. Линейные мониторы. Мониторы индицируют логические состояния (в терминах MARK и SPACE) наиболее распространенных сигнальных линий данных и квитирования. С их помощью пользователь получает информацию о том, какие сигналы в системе присутствуют и активны. Врезки. Эти устройства обеспечивают доступ к сигнальным линиям. В них, как правило, совмещены возможности соединителей и линейных мониторов и, кроме того, предусмотрены переключатели или перемычки для соединения линий с обоих сторон устройства. Интерфейсные тестеры. По своей конструкции эти устройства несколько сложнее предыдущих простых устройств. Они позволяют переводить линии в состояния MARK или SPACE, обнаруживать помехи, измерять скорость передачи данных и индицировать структуру слова данных. Лекция 8. Последовательный интерфейс СОМ-порт. Последовательный интерфейс СОМ-порт (Communication Port - коммуникационный порт) появился в первых моделях IBM PC. Он был реализован на микросхеме асинхронного приемопередатчика Intel 8250. Порт имел поддержку BIOS (/Л/Т 74/?), однако широко применялось (и применяется) взаимодействие с портом на уровне регистров. Поэтому во всех PC совместимых компьютерах для последовательного интерфейса применяют микросхемы приемопередатчиков, совместимые с i8250. В ряде отечественных PC-совместимых (почти) компьютеров для последовательного интерфейса применялась микросхема КР580ВВ51 - аналог 18251. Однако эта микросхема является универсальным синхронно-асинхронным приемопередатчиком (УСАПП или USART - Universal Asynchronous Receiver-Transmitter). Совместимости с PC на уровне регистров СОМ-порта такие компьютеры не имеют. Хорошо, если у соответствующих компьютеров имеется "честный" драйвер BIOS /Л/Т 14h, а не заглушка, возвращающая состояние модема "всегда готов" и ничего не делающая. Совместимость на уровне регистров СОМ-порта считается необходимой. Многие разработчики коммуникационных пакетов предлагают работу и через BIOS /Л/Т 14h, однако на высоких скоростях это неэффективно. Говоря о СОМ-порте PC, по умолчанию будем подразумевать совместимость регистровой модели с i8250 и реализацию асинхронного интерфейса RS-232C. Использование СОМ-портов СОМ-порты чаще всего применяют для подключения манипуляторов (мышь, трекбол). В этом случае порт используется в режиме последовательного ввода; питание производится от интерфейса. Мышь с последовательным интерфейсом - Serial Mouse -может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно применение переходника DB-9S-DB-25P или DB-25S-DB-9P. Для мыши требуется прерывание, для порта СОМ1 - IRQ4, для COM2 - IRQ3. Жесткая привязка номера IRQ к номеру порта обусловлена свойствами драйверов. Каждое событие - перемещение мыши или нажатие-отпускание кнопки – кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса (табл. 2.3). Табл.2.3 Сигнал Контакты DB-9 DB-25 Data 2 3 GND 5 7 +V(питание) 4.7 4.20 -V(питание) 3 9 Две разновидности Serial Mouse - MS-Mouse и PC-Mouse (Mouse Systems Mouse) - требуют соответствующих драйверов, многие мыши имеют переключатель MS/PC. Мышь с "чужим" драйвером либо не отзывается, либо "скачет" загадочным образом. Эти разновидности используют различные форматы посылок: при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля четности Microsoft Mouse использует 7 бит данных, a PC-Mouse - 8 бит. Мышь посылает пакет при каждом изменении состояния - перемещении, нажатии или отпускании кнопки. Пакет, передаваемый MS-Mouse, состоит из трех байт (табл. 2.4). PC-Mouse передает 5 байт (табл. 2.5). Здесь LB (Left Buttom), MB (Middle Buttom) и RB (Right Buttom) означают состояние левой, средней и правой кнопок, Х[7:0] и Y[7:0] - биты относительного перемещения мыши с момента предыдущей посылки по координатам Х и Y. Положительным значениям соответствует перемещение по координате Х вправо, а по координате Y вниз для MS-Mouse и вверх для PC-Mouse. Отсюда становятся понятными беспорядочные перемещения курсора на экране при несоответствии драйвера типу мыши. Для подключения внешних модемов используется полный(9-проводный) кабель АПД-АКД, схема которого приведена на рис. 2.7. Этот же кабель используется для согласования разъемов (по количеству контактов); возможно применение переходников 9-25, предназначенных для мышей. Для работы коммуникационного ПО обычно требуется использование прерываний, но здесь есть свобода выбора номера (адреса) порта и линии прерывания. Если предполагается работа на скоростях 9600 бит/с и выше, то СОМ-порт должен быть реализован на микросхеме UART 16550A или совместимой. Возможности работы с использованием FIFO-буферов и обмена по каналам DMA зависят от коммуникационного ПО. Для связи двух компьютеров, удаленных друг от друга на небольшое расстояние, используют и непосредственное соединение их СОМ-портов нуль-модемным кабелем (рис. 2.8). Использование программ типа Norton Commander или Interink MS-DOS позволяет обмениваться файлами со скоростью до 115,2 Кбит/с без применения аппаратных прерываний. Это же соединение может использоваться и сетевым пакетом Lantastic, предоставляющим более развитый сервис. Подключение принтеров и плоттеров к СОМ-порту требует применения кабеля, соответствующего выбранному протоколу управления потоком: программному XON/XOFF или аппаратному RTS/CTS. Схемы кабелей приведены на рис. 2.10 и 2.12. Аппаратный протокол предпочтительнее. Прерывания при выводе средствами DOS (командами COPY или PRINT) не используются. СОМ-порт используется для подключения электронных ключей (Security Devices), предназначенных для защиты от нелицензированного использования ПО. Эти устройства могут быть как "прозрачными", позволяя воспользоваться тем же портом для подключения периферии, так и полностью занимающими порт. СОМ-порт при наличии соответствующей программной поддержки позволяет превратить PC в терминал, эмулируя систему команд распространенных специализированных терминалов (VT-52, VT-100 и т. д.). Простейший терминал получается, если замкнуть друг на друга функции BIOS обслуживания СОМ-порта (INT 14h), телетайпного вывода (/Л/Т 10h) и клавиатурного ввода (INT 16h). Однако такой терминал будет работать лишь на малых скоростях обмена (если,конечно, его делать не на Pentium), поскольку функции BIOS хоть и универсальны, но не слишком быстры. Интерфейс RS-232C широко распространен в различных ПУ и терминалах. СОМ-порт может использоваться и как двунаправленный интерфейс, у которого имеется 3 программноуправляемые выходные линии и 4 программно-читаемые входные линии с двуполярными сигналами. Их использование определяется разработчиком. Существует, например, схема однобитного широтно-импульсного преобразователя, позволяющего записывать звуковой сигнал на диск PC, используя входную линию СОМ-порта. Воспроизведение этой записи через обычный динамик PC позволяет передать речь. В настоящее время, когда звуковая карта стала почти обязательным устройством PC, это не впечатляет, но когда то такое решение было интересным. СОМ-порт используют для беспроводных коммуникаций с применением излучателей и приемников инфракрасного диапазона - IR (Infra Red) Connection. Этот интерфейс позволяет осуществлять связь между парой устройств, удаленных на расстояние, достигающее нескольких метров. Различают инфракрасные системы низкой (до 115,2 Кбит/с), средней (1,152 Мбит/с) и высокой (4 Мбит/с) скорости. Низкоскоростные системы служат для обмена короткими сообщениями, высокоскоростные - для обмена файлами между компьютерами, подключения к компьютерной сети, вывода на принтер, проекционный аппарат и т. п. Ожидаются более высокие скорости обмена, которые позволят передавать "живое видео". В 1993 году создана ассоциация разработчиков систем инфракрасной передачи данных IrDA (Infrared Data Association), призванная обеспечить совместимость оборудования от различных производителей. В настоящее время действует стандарт IrDA 1.1. Имеются собственные системы фирм Hewlett Packard - HP-SIR (Hewlett Packard Slow Infra Red) - и Sharp - ASK (Amplitude Shifted Keyed IR). Основные характеристики интерфейсов следующие: • IrDA SIR (Slow Infra Red), HP-SIR - 9,6-115,2 Кбит/с; • IrDA MIR (Middle Infra Red) - 1,2 Мбит/с; • IrDA FIR (Fast Infra Red) - 4 Мбит/с; • + Sharp ASK - 9,6-57,6 Кбит/с. На скоростях до 115 200 бит/с для инфракрасной связи используются UART, совместимые с 16450/16550. В современных системных платах на использование инфракрасной связи может конфигурироваться порт COM2. В этом случае на переднюю панель компьютера устанавливается внешний приемопередатчик - "инфракрасный глаз", который подключается к разъему IR-Connector системной платы. На средних и высоких скоростях обмена применяются специализированные микросхемы, ориентированные на интенсивный программно-управляемый обмен или DMA с возможностью прямого управления шиной. Инфракрасные излучатели не создают помех в радиочастотном диапазоне и обеспечивают конфиденциальность передачи. ИК-лучи не проходят через стены, поэтому зона приема ограничивается небольшим легко контролируемым пространством. Инфракрасная технология привлекательна для связи портативных компьютеров со стационарными компьютерами или док-станциями. Инфракрасный интерфейс имеют некоторые модели принтеров. 2.6. Функциональное тестирование В первом приближении СОМ-порт можно проверить диагностической программой (Checkit) без использования заглушек. Этот режим тестирования проверяет микросхему UART (внутренний диагностический режим) и вырабатывание прерываний, но не входные и выходные буферные микросхемы, которые являются более частыми источниками неприятностей. Если тест не проходит, причину следует искать или в конфликте адресов/прерываний, или в самой микросхеме UART. Для более достоверного тестирования рекомендуется использовать внешнюю заглушку, подключаемую к разъему СОМ порта (рис. 2.17). В отличие от LPT-порта у СОМ-порта количество входных сигналов превышает количество выходных, что позволяет выполнить полную проверку всех цепей. Заглушка соединяет выход приемника со входом передатчика. Обязательная для всех схем заглушек перемычка RTSCTS позволяет работать передатчику - без нее символы не смогут передаваться. Выходной сигнал DTR обычно используют для проверки входных линий DSR, DCD и RI. Если тест с внешней заглушкой не проходит, причину следует искать во внешних буферах, их питании или в шлейфах подключения внешних разъемов. Здесь может помочь осциллограф или вольтметр. Последовательность проверки может быть следующей: 1. Проверить наличие двуполярного питания выходных схем передатчиков (этот шаг логически первый, но поскольку он технически самый сложный, его можно отложить на крайний случай, когда появится желание заменить буферные микросхемы). 2. Проверить напряжение на выходах TD, RTS и DTR: после аппаратного сброса на выходе TD должен быть отрицательный потенциал около -12 В (по крайней мере ниже -5 В), а на выходах RTS и DTR - такой же положительный. Если этих потенциалов нет, возможна ошибка подключения разъема к плате через шлейф. Распространенные варианты: • шлейф не подключен; • шлейф подключен неправильно (разъем перевернут или вставлен со смещением); • раскладка шлейфа не соответствует разъему платы. Первые два варианта проверяются при внимательном осмотре, третий же может потребовать некоторых усилий. В табл. 2.1 приведены три варианта раскладки 10-проводного шлейфа разъема СОМ-порта, известных автору; для СОМ-портов на системных платах возможно существование и других. Теоретически шлейф должен поставляться в соответствии с разъемом платы, на которой расположен порт. Если дело в ошибочной раскладке, то эти три выходных сигнала удастся обнаружить на других контактах разъемов (на входных контактах потенциал совсем небольшой). Если эти сигналы обнаружить не удалось, очевидно, вышли из строя буферные формирователи. Функции BIOS для СОМ-портов В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0400, 0402, 0404, 0406. Эти ячейки хранят адреса портов с логическими именами СОМ 1-COM4. Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:047С, 047D, 047Е, 047F заносятся константы, задающие тайм-аут для портов. Обнаруженные порты инициализируются на скорость обмена 2400 бит/с, 7 бит данных с контролем на четность (even), 1 стоп-бит. Управляющие сигналы интерфейса DTR и RTS переводятся в исходное состояние ("выключено" положительное напряжение). Порты поддерживаются сервисом BIOS INT 14h, который обеспечивает следующие функции: • ООЬ - инициализация (установка скорости обмена и формата посылок, заданных регистром AL; запрет источников прерываний). На сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны). • Olh - вывод символа из регистра AL (без аппаратных прерываний). Активируются сигналы DTR и RTS, и после освобождения регистра THR в него помещается выводимый символ. Если за заданное время регистр не освобождается, фиксируется ошибка тайм-аута и функция завершается. • 02h - ввод символа (без аппаратных прерываний). Активируется только сигнал DTR (RTS переходит в пассивное состояние), и ожидается готовность принятых данных, принятый символ помещается в регистр AL. Если за заданное время данные не получены, функция завершается с ошибкой тайм-аута. • 03h - опрос состояния модема и линии (чтение регистров MSR и LSR). Эту гарантированно быструю функцию обычно вызывают перед функциями ввода/вывода во избежание риска ожидания тайм-аута. При вызове INT 14h номер функции задается в регистре АН, номер порта (0-3) - в регистре DX(0 - СОМ 1, 1 - COM2...). При возврате из функций 0,1 и 3 регистр АН содержит байт состояния линии (регистр LSR), AL - байт состояния модема (MSR). При возврате из функции 2 нулевое значение бита 7 регистра АН указывает на наличие принятого символа в регистре AL', ненулевое значение бита 7 - на ошибку приема, которую можно уточнить функцией 3. СОМ-порт и РпР Современные ПУ, подключаемые к СОМ-порту, могут поддерживать спецификацию РпР. Основная задача ОС заключается в идентификации подключенного устройства, для чего разработан несложный протокол, реализуемый на любых СОМ-портах чисто программным способом (рис. 2.18): Рис. 2.18. Запрос идентификатора устройства РпР 1. Порт инициализируется с состоянием линий DTR=OA/, RTS=OFF, TXD=Mark - состояние покоя (Idle). 2. Некоторое время (0,2 с) ожидается появление сигнала DSR, которое указало бы на наличие устройства, подключенного к порту. В простейшем случае устройство имеет на разъеме перемычку DTR-DSR, обеспечивающую указанный ответ. Если устройство обнаружено, выполняются манипуляции управляющими сигналами DTR и RTS для получения информации от устройства. Если ответ не получен, ОС, поддерживающая динамическое реконфигурирование, периодически опрашивает состояние порта для обнаружения новых устройств. 3. Порт программируется на режим 1200 бит/с, 7 бит данных, без паритета, 1 стоп-бит, и на 0,2 с снимается сигнал DTR. После этого устанавливается DTR=1, а еще через 0,2 с устанавливается и RTS=1. 4. В течение 0,2 с ожидается приход первого символа от устройства. По приходе символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел (рис. 2.18), выполняется вторая попытка опроса (см. п. 5), несколько отличающаяся от первой. 5. На 0,2 с снимаются оба сигнала (DTR=0 и RTS=0), после чего они оба устанавливаются (DTR=1 и RTS==1). 6. В течение 0,2 с ожидается приход первого символа от устройства, по приходе символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел, то в зависимости от состояния сигнала DSR переходят к проверке отключения Verify Disconnect (при DSR^O) или в дежурное состояние Connect Idle (при DSR=1). 7. В дежурном состоянии Connect Idle устанавливается DTR=1, RTS=0, порт программируется на режим 300 бит/с, 7 бит данных, без паритета, 1 стоп-бит. Если в этом состоянии обнаружится DSR=0, ОС следует уведомить об отключении устройства. Посимвольный прием идентификатора устройства имеет ограничения по тайм-ауту в 0,2 с на символ, а также общее ограничение в 2,2 с, позволяющее принять строку длиной до 256 символов. Строка идентификатора РпР должна иметь маркеры начала (28h или 08h) и конца (29h или 09h), между которыми располагается тело идентификатора в стандартизованном формате. Перед маркером начала может находиться до 16 символов, не относящихся к идентификатору РпР. Если за первые 0,2 с ожидания символа (шаг 4 или 6) маркер начала не пришел, или же сработал тайм-аут, а маркер конца не получен, или же какой-либо символ принят с ошибкой, происходит переход в состояние Connect Idle. Если получена корректная строка идентификатора, она передается ОС. Для проверки отключения (Verify Disconnect) устанавливается DTR=1, RTS=0 и через 5 с проверяется состояние сигнала DSR. При DSR=1 происходит переход в состояние Connect Idle (см. п. 7), при DSR^O происходит переход в состояние Disconnect Idle, в котором система может периодически опрашивать сигнал DSR для обнаружения подключения устройства. Описанный механизм разрабатывался фирмой Microsoft с учетом совместимости с не РпР устройствами - невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся РпР идентификаторами. Например, обычная Microsoft Mouse при включении питания от интерфейса ответит ASCII-символом "М" (трехкнопочная - строкой "МЗ"). Лекция 9. Программируемый связной интерфейс. Как пример устройства последовательного интерфейса, рассмотрим микросхему 8251А программируемого связного интерфейса, схема которой представлена на рис. 9.13. Эту микросхему можно запрограммировать для асинхронной или синхронной передачи. Буферные регистры входных и выходных данных разделяют порт с одним и тем же адресом. Последовательный двоичный поток со входа RxD вводится в регистр сдвига приемника, а затем биты данных передаются в буферный регистр входных данных, а оттуда в процессор. Выводимые биты данных процессор помещает в буферный регистр выходных данных, затем они передаются в регистр сдвига передатчика и вместе с битами синхронизации — на выход TxD. Содержимое регистра режима, который инициализируется выполняемой программой, определяет синхронный или асинхронный режим и формат передаваемых и принимаемых символов. Регистр управления, который также устанавливается программой, координирует работу интерфейса, а регистр состояния обеспечивает программе определенную информацию. Для синхронной связи необходимы регистры для хранения символов синхронизации. Рис. 9.13. Последовательный связной интерфейс 8251А Несмотря на то, что процессор может адресовать семь регистров микросхемы, она ассоциируется с адресами всего двух портов. Вход C/D подключается к линии адреса АО и она дифференцирует адреса двух портов. Микросхема интерпретирует сигналы C/D RD и WR в соответствии с табл. 9.1. Таблица 9.1 Интерпретация сигналов управления С/D(=A0) RD WR Действие 1 Ввод ланных из буфера входных данных 1 Вывод данных в буфер выводных данных 1 1 Передача регистра состояния на шину данных 1 1 Загрузка с шины данных в регистры режима, управления или символа синхронизации Остальные комбинации сигналов переводят тристабильные выходы D7-DO в высокоимпедансное состояние. Выбор регистров режима, управления или символа синхронизации зависит от последовательности обращения, схема которой представлена на рис. 9.14. После аппаратного сброса или приказа с установленным в 1 битом сброса следующий вывод с АО = 1 (т. е. с C/D = 1, RD = 1 и WR = 0) предназначен для регистра режима. Форматы регистра режима для асинхронного и синхронного случаев показаны на рис. 9.15. Если два младших бита режима содержат нули, интерфейс переводится в синхронный режим и старший бит определяет число символов синхронизации. При этом следующие один или два байта, выводимые с АО = 1, становятся символами синхронизации. Если два младших бита режима не равны 0, интерфейс работает в асинхронном режиме. В любом случае все последу­ющие байты до другого сброса направляются в регистр управления (если АО = 1) или в буферный регистр выходных данных (если АО = 0). В синхронном режиме скорости в бодах передатчика и приемника, равные частотам сдвига регистров сдвига, совпадают с частотами сигналов на входах ТхС и RxC соответственно. При работе в асинхронном режиме три оставшиеся комбинации младших бит в регистре режимов определяют множитель скорости. Взаимосвязь между частотами Т\С и RxC входов синхронизации и скоростями в бодах передатчика и приемника имеет следующий вид частота синхронизации = множитель X скорость в бодах. Рис. 9.14. Схема размещения выводимых байт. Когда младшие биты регистра режима содержат 10 и скорости в бодах передатчика и приемника равны 300 и 1200, частота на входе ТхС должна быть 4800 Гц, а на входе RxC - 19,2 кГц В обоих режимах биты 2 и 3 показывают число информационных бит в каждом символе, бит 4 определяет наличие или отсутствие бита паритета, а бит 5 - тип паритета (не­четный или четный). В асинхронном режиме два старших бита показывают число стоповых бит. Для синхронного режима бит 6 показывает, каким является сигнал SYNDET-входным или выходным, а бит 7 задает число символов синхронизации Рис. 9.15. Форматы регистра режима: асинхронный (а) и синхронный (б) Если контакт SYNDET служит выходом, его сигнал становится активным, когда обнаружено соответствие входного двоичного потока и символа (ов) синхронизации. Когда же поиск символов синхронизации осуществляется внешним устройством, на вход SYNDET подается сигнал о фиксации соответствия. Этот же контакт, но только в каче­стве выхода применяется и при асинхронной работе. Сигнал на этом выходе называется сигналом обнаружения разрыва и он высоким уровнем отмечает прием символа, состоящего из одних нулей. Формат регистра управления приведен на рис. 9.16. Бит 0 этого регистра должен содержать 1 до вывода данных, а бит 2 должен быть в состоянии 1 до приема данных. Программный ответ модему осуществляется установкой в 1 бита 1, так как при этом на выходе DTR формируется 0, а инверсия DTR обычно подключается к линии CD модема. Состояние 1 бита 3 формирует TxD = 0, вызывая передачу символов разрыва. Рис. 9.16. Формат регистра управления Примечание. Во всех случаях действие предпринимается, когда бит установлен в 1 Установка в 1 бита 4 вызывает сброс всех бит ошибок в регистре состояния. Бит 5 применяется для выдачи сигнала "запрос передачи" (RTS) в модем. Если инверсия сигнала на кон­такте RTS подключена к линии СА модема, то загрузка 1 в бит 5 вызывает высокий уровень на линии СА. Установка бита 6 в состояние 1 вызывает реинициализацию 8251А и переход к последовательности сброса (т. е. осуществляется возврат в начало схемы на рис. 9.14 и следующий вывод производится в регистр режима). Бит 7 применяется толь­ко в синхронном режиме; установка его в 1 заставляет 8251А начать поиск символа (ов) синхронизации На рис. 9.17 показаны типичные схемы подключения к модемам для асинхронной и синхронной передач. При синхронной передаче предполагается, что синхронизацией управляет модем и его связное оборудование. Кроме того, если это же оборудование применяется для обнаружения символа (ов) синхронизации, оно информирует 8251А об их обнаружении по линии SYNDET. С другой стороны, если символ (ы) синхронизации отыскивает сам 8251А, он может использовать линию SYNDET, чтобы сообщить модему об успешном поиске Для удовлетворения требований стандарта RS-232-C необходимы драйверы и приемники, преобразующие ТТЛ-совместимые сигналы TxD и RxD в требуемые уровни напряжения (см рис. 9.10) Ниже приведен программный фрагмент, который инициализирует регистр режима и содержит приказ разрешения передатчика и запуска асинхронной передачи со следую­щим форматом: 7 бит символа, бит четного паритета и 2 стоповых бита. MOV AL,11111010B OUT 51H,AL MOV AL,00110011B OUT 51H,AL Здесь предполагается, что регистры режима и управления имеют адрес 51Н, а частоты синхронизации в 16 раз больше соответствующих скоростей в бодах. Следующий фрагмент переводит 8251А в синхронный режим и заставляет его начать поиск двух смежных символов синхронизации: MOV AL,00111000B OUT 51H,AL MOV A1_,16H OUT 51H,AL MOV AL,10010100B OUT 51H,AL 338 Можно также использовать для выбора скорости - линия модема СН б) Рис. 9.17. Подключения микросхемы 8251А к асинхронному (а) и синхронному (б) модему Примечание. Подключения линий управления зависят от спецификаций модема Как и в первом примере, символы содержат 7 информационных бит и бит четного паритета, но, разумеется, стоповые биты отсутствуют. Формат регистра состояния приведен на рис. 9.18. Биты 1, 2 и 6 отражают состояния сигналов RxRDY, TxE и SYNDET. Бит TxRDY показывает, что буфер выходных данных Рис. 9.18. Формат регистра состояния пустой. В отличие от контакта TxRDY на этот бит не влияет входной сигнал CTS или бит управления TxEN. Бит RxRDY показывает, что символ принят и готов для ввода в процессор. Биты TxRDY и RxRDY можно использовать для программного ввода-вывода, а сигналы с соответствующих контактов можно подключить к линиям запросов прерываний для организации ввода-вывода по прерываниям. Бит TxRDY автоматически сбрасывается, когда имеется символ для передачи, а бит RxRDY - когда установивший его символ введен процессором. Бит 2 показывает, что регистр сдвига передатчика ожидает загрузки символа из буферного регистра выходных данных. В синхронной передаче, пока этот бит установлен, передатчик будет брать данные из регистров символов синхронизации до загрузки данных в буферный регистр выходных данных. Биты 3, 4 и 5 показывают ошибки паритета, перегрузки и кадра. Когда обнаруживается ошибка, соответствующий ей бит устанавливается в 1. Если инверсию выхода DSR подключить к линии СС, то бит 7 отражает состояние модема - он устанавливается в 1, когда модем включен и находится в рабочем режиме. На рис. 9.19 приведена типичная программа, в которой используется программный ввод-вывод для ввода 80 символов из 8251А (адрес буферного регистра данных равен 0050) и размещения их в буфере памяти, начинающегося с LINE. Внутренний цикл непрерывно проверяет бит RxRDY до тех пор, пока он не устанавливается символом, принятым в буферный регистр входных данных. Затем новый принятый символ пересыпается в память и контролируются биты ошибок Если текущий символ появился до ввода предыдущего символа или во время передачи возникли ошибки паритета или кадра, ввод прекращается и вызывается процедура обработки ошибки, которая обычно проверяет отдельные биты ошибок, печатает соответствующее сообщение и сбрасывает биты ошибок. MOV AL, 00110101B ; разрешить передачу и прием OUT 51H, AL ; и сбросить биты ошибок MOV DI, 0 ; инициализировать индекс MOV CX, 80 ; инициализировать счетчик в СХ BEGIN IN AL, 51H ; ожидать ввод TEST AL,02H JZ BEGIN IN AL, 50H ;ввести символ и поместить MOV LINE [DI],AL ; в буфер строки INC DI IN AL, 51H ; проверить биты ошибок и, TEST AL, 00111000B ;если ошибок не обнаружено, JNZ ERROR ; продолжать ввод LOOP BEGIN JMP AHORT EXIT ERROR CALL NEAR PTR ERR_ROUT ; иначе вызвать ERR_ROUT EXIT: - - Рис. 9.19. Ввод строки символов через интерфейс 8251А Ввод символа автоматически сбрасывает бит RxRDY, поэтому если другой символ не принят до начала внутреннего цикла, внутренний цикл должен повторяться до тех пор, пока следующий входной символ не установит RxRDY = 1. Если входные символы имеют меньше 8 бит, неиспользуемые старшие биты в буферном регистре данных всегда возвращаются в состояние 0. Бит паритета не передается в процессор, поэтому контроль ошибок паритета можно осуществить только по состоянию бита ошибки паритета в регистре состояния. Когда при выводе длина символов меньше 8 бит, ненужные старшие биты в буферном регистре выходных данных игнорируются. Лекция 10. Передача данных между ЭВМ с помощью модемов. Типы и характеристики модемов. Набор АТ-команд. Редкий серьезный деловой человек, профессиональный программист или системный оператор может представить себе полноценную работу без использования такого мощного, оперативного и удобного сочетания как обычная телефонная линия, модем и компьютерная сеть. В то время как первые две составляющие всего лишь техническая сторона новой организации информационного обмена между пользователями, компьютерная сеть - это та глобальная идея, объединяющая разрозненных обладателей компьютеров и модемов, систематизирующая и управляющая хаотически предъявляемыми требованиями и запросами по быстрому информационному обслуживанию, моментальной обработкой коммерческих предложений, услугами личной конфиденциальной переписки и т.д. и т.п. Сейчас, в условиях многократно возрастающих каждый год информационных потоков, уже практически невозможно вообразить четкое взаимодействие банковских структур, торговых и посреднических фирм, государственных учреждений и других организаций без современной вычислительной техники и компьютерных сетей. В противном случае пришлось бы содержать гигантский штат обработчиков бумажных документов и курьеров, причем надежность и быстрота функционирования такой системы все равно была бы значительно ниже предоставляемой модемной связью и компьютерными сетями. А ведь каждая минута задержки в пересылке важных информационных сообщений может вылиться в весьма ощутимые денежные потери и имиджевые крахи. Без модема немыслима система электронных коммуникаций. Это устройство позволяет включиться в увлекательный, а сегодня, используя последние изобретения мира телекоммуникаций, уже и просто жизненно необходимый, мир информационных потоков, электронных баз данных, электронной почты, электронных справочников, электронных досок объявлений и многого другого. Возможности получения и обмена информацией с помощью модемов уже сегодня трудно переоценить, а то, что ждет нас завтра, мы не можем себе даже вообразить. Электронное письмо, посланное по электронной почте в любую точку земного шара, дойдет до адресата меньше, чем за два часа. Мы можем поместить какое-либо объявление или рекламу в систему телеконференции вашей сети электронной почты и эту информацию через сутки узнает весь мир (если, конечно, этого очень захотеть). Посредством модема можно, например, из Москвы подключиться напрямую к серверу в Нью-Йорке и работать с информационными базами данных, которые он содержит. Наконец, мы можем послать факс. Уже сегодня ни одна солидная брокерская контора не может обойтись без оперативного получения и передачи информации с использованием компьютерных каналов связи и, как следствие, модемов. Основной задачей модема является преобразование исходной цифровой информации в вид, пригодный для передачи по каналу связи, и обратное преобразование на приеме. Вид модуляции и метод построения модема в значительной степени определяют скорость передачи данных и эффективность использования канала связи. Применительно к передаче данных по телефонным каналам, виды модуляции, используемые в модемах, регламентируются Международным союзом электросвязи (МСЭ-Т). В Рекомендациях МСЭ-Т определены основные технические характеристики модема, такие, как форма спектра передаваемого сигнала, структура настроечной комбинации, образующий полином скремблера (дескремблера) и другие параметры, обеспечивающие совместимость модемов, выпускаемых разными изготовителями. Качество работы модема определяется способностью противодействовать мешающим факторам, а, именно: - Гауссовскому шуму; - межсимвольной интерференции, вызванной не идеальностью передаточной функции канала связи; - флуктуациям фазы несущей частоты, обусловленным низкочастотной паразитной модуляцией в генераторном оборудовании систем передачи с частотным разделением каналов. Поэтому для повышения качества работы модема требуется применение оптимальных( либо близких к ним) алгоритмов обработки сигналов, позволяющих уменьшить влияние мешающих факторов. Повышение эффективности использования канала связи, т.е. удельной скорости передачи (числа передаваемых бит на единицу полосы пропускания канала связи), требует применения в модеме следующих систем: - адаптивного корректора сигнала для уменьшения межсимвольной интерференции в принимаемом сигнале; - дискретного (или цифрового) формирователя спектра сигнала на передаче (в качестве его дополнительной функции может быть введение предыскажений с целью компенсации межсимвольной интерференции); - скремблера (на передаче) и дескремблера (на приеме) для преобразования исходной последовательности данных в псевдослучайную и обратного преобразования на приеме; - системы компенсации флуктуаций фазы несущей частоты, Соединение абонента передачи данных с телефонным каналом может осуществляться с помощью четырех проводного окончания (главным образом с арендованными каналами) и/или двухпроводным окончанием(в основном с коммутируемыми каналами). При четырех проводном окончании передача и прием осуществляются независимо друг от друга, а при двухпроводном окончании и работе в дуплексном режиме передатчик по- рождает помехи на входе своего приемника (так как объединение и разделение передачи и приема производится с помощью дифсистем, которые невозможно идеально настроить на полное подавление сигнала передатчика местного модема). Передача данных по телефонным каналам с двухпроводным окончанием организуется с использованием одного из следующих методов: - поочередной передачи в каждом из направлений (полудуплексный режим); - частотного разделения направлений передачи (дуплексный режим: симметричный или асимметричный - в зависимости от равенства или неравенства скоростей передачи в разных направлениях); - одновременной передачи в обоих направлениях с подавлением на приеме отраженного сигнала собственного передатчика (дуплексный режим с эхо компенсацией). Модемы классифицируются, в основном, по величине скорости и типу канала, для которого они предназначены (арендованный или коммутируемый). Совместимость модемов разных изготовителей обеспечивается соответствием их нормам международных Рекомендаций серии V Международного союза электросвязи (МСЭ-Т). Итак, модемом называется устройство, способное осуществлять МОдуляцию и ДЕМодуляцию информационных сигналов (МОДЕМ). Собственно работа модулятора модема заключается в том, что поток битов из компьютера преобразуется в аналоговые сигналы, пригодные для передачи по телефонному каналу связи. Понятно, что демодулятор модема выполняет обратную задачу. Таким образом, данные, подлежащие передаче, преобразуются в аналоговый сигнал модулятором модема "передающего" компьютера. Принимающий модем, находящиеся на противоположном конце линии, "слушает" передаваемый сигнал и преобразует его обратно в цифровой при помощи демодулятора. После того, как эта работа выполнена, информация может передаваться в принимающий компьютер. Режим работы, когда передача данных осуществляется только в одном направлении, называется полудуплексным (half duplex). Вообще говоря, оба компьютера, как правило, могут одновременно обмениваться информацией в обе стороны. Этот режим работы называется полным дуплексом, или просто дуплексом (full duplex). Можно выделить некоторые основные этапы работы модема. Первым делом модем принимает данные, поступающие из компьютера, после чего разделяет их на исполняемые команды и информацию, которую надо передать в линию. Сразу же заметим, что большинство современных модемов используют так называемый набор команд AT. (сокращение от слова ATtentin). АТ-команды Практически каждый модем рекламируется как Hayes-совместимый, т. е. понимающий большинство команд языка AT, разработанного компанией Hayes в 70-е годы. Чтобы использовать модем, вам не обязательно знать команды AT, но иногда применение правильной инструкции способно дать модему "второе дыхание". Имейте в виду, что не все команды работают со всеми модемами, а каждая конкретная модель поддерживает лишь основные команды языка Hayes и имеет набор своих собственных (и весьма полезных) команд. Подробная информация об этом содержится в документации на модем и на Web-сервере поставщика. Чтобы воспользоваться командами AT, запустите утилиту Hyper Terminal или Терминал, входящий в пакет Norton Commander 5.0. AT - команды AT начало (префикс) командной строки. После получения этой команды модем автоматически подстраивает скорость передачи и формат знака к параметрам терминала. A ручной ответ. Команда переключает модем из командного режима на режим ожидания сигнала несущей вызывающего модема. После получения сигнала несущей, модем реализует процедуру положительного ответа на вызов и действует как переключенный на процедуру автоматического ответа. Если модем работает на выделенных линиях связи, то отвечает несущей без указания частоты. В этом случае если автоматический ответ (auto-answer) выключен (S0=0) и происходит вызов, то для получения связи надо передать команду ATA. A/ модем повторяет предыдущую командную строку. Команда подается без префикса (AT) и нажатия. Bn выбор коммуникационного стандарта: n = 0 CCITT V.21, V.22, V.22bis, n = 1 BELL 103/202A. Ds автоматический набор номера. После получения этой команды, модем начинает набор номера и при получении связи переходит в режим передачи. Команда состоит из телефонного номера, в состав которого могут входить следующие управляющие параметры: s = P обозначает, что цифры телефонного номера идущие после символа P модем должен набирать импульсно (используются символы 0-9). s = T обозначает, что цифры телефонного номера идущие после символа T модем должен набирать частотой (разрешено использовать символы 0-9, A-D, * а также #). s = , обозначает перерыв перед набором следующей цифры (2s). s = ; если применяется как последний знак в командной строке, то модем после набора номера переходит в командный режим работы. s = @ модем ожидает 5-секундной тишины на линии, если она не появится в течении 30s (содержимое регистра S7), модем отключается, и отвечает NO ANSWER. s = ! если знак ! стоит перед знаками последовательности набора, модем переходит в состояние ON HOOK (кладет трубку) на 0,5s, а затем снова перейдет в состояние OFF HOOK (снимает трубку). s = S модем набирает телефонный номер записанный в памяти EEROM. s = R при записи как последний символ в командной строке, устанавливает модем после набора номера в режим answer, но только в том случае, если модем звонит к модему originate. s = W модем ожидает ответ станции (длинный гудок) перед дальнейшим набором телефонного номера (например выход на автоматическую междугороднюю связь). En местное эхо ON/OFF. После команды E1 модем возвращает эхо каждого знака передаваемого ему, что позволяет узнать, как действительно работает командная линия. Команда E0 блокирует эту функцию. n = 0 эхо выключено, n = 1 эхо включено Hn управление линией. Команда используется прежде всего при окончании телефонной связи: n = 0 отключение модема от линии, n = 1 подключение модема на линию. In производственный код и контрольная сумма: n = 0 сообщение сода продукта, n = 1 подсчет контрольной суммы программы содержащейся в ROM (EPROM), n = 2 модем проверяет состояние внутренней памяти ROM и возвращает сообщение OK или ERROR. Ln установка громкости сигнала встроенного динамика (громкоговорителя). n = 0,1 низкая n = 2 средняя n = 3 высокая Mn управление динамиком (громкоговорителем). n = 0 динамик выключен, n = 1 динамик включен только во время набора номера и выключается после обнаружения несущей, n = 2 динамик включен все время, n = 3 динамик включается после набора последней цифры номера и выключается после обнаружения несущей отвечающего модема. Qn управление ответом модема. n = 0 ответ включен, n = 1 ответ выключен. Независимо от состояния Q0 или Q1 модем всегда сообщает содержание S-регистров, код продукта, контрольную сумму и результаты теста (смотри команды S, I, а также &T). O после прохождения команды, модем настраивается на режим передачи данных и отвечает CONNECT (если до этого он находился в командном режиме работы). Sr управление S-регистрами. Sr? считывание содержимого S-регистра номер r. Sr=nnn ввод числового параметра nnn в S-регистр номер r. Все команды модифицируют содержимое одного или более S-регистров. Некоторые S-регистры содержат временные параметры, которые можно поменять только командой S. Vn выбор вида ответа модема. n = 0 ответ цифровым кодом, n = 1 ответ в символьном виде на английском языке. Стандартный набор ответов модема Ответ в символьном виде Ответ цифровым кодом Значение ответа OK Модем выполнил команду CONNECT 1 Модем подключен со скоростью 300bps. После команды X0 возможна работа со скоростью 600, 1200, 2400 bps. RING 2 Модем обнаружил правильный сигнал звонка. Ответ выдается всегда, независимо от режима работы. NO CARRIER 3 Модем потерял несущую или не получил ответ от удаленного модема. ERROR 4 Ошибка в командной строке. Командная строка длиннее 40 символов, или ошибка в контрольной сумме (смотри команду L2). CONNECT 1200 5 Модем подключен со скоростью 1200 bps, (смотри команды X1, X2, X3, X4). NO DIALTONE 6 Отсутствие сигнала станции коммутации (смотри команды X2, X4). BUSY 7 Номер (канал) занят. NO ANSWER 8 Ответ получается в случае использования в командной строке управляющего символа @ и если не выполнено условие - 5s тишины (см команду D). CONNECT 600 9 Модем подключен со скоростью 600 bps, (смотри команды X1, X2, X3, X4). CONNECT 2400 10 Модем подключен со скоростью 2400 bps, (смотри команды X1, X2, X3, X4). Кроме собственно модуляции и демодуляции сигналов модемы могут выполнять сжатие и декомпрессию пересылаемой информации, а также заниматься поиском и исправлением ошибок, возникнувших в процессе передачи данных по линиям связи. Модем выполняется либо в виде внешнего устройства, которое одним выходом подсоединяется к телефонной линии, а другим к стандартному COM-поpту компьютера (pазъём RS232), либо в виде обыкновенной печатной платы, которая устанавливается на общую шину компьютеpа. Внутренние варианты модемов могут быть пpиспособлены как к обычной ISA, так и к PCI шинам. Контpоллеp модема - это, как правило, специализированный микрокомпьютер типа SC1107 или SC1108, содеpжащий восьмиpазpядное АЛУ, ПЗУ в 8 Кбайт, ОЗУ 128 байт, таймеp, командный pегистp, контpоллеp пpеpываний, стек, поpт ввода/вывода. Если плата модема пpисоединена к системной шине ПК, то пpименяется "паpаллельный" контpоллеp SC1107. Если же плата pаботает с компьютеpом посpедством RS232, то используется "последовательный" контpоллеp SC1108. В некотоpых констpукциях pоль контpоллеpа выполняет пpоцессоp 8031 с внешним ПЗУ (i2732,2764) и микpосхемой 74LS373. Модемы могут отличаться друг от друга, например, по методам модуляции. Ведь, как известно, у одного и того же сигнала, определяемого во времени, можно модулировать амплитуду, частоту и фазу. Наиболее известны три метода модуляции: FSK (Frequency Shift Keying), PSK (Phase Shift Keying) и QAM (Quadrature Amplitude Modulation). FSK является разновидностью частотной модуляции (ЧМ), а PSK - фазовой (ФМ). FSK использует четыре выделенные частоты. Пpи пеpедаче инфоpмации сигнал частотой 1070 Гц интерпретируется как логический нуль, а сигнал частотой 1270 Гц - как логическая единица. Пpи приеме нуль соответствует сигналу 2025 Гц, а единица - 2225 Гц. PSK использует две частоты: для передачи данных - 2400 Гц, для приема - 1200 Гц. Данные пеpедаются по два бита, пpи этом кодиpовка осуществляется посpедством сдвига фазы сигнала. Используются следующие сдвиги фазы для кодиpовки: 0 гpадусов для сочетания битов 00, 90 гpадусов для 01, 180 гpадусов для 10, 270 гpадусов для 11. В методе квадратной амплитудной модуляции QAM одновременно изменяются фаза и амплитуда сигнала, что позволяет передавать большее количество информации. В современных модемах используется так называемая модуляция с решёточным кодированием TCQAM (Trellis Coded QAM), или просто TCM. Одной из основных характеристик модема является скорость модуляции, которая определяет физическую скорость передачи данных без учёта исправления ошибок и сжатия данных. Единицей измерения этого параметра является количество бит в секунду. Скорость модуляции не следует путать с пропускной способностью канала, которая может быть меньше или больше скорости модуляции в зависимости от качества линии, применения коррекции ошибок и сжатия передаваемых данных. Поскольку скорость передачи данных может измеряться как в битах в секунду, так и в бодах. Дело в том, что бод определяет число изменений (модуляций) сигнала в секунду. Однако в зависимости от способа модуляции каждое изменение сигнала может соответствовать не только одному, но и большему количеству бит. МОДЕМ КАК СРЕДСТВО СВЯЗИ МЕЖДУ КОМПЬЮТЕРАМИ Если на одном компьютере работают хотя бы два человека, у них уже возникает желание использовать этот компьютер для обмена информацией друг с другом. На больших машинах, которыми пользуются одновременно десятки, а то и сотни человек, для этого предусмотрены специальные программы, позволяющие пользователям передавать сообщения друг другу, а администратору - оповещать пользователей о новостях в системе. Стоит ли говорить о том, что как только появилась возможность объединять несколько машин в сеть, пользователи ухватились за эту возможность не только для того, чтобы использовать ресурсы удаленных машин, но и чтобы расширить круг своего общения. В рамках предприятия, небольшого города или просто ограниченной местности возможно создание обычной локальной сети на базе стандаpтов Ethernet или Arcnet и их объединение посредством стандартных кабелей. Hо когда pечь заходит о соединении компьютеров, находящихся на расстоянии многих тысяч километров друг от друга, то мгновенно встает вполне разумный вопрос: а почему бы не использовать такое стаpое и пpовеpенное сpедство коммуникации, как телефонные линии? Ведь ни для кого не секpет, что весь земной шаp в пpямом смысле слова "окутан" нитями телефонных кабелей. Вот тогда и потребовалось это устройство МОдуляции/ДЕМодуляции, которое могло бы переводить информацию в сигналы определенной частоты. Впеpвые такое устройство было представлено разработчиками и стандартизовано МККТТ в 1964 году. Параллельно с аппаратными изобретениями начали выходить в свет и программные разработки, обеспечивающие удобный, доступный и простой диалог в цепочке модем-ЭВМ-человек. Создаются программы, предназначенные для обмена сообщениями пользователей, находящихся на разных машинах. Из-за разнообразия компьютеров, операционных систем, способов соединения машин в сеть и целей, преследуемых при этом людьми, этих программ оказалось достаточно много и они не всегда совместимы между собой. Практически каждый программист способен создать подобный "почтовик" на базе которого можно было бы создать компьютерную сеть. Если мы хотим оперативно передать какой-то файл нашему другу или сотруднику во Владивостоке, то можно поступить двумя способами. Кто-то предпочтет записать этот файл на дискету, купить билет на самолет, нанять КУРЬЕРА и поручить ему доставить эту дискету по такому-то адресу. А кто-то разумно решит приобрести модем марки COURIER фирмы U.S.Robotics и в считанные минуты, используя присутствующую в каждом приличном учреждении телефонную линию, передать всю необходимую во Владивостоке информацию. Для этого, помимо телефонной линии, необходимо иметь лишь, также присуствующий в каждом приличном учреждении, компьютер и простейшую коммуникационную программу. ЗАКЛЮЧЕНИЕ Последние годы характеризуются быстрым совершенствованием модемов и расширением масштаба их использования. Основными причинами этого стали создание новых высокоэффективных методов модуляции и цифровой обработки сигналов: многопозиционной модуляции в сочетанием со сверточным кодированием и приемом по максимуму правдоподобия, методов защиты от ошибок и сжатия данных. Технологической базой этого процесса стало создание специализированных БИС для модемов, необходимым компонентом которых являются высокоскоростные цифровые сигнальные процессоры. В массовом производстве был освоен выпуск модемов для коммутируемых каналов на скоростях 14400 бит/с и 28800 бит/с. (что практически совпадает с теоретической границей скорости передачи). Благодаря применению в модемах защиты от ошибок, обеспечивается высокая достоверность передачи, а за счет введения функции сжатия данных - фактические скорости передачи до 57600 бит/с. Эти факторы, наряду с сохраняющимся значительным объемом использования аналоговых телефонных каналов, обусловили быстрое развитие разработки, производства и применения модемов. Лекция 11. Программируемый периферийный интерфейс. Примером параллельного интерфейса служит микросхема 8255А программируемого периферийного интерфейса. Как показано на рис. 9.21, она имеет регистр управления и три отдельно адресуемых порта A, B и С. Обращение к 8255А определяет сигнал CS, а направление обращения - сигналы RD и WR. Адресуемый регистр определяют сигналы на входах А1 и АО. Следовательно, младший адрес порта, назначаемый 8255А, должен быть кратным 4. Полная адресация 8255А содержится в табл 9.2 Таблица 9.2 Адресация микросхемы 8255А А1 А0 RD WR CS Описание передачи 1 Порт А на шину данных 1 1 Порт В на шину данных 1 1 Порт С на шину данных 1 Шина данных в порт А 1 1 Шина данных в порт А 1 1 Шина данных в порт А 1 1 1 Шина данных в региструправления, если D7=1; если D7=0, ввод с шины данных считается командой установки/сброса Х Х Х Х 1 D7-D0 в высокоимпедансном состоянии 1 1 1 Запрещенная комбинация Х Х 1 1 D7-D0 в высокоимпедансном состоянии Так как биты порта С иногда используются как биты управления, 8255А спроектирован так, что в них можно выводить по отдельности, пользуясь командой установки/сброса. Когда 8255А принимает байт, направляемый в его регистр управления, он анализирует бит 7 данных. Если этот бит содержит 1, данные передаются в регистр управления; если же бит 7=0, данные считаются командой установки/сброса и применяются для установки или сброса определяемого командой бита порта С. Биты 3-1 дают номер изменяемого бита, а бит 0 показывает сброс или установку. Остальные биты не используются. Биты трех портов выведены на контакты, которые подключаются к устройству ввода-вывода. Они разделены на группы А и В, причем группу А образуют биты порта А и 4 старших бита порта С, а группу В - порт В и 4 младших бита порта С. Группа А может работать в трех режимах (0, 1, 2), а группа В - в двух режимах (0 и 1). Режимы определяются содержимым регистра управления, формат которого приведен на рис. 9.22. Рис. 9.21. Схема интерфейса 8255А Режим 0. В этом режиме группа разделяется на два набора. В группе А этими наборами являются порт А и старшие 4 бита порта С, а в группе В - порт В и младшие биты порта С. Каждый набор можно использовать для ввода или вывода, но не для двунаправленных передач. Биты D4, D3, D1 и DO в регистре управления определяют, какие наборы предназначены для ввода, а какие - для вывода. Эти биты ассоциируются с наборами следующим образом: Рис. 9 22. Формат регистра управления микросхемы 8255А D4 порт A D3 старшая половина порта С, D1 - порт В, DO - младшая половина порта С Если бит содержит 0, соответствующий набор применяется для вывода, а в противном случае для ввода Режим 1. Когда в этом режиме работает группа A, порт А используется для ввода или вывода в соответствии с битом D4 (D4 = 1 указывает ввод), а старшая половина порта С применяется для сигналов квитирования и управления. При вводе старшим битам пота С назначены следующие названия и определения: РС4 STBA - сигнал 0 на этом контакте заставляет РА7-РАО "стробироваться" в порт А. РС5 IВFA — показывает, что входной буфер заполнен. Устанавливается в 1, когда порт А содержит данные, которые еще не введены в процессор. Когда действует сигнал 0, устройство может вводить в интерфейс новый байт. РС6, РС7 - применяются для вывода сигналов управления в устройство или ввода состояния из устройства. Если бит D3 в регистре управления содержит 0, эти линии выходные; в противном случае - входные. При выводе: РС4, РС5 - выполняют те же функции, что и РС6, РС7 при вводе. РС7 ОВFA - показывает, что выходной буфер заполнен. Формирует сигнал 0 в устройство, когда порт А выводит в устройство новые данные. РС6 АСКA - устройство подает 0 на этот вход, когда оно восприняло данные из порта А. В режиме 1 с группой А ассоциируется РСЗ, обозначаемый INTRA. Этот сигнал применяется как линия запроса прерывания и подключается к одной из линий IR системной шины. При вводе в порт А на этом выходе формируется сигнал 1, когда новые данные помещаются в порт А (т. е. им управляет РС4), и сигнал 0, когда процессор считывает данные. При выводе на выходе INTRA формируется сигнал 1, когда содержимое порта А воспринято устройством, и сигнал 0, когда процессор загружает новые данные. Если группа В находится в режиме 1, порт В является входным или выходным в зависимости от состояния бита D1 регистра управления (D1 = 1 определяет порт В входным). При вводе РС2 и РС1 обозначаются STBB и IBFB; они выполняют для группы В те же функции, что и сигналы STBA и IВFA для группы А. Аналогично при выводе РС1 и РС2 обозначаются OBFB и АСКB. Выход РС0 превращается в INTRB и используется аналогично INTRA. Разрешением прерываний для группы А управляют РС4 в режиме ввода и РС6 в режиме вывода. Например, в режиме ввода прерывание для группы А разрешается установкой РС4 и запрещается сбросом РС4 с помощью команды установки/сброса. Аналогично разрешением прерываний для группы В управляет установка/сброс РС2. Режим 2. В данном режиме может работать только группа А, хотя в ней для генерирования запросов прерываний используется РСЗ. В режиме 2 порт А становится двунаправленным, а 4 старших бита порта С определяются следующим образом: РС4 STBA сигнал 0 на этой линии заставляет данные с РА7-РАО стробироваться в порт А. РС5 IВFA - формируется сигнал 1, когда в порт А загружаются новые данные 1 с линий РА7-РАО, и сигнал 0, когда процессор считывает данные. РС6 АСКA - показывает, что устройство готово воспринимать данные с линий РА7-РАО. PC7 OBFA – формирует сигнал 0, когда процессор загружает в порт A новые данные, а сигнал 0, когда данные принягы устройством. Когда гpyппа А находится в режиме 2, группа В может работать в peжиме 0 или 1. Если группа В находится в режима 0 только РС2 - РC0 можно использовать для ввода или вывода, так как PC3 служит запросом прерываний для группы A. Обычно если группа A работает в режиме 2, РС2 – РC0 подгключаются к контактам управления и состояния устройства, которое подсоединено к линиям порта A. Для этих же целей может применяться порт B. Во всех тех режимах порт С отражает сигналы на линиях РС7-РСО и его можно считать командой IN. 9 2.2 Пример использования На рис. 9.23 показано возможное подключение микросхемы 8255А к аналого-цифровой и цифро-аналоговой подсистемам. Так во время аналого-цифрового преобразования аналоговое напряжение должно оставаться неизменным, необходима схема выборки и сохранения. Группа А работает на ввод в режиме 1. Преобразование инициируется сигналом на выходе РС7, это стимулирует преобразователь выдать сигнал занятости. Линия занятости подключена на .вход управления выборкой и сохранением (S/H) и на вход одновибратора, запускаемого спадающим фронтом. Пока сигнал занятости имеет высокий уровень, схема выборки и сохранения поддерживает постоянный выход, а когда в конце преобразования сигнал занятости снимается, запускается одновибратор. Его выход инвертируется и подается на вход SТВA (РС4) микросхемы 8255А. Он заставляет цифровой отсчет стробироваться в порт А. В цифро-аналоговой части подсистемы порт В работает как выходной в режиме 0; он подключен непосредственно на двоичный вход цифро-аналогового преобразователя. Квитирование здесь не применяется. Предположим, что порты А, В и С и регистр управления имеют адреса FFF8, FFF9 FFFA и FFFB. Тогда команды MOV AL, 10110000В OUT DX, AL заставляют порт А работать в режиме 1, порт В - в режиме 0, а РС7 быть выходом. Следующий фрагмент формирует импульс на входе запуска аналого-цифрового преобразователя. MOV DX, OFFFBH MOV AL, 00001111B OUT DX, AL MOV AL, 00001110B OUT DX, AL Здесь первая команда загружает в регистр DX адрес, ассоциируемый с командой установки/сброса, который coвпадает с адресом регистра управления Следующие две команды формируют сигнал PC7 = 1, а последние две - сигнал РС7 = 0. Фрагмент программного ввода преобразованных данных имеет вид MOV DX.OFFFAH AGAIN; IN AL,DX TEST AL.,001OOOOOB JZ AGAIN MOV DX. OFFF8H IN AL, DX Рис. 9.23. Интерфейс аналого-цифровой и цифро-аналоговой подсистем с применением микросхемы 8255А Для вывода байта из регистра AL в цифро-аналоговый преобразователь требуются только две команды. MOV DX, OFFF9H OUT DX, AL Как только байт появляется в порту В, его биты сразу подаются на входы цифро-аналогового преобразователя, который в свою очередь сразу же преобразует их в аналоговый сигнал. В данном примере предполагается, что синхронизация преобразований осуществляется программой и что коэффициенты усиления входного и выходного аналоговых усилителей регулируются. Чтобы получить от программы равномерное распределение входных и выходных отсчетов, необходимо учитывать времена выполнения команд. Между отсчетами выполняются одни и те же команды и общее время их выполнения точно известно Прерывания необходимо запретить, так как они случайным образом вводят выполнение разного числа команд. Интервал между отсчетами можно скорректировать с помощью цикла "ничего-не-делания", например: MOV CX, N IDLE NOP LOOP IDLE между вводами или выводами. Схема ввода с программной синхронизацией отсчетов аналого-цифрового преобразования представлена на рис. 9.24 Часто в аналого-цифровой и цифро-аналоговой подсистеме применяются программируемые генераторы синхронизации и усилители, что позволяет более точно управлять расположением отсчетов и цифро-аналоговых выходов, а также динамически изменять усиление. Кроме того, в такую подсистему часто вводят контроллер ПДП для увеличения скорости ввода и вывода. На рис 9.23 показаны только 8-битные преобразователи, имеющие разрешающую способность 1 из 256. Если диапазон входного или выходного напряжений равен -10 . . . +10 В, разрешающая способность составляет 20/256= 0,078В. Для улучшения разрешающей способности применяются 10-, 12- или 14-битные преобразователи. В этом случае приходится пользоваться комбинацией портов А и С или В и С или параллельно включать две микросхемы 8255А. Лекция 12. Параллельный интерфейс: LPT-порт Порт параллельного интерфейса был введен в PC для подключения принтера —LPT-порт (Line PrinTer — построчный принтер). Адаптер параллельного интерфейса представляет собой набор регистров, расположенных в пространстве ввода/вывода. Регистры порта адресуются относительно базового адреса порта, стандартными значениями которого являются 386h, 378h и 278h. Порт имеет внешнюю 8-битную шину данных, 5-битную шину сигналов состояния и 4-битную шину управляющих сигналов. BIOS поддерживает до четырех LPT-портов (LPT1-LPT4) своим сервисом — прерыванием INT 17h, обеспечивающим через них связь с принтерами по интерфейсу Centronics. Этим сервисом BIOS осуществляет вывод символа, инициализацию интерфейса и принтера, а также опрос состояния принтера. Интерфейс Centronics Понятие Centronics относится как к набору сигналов и протоколу взаимодействия, так и к 36-контактному разъему, устанавливаемому на принтерах. Назначение сигналов приведено в табл. 1. Таблица 1. Сигналы интерфейса Centronics Сигнал I/O* Контакт Назначение Strobe I 1 Строб данных. Данные фиксируются по низкому уровню сигнала Data [0:7] I 2-9 Линии данных. Data 0 (контакт 2) — младший бит Actt 10 Acknowledge — импульс подтверждения приема байта (запрос на прием сле­дующего). Может использоваться для формирования запроса прерывания Busy 11 Занято. Прием данных возможен только при низком уровне сигнала PaperEnd 12 Высокий уровень сигнализирует о конце бумаги Select 13 Сигнализирует о включении принтера Auto LF# I 14 Автоматический перевод строки. Еггог 32 Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера Imt# I 31 Инициализация Slot In# I 36 Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы интерфейса GND - 19-30 33 Общий провод интерфейса * I/O Задает Направление (вход/выход) применительно к принтеру. Интерфейс Centronics поддерживается большинством принтеров с параллельным интерфейсом, его отечественным аналогом является интерфейс ИРПР-М. Традиционный LPT-порт Традиционный порт SPP (Standard Parallel Port) является однонаправленным портом, на базе которого программно реализуется протокол обмена Centronics. Порт обеспечивает возможность вырабатывания запроса аппаратного прерывания по импульсу на входе АСК#. Сигналы порта выводятся на разъем DB-25S (розетка), установленный непосредственно на плате адаптера (или системной плате) или соединяемый с ней плоским шлейфом. Название и назначение сигналов разъема порта (табл. 2) соответствуют интерфейсу Centronics. Таблица 2. Разъем стандартного LPT-порта Контакт DB-25S Провод шлейфа Назначение I/O* Reg.Bit** Сигнал 1 1 0/1 CR: 0\ Strobe# 2 3 0(1) DR:0 Data 0 3 5 0(1) DR: 1 Data 1 4 7 0(1) DR: 2 Data 2 5 9 0(1) DR:3 Data 3 6 11 0(1) DR: 4 Data 4 7 13 0(1) DR:5 Data 5 8 15 0(1) DR:6 Data 6 9 17 0(1) DR:7 Data 7 10 19 I SR: 6 Ack# 11 21 I SR: 7\ Busy 12 23 I SR: 5 PaperEnd 13 25 I SR: 4 Select 14 2 0/1 CR: 1\ Auto LF# 15 4 I SR: 3 Error# 16 6 0/1 CR: 2 Init# 17 8 0/1 CR:3\ Select In# 18-25 10, 12, 14, 16 18, 20, 22, 24, 26 - - * I/O задает направление передачи (вход/выход) сигнала порта; 0/I обозначает выходные линии, состояние которых считывается при чтении из соответствующих портов вывода. ** Символом «\» отмечены инвертированные сигналы (1 в регистре соответствует низкому уровню линии). *** Вход Ack# соединен резистором (10 кОм) с питанием +5 В. Стандартный порт имеет три 8-битных регистра, расположенных по соседним адресам в пространстве ввода/вывода, начиная с базового адреса порта (BASE). Data Register (DR) — регистр данных, адрес= BASE. Данные, записанные в этот порт, выводятся на выходные линии интерфейса. Данные, считанные из этого регистра, в зависимости от схемотехники адаптера соответствуют либо ранее записанным данным, либо сигналам на тех же линиях. Status Register (SR) — регистр состояния, представляющий собой 5-битный порт ввода сигналов состояния принтера (биты SR.4-SR.7), адрес= BASE+1. Бит SR.7 инвертируется — низкому уровню сигнала соответствует единичному значению бита в регистре, и наоборот. Control Register (CR) — регистр управления, адрес=ВА5Е+2. Как и регистр данных, этот 4-битный порт вывода допускает запись и чтение (биты 0-3), но его выходной буфер обычно имеет тип открытый коллектор. Это позволяет более корректно использовать линии данного регистра как входные при программировании их в высокий уровень. Биты О, 1, 3 инвертируются — единичному значению в регистре соответствует низкий уровень сигнала, и наоборот. Запрос аппаратного прерывания (обычно IRQ7 или IRQ5) вырабатывается по отрицательному перепаду сигнала на выводе 10 разъема интерфейса (АСК#) при установке CR.4=1. Прерывание вырабатывается, когда принтер подтверждает прием предыдущего байта. Процедура вывода байта по интерфейсу Centronics через стандартный порт включает следующие шаги (в скобках приведено требуемое количество шинных операций процессора): Вывод байта в регистр данных (1 цикл IOWR#). Ввод из регистра состояния и проверка готовности устройства (бит SR.7 — сигнал BUSY). По получении готовности выводом в регистр управления устанавливается строб данных, а следующим выводом строб снимается (2 цикла IOWRff). Стандартный порт сильно асимметричен — при наличии 12 линий (и бит), нормально работающих на вывод, на ввод работает только 5 линий состояния. Если необходима симметричная двунаправленная связь, на всех стандартных портах работоспособен режим полубайтного обмена — Nibble Mode. В этом режиме, называемом также и Hewlett Packard Bitronics, одновременно передаются 4 бита данных, пятая линия используется для квитирования. Функции BIOS для LPT-порта BIOS обеспечивает поддержку LPT-порта, необходимую для организации вывода по интерфейсу Centronics. В процессе начального тестирования POST BIOS проверяет наличие параллельных портов по адресам ЗВСЬ, 378h и 278h и помещает базовые адреса обнаруженных портов в ячейки BIOS DATA AREA 0:0408h, 040Ah, 040СП, 040ЕП. Эти ячейки хранят адреса портов с логическими именами LPT1-LPT4. В ячейки 0:0478, 0479, 047А, 047В заносятся константы, задающие выдержку тайм-аута для этих портов. Поиск портов обычно ведется по базовому адресу. Если считанный байт совпал с записанным, считается, что найден LPT-порт, и его адрес помещают в ячейку BIOS DATA AREA. Адрес порта LPT4 BIOS самостоятельно установить не может, поскольку в списке стандартных адресов поиска имеются только три вышеуказанных. Обнаруженные порты инициализируются — записью в регистр управления формируется и снимается сигнал Initff, после чего записывается значение 00h, соответствующее исходному состоянию сигналов интерфейса. Программное прерывание BIOS I NT 17h обеспечивает следующие функции поддержки LPT-порта: 00h — вывод символа из регистра AL по протоколу Centronics. Данные помещаются в выходной регистр и после готовности принтера формируется строб. 01h — инициализаия интерфейса и принтера. 02h — опрос состояния принтера. При вызове INT 17h номер функции задается в регистре АН, номер порта — в регистре DX (0 — LPT1, 1 — LPT2...). При возврате после любой функции регистр АН содержит код состояния — биты регистра состояния SR[7:3] (биты 6 и 3 инвертированы) и флаг тайм-аута в бите 0. Флаг тайм-аута устанавливается при неудачной попытке вывода символа. Расширения параллельного порта Недостатки стандартного порта частично устраняют новые типы портов, появившихся в компьютерах семейства PS/2. Двунаправленный порт 1 (Typel parallel port) — интерфейс, введенный с PS/2. Такой порт кроме стандартного режима может работать в режиме ввода или двунаправленном. Протокол обмена формируется программно, а для указания направления передачи в регистр управления порта введен специальный бит: при CR.5=0 буфер данных работает на вывод, при CR.5=1 — на ввод. Порт с прямым доступом к памяти (Type 3 DMA parallel port) применялся в PS/2 моделей 57, 90, 95. Этот тип был введен для повышения пропускной способности и разгрузки процессора при выводе на принтер. Программе, работающей с данным портом, требовалось только задать блок данных в памяти, подлежащих выводу, и вывод по протоколу Centronics производился без участия процессора. Физический и электрический интерфейс Стандарт IEEE 1284 определяет физические характеристики приемников и передатчиков сигналов. К передатчикам предъявляются следующие требования: Уровни сигналов без нагрузки не должны выходить за пределы -0,5... +5,5 В. Уровни сигналов при токе нагрузки 14 мА должны быть не ниже +2,4 В для высокого уровня (voh) и не выше +0,4 В для низкого уровня (vol) на постоянном токе. Выходной импеданс ro, измеренный на разъеме, должен составлять 50(±)5 Ом на уровне voh-vol. Для обеспечения заданного импеданса в некоторых случаях используют последовательные резисторы в выходных цепях передатчика. Согласование импеданса передатчика и кабеля снижает уровень импульсных помех. Скорость нарастания (спада) импульса должна находиться в пределах 0,05-0,4 В/нс. Режимы передачи данных Стандарт IEEE 1284 определяет пять режимов обмена, один из которых полностью соответствует традиционному стандартному программно-управляемому выводу по протоколу Centronics. Остальные режимы используются для расширения функциональных возможностей и повышения производительности интерфейса. Стандарт определяет способ согласования режима, по которому программное обеспечение может определить режим, доступный и хосту (в нашем случае это PC), и периферийному устройству. Режимы нестандартных портов, реализующих протокол обмена Centronics аппаратно («Fast Centronics, «Parallel Port FIFO Mode»), могут и не являться режимами IEE1284, несмотря на наличие в них черт ЕРР и ЕСР. При описании режимов обмена фигурируют следующие понятия: Хост — компьютер, обладающий параллельным портом. ПУ — периферийное устройство, подключаемое к этому порту (им может оказаться и другой компьютер). В обозначениях сигналов Ptr обозначает передающее периферийное устройство. Прямой канал — канал вывода данных от хоста в ПУ. Обратный канал канал ввода данных в хост из ПУ. Полубайтный режим ввода — Nibble Mode Режим полубайтного обмена является наиболее общим решением задачи двунаправленного обмена данными, поскольку может работать на всех стандартных (традиционных) портах. Все эти порты имеют 5 линий ввода состояния, используя которые периферийное устройство может посылать в PC байт тетрадами (nibble — полубайт, 4 бита) за два приема. Назначение сигналов порта приведено в табл 4. Таблица 4. Сигналы LPT-порта в полубайтном режиме ввода Контакт Сигнал SPP I/O Использование сигнала при приеме данных в Nibble Mode 14 AUTOFEED# HostBusy — сигнал квитирования. Низкий уровень означает готов­ность к приему тетрады, высокий подтверждает прием тетрады 17 SELECTIN» Высокий уровень указывает на обмен в режиме IEEE 1284 (в режиме SPP уровень низкий) 10 АСК# ' PtrClk. Низкий уровень означает действительность тетрады, переход в высокий — ответ на сигнал HostBusy 11 BUSY I Прием бита данных 3, затем бита 7 12 РЕ I Прием бита данных 2, затем бита 6 13 SELECT I Прием бита данных 1, затем бита 5 15 ERRORS I Прием бита данных 0, затем бита 4 Прием байта данных в полубайтном режиме состоит из следующих фаз: 1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy. 2. ПУ в ответ помещает тетраду на входные линии состояния. 3. ПУ сигнализирует о действительности тетрады установкой низкого уровня на линии PtrClk. 4. Хост устанавливает высокий уровень на линии HostBusy, указывая на заня­тость приемом и обработкой тетрады. 5. ПУ отвечает установкой высокого уровня на линии PtrCLk. 6. Шаги 1-5 повторяются для второй тетрады. Полубайтный режим работает на всех портах со скоростью обмена не выше 50 Кбайт/с. Его применяют в тех случаях, когда прием данных от устройства производится в небольших объемах (например, для связи с принтерами). Двунаправленный байтный режим Byte Mode Данный режим обеспечивает прием данных с использованием двунаправленного порта, у которого выходной буфер данных может отключаться установкой бита CR.5=1. Как и в стандартном и в полубайтном режиме, данный режим является программно-управляемым — все сигналы квитирования анализируются и устанавливаются программным драйвером. Назначение сигналов порта приведено в табл. 5. Таблица 5.Сигналы LPT-порта в байтном режиме ввода/вывода Кон-такт Сигнал SPP Имя в Byte Mode I/O Описание 1 STROBES HostClk Импульс (низкого уровня) подтверждает прием байта в конце каждого цикла 14 AUTOFEED# HostBusy Сигнал квитирования. Низкий уровень означает готовность хоста принять байт, высокий уровень устанавливается по приему байта 17 SELECT-IN» 1284Active Высокий уровень указывает на обмен в режиме IEEE 1284. (В режиме SPP уровень низкий) 16 INIT# INIT# Не используется, установлен высокий уровень 10 АСКй Ptrtik Устанавливается в низкий уровень для индикации действительности данных на линиях DATA[7:0]. В низкий уровень устанавливается в ответ на сигнал HostBusy 11 BUSY PtrBusy I Состояние занятости прямого канала 12 РЕ AckDataReq* I Устанавливается ПУ для указания на наличие обратного канала передачи* 13 SELECT Xflag* I Флаг расширяемости* 15 ERRORS DataAvau#* I Устанавливается ПУ для указания на наличие обратного канала передачи* 2-9 DATA[7:0] DATA[7:0] I/0 Двунаправленный (прямой и обратный) канал данных Прием байта данных в байтном режиме состоит из следующих фаз: 1. Хост сигнализирует о готовности приема данных установкой низкого уровня на линии HostBusy. 2. ПУ в ответ помещает байт данных на линии DATA[7:0]. 3. ПУ сигнализирует о действительности байта установкой низкого уровня на линии PtrClk. 4. Хост устанавливает высокий уровень на линии HostBusy, указывая на занятость приемом и обработкой байта. 5. ПУ отвечает установкой высокого уровня на линии PtrClk. 6. Хост подтверждает прием байта импульсом HostClk. 7. Шаги 1-6 повторяются для каждого следующего байта. Побайтный режим позволяет поднять скорость обратного канала до скорости прямого канала в стандартном режиме. Однако работать он может только на двунаправленных портах, которые применяются в основном лишь на малораспространенных машинах PS/2. Режим ЕРР Протокол ЕРР (Enhanced Parallel Port — улучшенный параллельный порт) предназначен для повышения производительности обмена по параллельному порту. ЕРР был реализован в чипсете Intel 386SL (микросхема 82360) и используется как дополнительный протокол параллельного порта. Протокол ЕРР обеспечивает четыре типа циклов обмена: Цикл записи данных. Цикл чтения данных. Цикл записи адреса. Цикл чтения адреса. Адресные циклы могут быть использованы для передачи адресной, канальной и управляющей информации. Циклы обмена данными явно отличаются от адресных циклов применяемыми стробирующими сигналами. Назначение сигналов порта ЕРР и их связь с сигналами SPP приведены в табл. 6. Таблица 6.Сигналы LPT-порта в режиме ввода/вывода ЕРР Кон-такт Сигнал SPP Имя в ЕРР I/O Описание 1 STROBE» WRITE» Низкий уровень — признак цикла записи, высокий — чтения 14 AUTOFEEDff DATASTB# Строб данных. Низкий уровень устанавливается в циклах передачи данных 17 SELECTING ADDRSTB# Строб адреса. Низкий уровень устанавливается в адресных циклах 16 INIT# RESETS Сброс ПУ (низким уровнем) Контакт Сигнал SPP Имя в ЕРР I/O Описание 10 АСК# INTR# I Прерывание от ПУ 11 BUSY WAIT» I Сигнал квитирования. Низкий уровень разрешает начало цикла (установку строба в низкий уровень), переход в высокий — разрешает завершение цикла (снятие строба) 2-9 D[8:0] AD[8:0] I/O Двунаправленная шина адреса/данных 12 РЕ AckDataReq* I Используется по усмотрению разработчика периферии 13 SELECT Xflag* I Используется по усмотрению разработчика периферии 15 ERROR DataAvaiW* I Используется по усмотрению разработчика периферии ЕРР-порт имеет расширенный набор регистров (табл. 7), который занимает в пространстве ввода/вывода 5-8 смежных байт. Таблица 7.Регистры ЕРР-порта Имя регистра Смещение Режим R/W Описание SPP Data Port +0 SPP/EPP W Регистр данных стандартного порта SPP Status Port +1 SPP/EPP R Регистр состояния стандартного порта SPP Control Port +2 SPP/EPP W Регистр управления стандартного порта EPP Address Port +3 EPP R/W Регистр адреса ЕРР. Чтение или запись в него гене­рирует связанный цикл чтения или записи адреса ЕРР EPP Data Port +4 EPP R/W Регистр данных ЕРР. Чтение (запись) генерирует свя­занный цикл чтения (записи) данных ЕРР Not Defined +5...+7 EPP N/A В некоторых контроллерах могут использоваться для 16-32-битных операций ввода/вывода В отличие от программно-управляемых режимов, описанных выше, внешние сигналы ЕРР-порта (как информационные, так и сигналы квитирования) для каждого цикла обмена формируются аппаратно по одной операции записи или чтения в регистр порта. Главной отличительной чертой ЕРР является выполнение внешней передачи во время одного процессорного цикла ввода/вывода. Это позволяет достигать высоких скоростей обмена (0,5-2 Мбайт/с). Периферийное устройство, подключенное к параллельному порту ЕРР, может работать на уровне производительности устройства, подключаемого через слот ISA. Периферийное устройство может регулировать длительность всех фаз обмена с помощью всего лишь одного сигнала WAIT#. Протокол автоматически подстраивается и под длину кабеля — вносимые задержки только приведут к удлинению цикла. «ЗАВИСАНИЕ» процессора на шинном цикле обмена препятствует механизм тайм-аутов PC, который принудительно завершает любой цикл обмена, длящийся более 15 мкс. С программной точки зрения контроллер ЕРР-порта выглядит достаточно просто (см. табл.7). К трем регистрам стандартного порта, имеющим смещение 0, 1 и 2 относительно базового адреса порта, добавлены два регистра (ЕРР Address Port и ЕРР Data Port), чтение и запись в которые вызывает генерацию связанных внешних циклов. Назначение регистров стандартного порта сохранено, что обеспечивает совместимость ЕРР-порта с периферийными устройствами и программным обеспечением, рассчитанными на применение программно-управляемого обмена. Поскольку сигналы квитирования адаптером вырабатываются аппаратно, при записи в регистр управления CR биты 0, 1 и 3, соответствующие сигналам STROBES, AUTOFEEDS и SELECTING, должны иметь нулевые значения. В противном случае программное вмешательство может нарушить последовательность квитирования. Некоторые адаптеры имеют специальные средства защиты (ЕРР Protect), при включении которых программная модификация этих бит блокируется. Конфигурирование LPT-портов Управление параллельным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Оперативное переключение возможно только в пределах режимов, разрешенных при конфигурировании. Таким образом обеспечивается возможность согласования аппаратуры и программного обеспечения и блокирования ложных переключении, вызванных некорректными действиями программы. Способ и возможности конфигурирования LPT-портов зависят от его исполнения и местоположения. Порт, расположенный на плате расширения (обычно на мультикарте), устанавливаемой в слот ISA или ISA+VLB, обычно конфигурируется джамперами на самой плате. Порт, расположенный на системной плате, обычно конфигурируется через BIOS Setup. Конфигурированию подлежат следующие параметры: Базовый адрес, который может иметь значение 3BCh, 378h и 278h. При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические имена LPT1, LPT2, LPT3. Адрес 3BCh имеет адаптер порта, расположенный на плате MDA или HGC. Большинство портов по умолчанию конфигурируется на адрес 378h и может переключаться на 278h. Используемая линия запроса прерывания: для LPT1 обычно используется IRQ7, для LPT2 — IRQ5. Использование параллельных портов Наиболее распространенным применением LPT-порта является, естественно, подключение принтера. Практически все принтеры могут работать с портом в режиме SPP, но применение расширенных режимов дает дополнительные преимущества: Двунаправленный режим (Bi-Di) дает дополнительные возможности для сообщения состояния и параметров принтера. Скоростные режимы (Fast Centronics) существенно повышают производительность практически любого принтера (особенно лазерного), но могут потребовать более качественного кабеля. Режим ЕСР потенциально самый эффективный, и он имеет системную поддержку во всех вариантах Windows. Из распространенных семейств ЕСР поддерживают принтеры HP DeskJet моделей BXX, LaserJet начиная с 4-го, современные модели фирмы Lexmark требуют применения кабеля по частотным свойствам соответствующего IEEE 1284. Простейший вариант кабеля подключения принтера — 18-проводный кабель с неперевитыми проводами с успехом может использоваться для работы порта в режиме SPP. Идеальным вариантом являются кабели, в которых все сигнальные линии перевиты с общими проводами и заключены в общий экран — то, что требует IEEE 1248. Такие кабели гарантированно работают на скоростях до 2 Мбайт/с, и допускается их длина до 10 метров. Для связи двух компьютеров по параллельному интерфейсу применяются различные варианты кабелей, зависящие от режимов используемых портов. Самый простой способ (и самый медленный обмен) обеспечивает режим полубайтного обмена Nibble Mode, работающий на всех (исправных) портах. Для этого режима в кабеле достаточно иметь 10 сигнальных и один общий провод. Подключение сканера к LPT-порту эффективно, только если порт обеспечивает хотя бы двунаправленный режим (Bi-Di), поскольку в основном здесь используется ввод. Но лучше использовать порт ECP, если этот режим поддерживается сканером. Подключение внешних накопителей (lomega Zip Drive, CD-ROM), адаптеров ЛВС и других симметричных устройств ввода/вывода имеет общую специфику. Большинство таких устройств способно работать в любом из режимов порта, что обеспечивает их неограниченное применение на любых компьютерах. Неисправности и тестирование параллельных портов Тестирование параллельных портов целесообразно начинать с проверки их наличия в системе. Список адресов установленных портов обычно появляется в таблице заставки, выводимой BIOS на экран перед загрузкой ОС. Кроме этой таблицы, список можно посмотреть и с помощью тестовых программ или прямо в BIOS DATA AREA с помощью любого отладчика. Если BIOS обнаруживает меньше портов, чем установлено физически, скорее всего, каким-либо двум портам присвоен один адрес. Программное тестирование порта без диагностической заглушки (Loop Back) не покажет ошибок, поскольку при этом читаются данные выходных регистров, а они у всех конфликтующих (по отдельности исправных портов) совпадут. Именно такое тестирование и производит BIOS при проверке на наличие портов. Разбираться с такой ситуацией имеет смысл последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке. Если физически установлен только один порт и его не обнаруживает BIOS, то либо он отключен при конфигурировании, либо вышел из строя скорее всего из-за нарушений правил подключения. Тестирование портов с помощью диагностических программ позволяет проверить их выходные регистры, а при использовании специальных заглушек — и входные линии. Поскольку количество выходных линий порта (12) и входных (5) различно, то полная проверка порта с помощью пассивной заглушки принципиально невозможна. Разные программы тестирования требуют применения специально на них ориентированных заглушек (рис. 1), Рис. 1. Схема заглушки для тестирования LPT-порта программой Checkit Большинство неприятностей при работе с LPT-портами доставляют разъемы и кабели. Для проверки порта, кабеля и принтера можно воспользоваться специальными тестами из популярных диагностических программ (Checkit, PCCheck и т. п.), а можно вывести на принтер какой-либо символьный файл. Если вывод файла с точки зрения DOS проходит (копирование файла на устройство с именем LPTn или PRN проходит быстро и успешно), а принтер (исправный) не напечатал ни одного символа — скорее всего, это обрыв (неконтакт в разъеме) цепи STROBES. Если принтер по своему индикатору находится в состоянии On Line, a появляется сообщение о его неготовности (Not Ready Error), то причину следует искать в линии Busy. Если принтер искажает информацию при печати, возможен обрыв (или замыкание) линий данных. В этом случае удобно воспользоваться файлом, содержащим последовательность кодов всех печатных символов (его можно создать с помощью простой программы, написанной даже на языке Basic, — ее текст приведен ниже). 10 OPEN "bincod.chr" FOR OUTPUT AS #1 20 FORJ=2T015 30 FOR 1=0 ТО 15 40 PRINT#1, CHR$(16*J+I); 50 NEXT I 60 PRINT#1, 70 NEXTJ 80 CLOSE #1 90 END Файл BINCOD.CHR, созданный данной программой, представляет собой таблицу всех печатных символов (управляющие коды пропущены), расположенных по 16 символов в строке. Если файл печатается с повтором некоторых символов или их групп, по периодичности повтора можно легко вычислить оборванный провод данных интерфейса. Этот же файл удобно использовать для проверки аппаратной руссификации принтера. Если принтер, подключенный к порту, в стандартном режиме (SPP) печатает нормально, а при переходе на ЕСР начинаются сбои, следует проверить кабель — соответствует ли он требованиям IEEE 1284. Кабели с неперевитыми проводами нормально работают на скоростях 50-100 Кбайт/с, но при скорости 1-2 Мбайт/с, обеспечиваемой ЕСР, они могут не работать, особенно при длине более 2 метров. Если при установке драйвера РпР-принтера появилось сообщение о необходимости применения «двунаправленного кабеля», проверьте наличие связи контакта 17 разъема DB-25 с контактом 36 разъема Centronics. Аппаратные прерывания от LPT-порта используются далеко не всегда. Неисправности, связанные с цепью прерывания от порта, проявляются не часто. Однако по-настоящему многозадачные ОС (например, сервер NetWare) стараются работать с портом именно по прерываниям. Тестировать линию прерывания можно, только подключив к порту периферийное устройство или специальную заглушку. Лекция 13. Программируемые таймеры и счетчики событий. Довольно часто требуется устройство формирования временных интервалов для процессора и внешних устройств, подсчета внешних событий и ввода показаний в процессор, а также генерирования внешней синхронизации, которую может программировать процессор. Такое устройство называется программируемым интервальным таймером/счетчиком событий. Некоторыми областями применение такого устройства являются: прерывание операционной системы с разделением времени через равномерные интервалы, чтобы она осуществляла переключение программ; вывод точных временных сигналов с программируемыми периодами в устройство ввода-вывода (например, в аналого-цифровой преобразователь); программируемая генерация скорости передачи в бодах; измерение временной задержки между внешними событиями; подсчет числа появлений событий во внешнем эксперименте и ввод показания в компьютер; Рис. 9.25. Типичный интервальный таймер/счетчик событий прерывание процессора после появления запрограммированного числа внешних событий. Типичная организация интервального таймера/счетчика событий показана на рис. 9.25. Слева находятся четыре доступных компьютеру регистра: два верхних являются выходними портами, а два нижних - входными. Сам счетчик прямо процессору не доступен, но может инициализироваться из регистра начального счета и считывается посредством передачи его содержимого в выходной регистр счетчика. Счетчик запускается с начального значения и отсчитывает до 0. Вход CLK определяет скорость счета, сигнал GATE разрешает и запрещает вход CLK и, возможно, выполняет другие функции, а выход OUT-становится активным при достижении счетчиком 0 или, возможно, при подаче сиг-нала АТЕ. Выход OUT подключается к линии запроса прерывания в системной шине, поэтому прерывание возникает при достижении счетчиком 0; его же можно подключить к устройству ввода-вывода для инициирования необходимых действий. Устройство вводит значение в регистр начального счета, передает его в счетчик и выполняет счет "назад" (т. е. вычитание) импульсами со входа CLK. Текущее содержимое счетчика в любой момент можно ввести в процессор, не нарушая работы счетчика, посредством передачи его в выходной регистр счетчика с последующим считыванием из этого регистра. При буферировании содержимого счетчика не требуется вводить его в процессор немедленно. Индикация нуля в счетчике обычно фиксируется на выходе OUT и в одном бите регистра состояния. Поэтому для обнаружения нуля допускается применять Программный ввод-вывод и ввод-вывод по прерываниям. Регистр управления определяет режим работы и выполняет другие функции. Режим точно определяет, что происходит при достижении счетчиком 0 и (или) при подаче сигнала на вход GATE. Возможными действиями являются: вход GATE применяется для разрешения и запрещения входа CLK; вход GATE вызывает реинициализацию счетчика; [ i. вход GATE прекращает счет и формирует высокий уровень на выходе OUT; - при достижении 0 счетчик выдает сигнал OUT и останавливается; при достижении 0 счетчик выдает сигнал OUT и автоматически реинициализируется из регистра начального счета. Режимы могут также определяться комбинациями перечисленных возможностей. Рассмотрим, например, применение интервального таймера в операционной системе разделением времени. В этом случае на вход CLK подаются сигналы синхронизации, ) выход OUT подключается к линии запроса прерывания, возможно, немаскируемой прерывания. Вход GATE здесь не требуется. При включении системы в регистр начального счета загружается значение начальный счет == частота синхронизации Х Т, где Т - продолжительность каждого временного кванта в секундах. Задается такой режим, что при достижении счетчиком 0 содержимое регистра начального счета вновь загружается в счетчик, а выход OUT становится активным. Поскольку сигнал OUT используется как запрос прерывания, процедура прерывания для переключения программ будет выполняться с интервалом Т секунд. 9.3.1 Программируемый интервальный таймер На рис. 9.26 представлена схема интервального таймера/счетчика событий 8254 фирмы Intel. В нем имеются три одинаковые счетные схемы со своими входами CLK и GATE и выходом OUT. Каждая схема имеет регистр управления и состояния, регистр счетчика (CR) для приема начального счета, счетного элемента (СЕ) , который выполняет счет, но непосредственно процессору недоступен, и выходного регистра-защелки (OL) для фиксации содержимого СЕ, так что его может считать процессор. Полагается, что CR, СЕ и OL представляют собой пары 8-битных регистров. (Реальные схемы несколько отличаются от приведенных, но для программиста рисунок абсолютно точен.) Обращения к регистрам производятся в соответствии с табл. 9.3. Таблица 9.3 Обращения к регистрам таймера/счетчика 8254 CS RD WR A1 A0 Передача 1 В счетчик 0 CR 1 1 В счетчик 1 CR 1 1 В счетчик 2 CR 1 1 1 В регистр управления или показывает приказ 1 Из счетчика 0 OL или регистра состояния 1 1 Из счетчика 1 OL или регистра состояния 1 1 Из счетчика 2 OL или регистра состояния Все остальные комбинации приводят к тому, что линии данных переводятся в высокоимпедансное состояние. Когда А1 = АО = 1, выполнение записи в регистр управления или выдачи приказа зависит от старшего бита выводимого байта. В последних трех комбинациях считывание OL или регистра состояния определяет предыдущий приказ. Имеются два вида приказов. Приказ фиксации счетчика заставляет соответствующий OL зафиксировать содержимое СЕ счетчика, определяемого двумя старшими битами приказа. Приказ обратного считывания фиксирует комбинацию СЕ или "готовит" комбинацию регистров состояния для считывания. Подготовка регистра состояния означает Рис. 9.26. Схема таймера/счетчика 8254 его считывание, когда в следующей операции считывания осуществляется ввод из счетчика. Состояния 00, 01 и 10 двух старших бит показывают приказ фиксации счетчика, а состояние 11 - приказ обратного считывания. В приказе фиксации биты 5 и 4 должны быть нулевыми, а остальные биты не используются. Приказ обратного считывания имеет следующий формат: Если бит COUNT = 0, фиксируются СЕ всех счетчиков, биты CNT которых содержат 1. если, например, CNTO = CNT2 = 1 и CNT1 = 0, то СЕ в счетчиках 0 и 2 фиксируются, "»в счетчике 1 не фиксируется. Аналогично STAT = 0 вызывает подготовку регистров Рис 9 27 Регистры управления и состояния счетчиков состояний счетчиков для ввода. Действия по фиксации и подготовке допускается указывать в одном приказе. Форматы регистров управления и состояния показаны на рис. 9.27. Если два старших бита равны 1, они задают приказ обратного считывания; в противном случае они опреде­ляют счетчик. Если указан счетчик и биты 5-4 содержат нули, то имеет место приказ фиксации, который направляется в регистр управления выбираемого старшими битами счетчика. Когда же комбинация в битах 5-4 отличается от 00, она указывает тип ввода из OL или вывода в CR. Комбинация 01 идентифицирует операции считывания/записи из (в) OL^/CR, комбинация 10 - из (в) OLix/CRv» и комбинация 11 - выполнение операций парами (первый байт из (в) OLi /CRi и второй из (в) OLn/CR^i) Запись одного байта в CR вызывает сброс другого байта Биты 1, 2 и 3 определяют режим, а бит 0 определяет формат счета. Таймер/счетчик имеет следующие режимы работы (через N обозначен начальный счет) Режим 0 (прерывания по концу счета) . Сигнал GATE = 1 разрешает счет, a GATE = О запрещает счет, причем GATE не влияет на выход OUT. Содержимое CR передается в СЕ по первому импульсу CLK после того, как процессор осуществил запись в CR, независимо от сигнала на входе GATE Импульс, который загружает СЕ, не учитывается при сче­те На выходе OUT формируется низкий уровень при записи в регистр управления, который сохраняется до достижения счетчиком 0. Режим 0 предназначен в основном для счета событий. Режим 1 (аппаратно перезапускаемый одновибратор). После загрузки значения N в CR переход 0 -* 1 на входе GATE вызывает загрузку СЕ, переход 1 -»0 на выходе OUT и запускает счет. Когда счетчик достигает 0, на выходе OUT формируется высокий уровень; таким образом, результатом является отрицательный импульс на выходе OUT с продолжительностью N периодов синхронизации Режим 2 (гчрч' v-и^й nil ерьиышй таймер) После загрузки значения N в CR следующий импульс синхронизации осуществляет передачу из CR в СЕ. На выходе OUT возникает переход 1 -^ 0. когда счетчик достигает 0 низкий уровень сохраняется в течение одною импульса CJ-K Згпсм на выходе OUT. появляется высокий уровень, производится повторная загрузка СЕ из CR, в результате на выходе 01Л появляется отрицательный импульс через N тактов синхронизации Сигнал GAU --- 1 разрешает счет, а GATi U запрещаег Переход 0 " 1 на входе GAJ 1 вызывает реинициализацию счета следующим импульсом синхронизации. Данный pt-л.л vi применяется для реализации периодического интервального таймера Режим 3 (генератор прямоугольного сигнала). Аналогичен режиму 2, но на выходе От формируется низкий уровень при достижении половины начального счета; этот уровень сохраняется до достижения счетчиком 0. Как и прежде, сигнал GATE разрешает и запрещает счет, а его переход 0 -* 1 реинициализирует счет Этот режим применяется в генераторах, определяющих скорость передачи в бодах. Режим 4 (программно-запускаемый строб) . Аналогичен режиму 0, но на выходе OUT в процессе счета действую высокий уровень, а при достижении счетчиком 0 появляется отрицательный импульс с продолжительностью в один такт синхронизации Режим 5 (аппаратно-запускаемый строб с перезапуском) После загрузки CR переход 0 ^ 1 на входе GATF вызывает передачу из CR в СЕ следующим импульсом CLK. В процессе счета на выходе OUT действует высокий уровень, а при достижении счетчиком 0 формируется отрицательный импульс с продолжительностью в один период CLK Сигнал GATE может в любой момент времени реинициализировать счет. Начальное значение счета 0 во всех режимах интерпретируется как 216 или Ю4 в зависимости от формата счета. Мы привели общие принципы работы микросхемы 8254, а подробное описание содержится в фирменных материалах. Лекция 14. Универсальная последовательная шина USB. Толковый словарь по вычислительным системам определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств. Мы же поговорим о интерфейсах, позволяющих подключать к персональным (и не только) компьютерам разнообразные периферийные устройства и их контроллеры. По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллельно идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном же интерфейсе биты передаются друг за другом, обычно по одной линии. СОМ порты PC обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C. При рассмотрении интерфейсов важным параметром является пропускная способность. В архитектуре современных компьютеров все большее значение приобретают внешние шины, служащие для подключения различных устройств. Сегодня это могут быть, например, внешние жесткие диски, CD-, DVD-устройства, сканеры, принтеры, цифровые камеры и прочее. Широко используемый последовательный интерфейс синхронной и асинхронной передачи данных. 2.Шина USB.Общая характеристика. USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Версия 1.0 была опубликована в январе 1996 года. Архитектура USB определяется следующими критериями: • Легко реализуемое расширение периферии PC. • Дешевое решение, поддерживающее скорость передачи до 12 Mбит/с. • Полная поддержка в реальном времени передачи аудио и (сжатых) видеоданных. • Гибкость протокола смешанной передачи изохронных данных и асинхронных сообщений. • Интеграция с выпускаемыми устройствами. • Доступность в PC всех конфигураций и размеров. • Обеспечение стандартного интерфейса, способного быстро завоевать рынок. • Создание новых классов устройств, расширяющих PC. • С точки зрения конечного пользователя, привлекательны следующие черты USB: • Простота кабельной системы и подключений. • Скрытие подробностей электрического подключения от конечного пользователя. • Самоидентифицирующиеся ПУ, автоматическая связь устройств с драйверами и конфигурирование. • Возможность динамического подключения и конфигурирования ПУ. С середины 1996 года выпускаются PC со встроенным контроллером USB, реализуемым чипсетом. Уже появились модемы, клавиатуры, сканеры, динамики и другие устройства ввода/вывода с поддержкой USB, а также мониторов с USB-адаптерами - они играют роль концентраторов для подключения других устройств. Структура USB USB обеспечивает одновременный обмен данными между хост-компьютером и множеством периферийных устройств (ПУ). Распределение пропускной способности шины между ПУ планируется хостом и реализуется им с помощью посылки маркеров. Шина позволяет подключать, конфигурировать, использовать и отключать устройства во время работы хоста и самих устройств. Ниже приводится авторский вариант перевода терминов из спецификации "Universal Serial Bus Specification", опубликованной Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom. Более подробную и оперативную информацию можно найти по адресу: Устройства (Device) USB могут являться хабами, функциями или их комбинацией. Хаб (Hub) обеспечивает дополнительные точки подключения устройств к шине. Функции (Function) USB предоставляют системе дополнительные возможности, например подключение к ISDN, цифровой джойстик, акустические колонки с цифровым интерфейсом и т. п. Устройство USB должно иметь интерфейс USB, обеспечивающий полную поддержку протокола USB, выполнение стандартных операций (конфигурирование и сброс) и предоставление информации, описывающей устройство. Многие устройства, подключаемые к USB, имеют в своем составе и хаб, и функции. Работой всей системы USB управляет хост-контроллер (Host Controller), являющийся программно-аппаратной подсистемой хост-компьютера. Физическое соединение устройств осуществляется по топологии многоярусной звезды. Центром каждой звезды является хаб, каждый кабельный сегмент соединяет две точки - хаб с другим хабом или с функцией. В системе имеется один (и только один) хост-контроллер, расположенный в вершине пирамиды устройств и хабов. Хост-контроллер интегрируется с корневым хабом (Root Hub), обеспечивающим одну или несколько точек подключения - портов. Контроллер USB, входящий в состав чипсетов, обычно имеет встроенный двухпортовый хаб. Логически устройство, подключенное к любому хабу USB и сконфигурированное (см. ниже), может рассматриваться как непосредственно подключенное к хост-контроллеру. Функции представляют собой устройства, способные передавать или принимать данные или управляющую информацию по шине. Типично функции представляют собой отдельные ПУ с кабелем, подключаемым к порту хаба. Физически в одном корпусе может быть несколько функций со встроенным хабом, обеспечивающим их подключение к одному порту. Эти комбинированные устройства для хоста являются хабами с постоянно подключенными устройствами-функциями. Каждая функция предоставляет конфигурационную информацию, описывающую возможности ПУ и требования к ресурсам. Перед использованием функция должна быть сконфигурирована хостом - ей должна быть выделена полоса в канале и выбраны опции конфигурации. Примерами функций являются: • Указатели - мышь, планшет, световое перо. • Устройства ввода - клавиатура или сканер. • Устройство вывода - принтер, звуковые колонки (цифровые). • Телефонный адаптер ISDN. Хаб - ключевой элемент системы РпР в архитектуре USB. Хаб является кабельным концентратором. Точки подключения называются портами хаба. Каждый хаб преобразует одну точку подключения в их множество. Архитектура допускает соединение нескольких хабов. У каждого хаба имеется один восходящий порт (Upstream Port), предназначенный для подключения к хосту или хабу верхнего уровня. Остальные порты являются нисходящими (Downstream Ports), предназначенными для подключения функций или хабов нижнего уровня. Хаб может распознать подключение устройств к портам или отключение от них и управлять подачей питания на их сегменты. Каждый из портов может быть разрешен или запрещен и сконфигурирован на полную или ограниченную скорость обмена. Хаб обеспечивает изоляцию сегментов с низкой скоростью от высокоскоростных. Хабы могут управлять подачей питания на нисходящие порты; предусматривается установка ограничения на ток, потребляемый каждым портом. Система USB разделяется на три уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную часть, часть устройства и функциональную часть. Хост тоже делится на три части - интерфейсную, системную и ПО устройства. Каждая часть отвечает только за определенный круг задач, логическое и реальное взаимодействие между ними иллюстрирует рис. 7.1. В рассматриваемую структуру входят следующие элементы: • Физическое устройство USB - устройство на шине, выполняющее функции, интересующие конечного пользователя. • Client SW - ПО, соответствующее конкретному устройству, исполняемое на хост-компьютере. Может являться составной частью ОС или специальным продуктом. • USB System SW - системная поддержка USB, независимая от конкретных устройств и клиентского ПО. • USB Host Controller - аппаратные и программные средства для подключения устройств USB к хост-компьютеру. 3.Физический интерфейс Стандарт USB определяет электрические и механические спецификации шины. Информационные сигналы и питающее напряжение 5 В передаются по четырехпроводному кабелю. Используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Уровни сигналов передатчиков в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень). Приемники выдерживают входное напряжение в пределах - 0,5...+3,8 В. Передатчики должны уметь переходить в высокоимпедансное состояние для двунаправленной полудуплексной передачи по одной паре проводов. Передача по двум проводам в USB не ограничивается дифференциальными сигналами. Кроме дифференциального приемника каждое устройство имеет линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально. Это позволяет различать более двух состояний линии, используемых для организации аппаратного интерфейса. Состояния Diff0 и Diff1 определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания VSE. Состояние, при котором на обоих входах D+ и D- присутствует низкий уровень, называется линейным нулем (SEO - Single-Ended Zero). Интерфейс определяет следующие состояния: • Data J State и Data К State - состояния передаваемого бита (или просто J и К), определяются через состояния Diff0 и Diff1. • Idle State - пауза на шине. • Resume State - сигнал "пробуждения" для вывода устройства из "спящего" режима. • Start of Packet (SOP) - начало пакета (переход из Idle State в К). • End of Packet (EOP) - конец пакета. • Disconnect - устройство отключено от порта. • Connect - устройство подключено к порту. • Reset - сброс устройства. Состояния определяются сочетаниями дифференциальных и линейных сигналов; для полной и низкой скоростей состояния DiffO и Diff1 имеют противоположное назначение. В декодировании состояний Disconnect, Connect и Reset учитывается время нахождения линий (более 2,5 мс) в определенных состояниях. Шина имеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит/с, низкая - 1,5 Мбит/с. Для полной скорости используется экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м, для низкой - невитой неэкранированньгй кабель до 3 м. Низкоскоростные кабели и устройства дешевле высокоскоростных. Одна и та же система может одновременно использовать оба режима; переключение для устройств осуществляется прозрачно. Низкая скорость предназначена для работы с небольшим количеством ПУ, не требующих высокой скорости. Скорость, используемая устройством, подключенным к конкретному порту, определяется хабом по уровням сигналов на линиях D+ и D-, смещаемых нагрузочными резисторами R2 приемопередатчиков (см. рис. 7.2 и 7.3) Сигналы синхронизации кодируются вместе с данными по методу NRZI (Non Return to Zero Invert), его работу иллюстрирует рис. 7.4. Каждому пакету предшествует поле синхронизации SYNC, позволяющее приемнику настроиться на частоту передатчика. Кабель также имеет линии VBus и GND для передачи питающего напряжения 5 В к устройствам. Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сигнала и питающего напряжения. Стандарт определяет два типа разъемов (см. табл. 7.1 и рис. 7.5). Контакт Цепь Контакт Цепь 1 VBus 3 D+ 2 D- 4 GND Табл. 7.1 Разъемы типа "А" применяются для подключения к хабам (Upstream Connector). Вилки устанавливаются на кабелях, не отсоединяемых от устройств (например, клавиатура, мышь и т. п.). Гнезда устанавливаются на нисходящих портах (Downstream Port) хабов. Разъемы типа "В" (Downstream Connector) устанавливаются на устройствах, от которых соединительный кабель может отсоединяться (принтеры и сканеры). Ответная часть (вилка) устанавливается на соединительном кабеле, противоположный конец которого имеет вилку типа "А". Разъемы типов "А" и "В" различаются механически (рис. 7.5), что исключает недопустимые петлевые соединения портов хабов. Четырехконтактные разъемы имеют ключи, исключающие неправильное присоединение. Конструкция разъемов обеспечивает позднее соединение и раннее отсоединение сигнальных цепей по сравнению с питающими. Для распознавания разъема USB на корпусе устройства ставится стандартное символическое обозначение. Рис. 7.5. Гнезда USB: а - типа "А", б - типа "В", в - символическое обозначение Питание устройств USB возможно от кабеля (Bus-Powered Devices) или от собственного блока питания (Self-Powered Devices). Хост обеспечивает питанием непосредственно подключенные к нему ПУ. Каждый хаб, в свою очередь, обеспечивает питание устройств, подключенных к его нисходящим портам. При некоторых ограничениях топологии допускается применение хабов, питающихся от шины. На рис. 7.6 приведен пример схемы соединения устройств USB. Здесь клавиатура, перо и мышь могут питаться от шины. USB поддерживает как однонаправленные, так и двунаправленные режимы связи. Передача данных производится между ПО хоста и конечной точкой устройства. Устройство может иметь несколько конечных точек, связь с каждой из них (канал) устанавливается независимо. Архитектура USB допускает четыре базовых типа передачи данных: • Управляющие посылки (Control Transfers), используемые для конфигурирования во время подключения и в процессе работы для управления устройствами. Протокол обеспечивает гарантированную доставку данных. Длина поля данных управляющей посылки не превышает 64 байт на полной скорости и 8 байт на низкой. • Сплошные передачи (Bulk Data Transfers) сравнительно больших пакетов без жестких требований ко времени доставки. Передачи занимают всю свободную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет этих передач самый низкий, они могут приостанавливаться при большой загрузке шины. Допускаются только на полной скорости передачи. • Прерывания (Interrupt) - короткие (до 64 байт на полной скорости, до 8 байт на низкой) передачи типа вводимых символов или координат. Прерывания имеют спонтанный характер и должны обслуживаться не медленнее, чем того требует устройство. Предел времени обслуживания устанавливается в диапазоне 1-255 мс для полной скорости и 10-255 мс - для низкой. • Изохронные передачи (Isochronous Transfers) - непрерывные передачи в реальном времени, занимающие предварительно согласованную часть пропускной способности шины и имеющие заданную задержку доставки. В случае обнаружения ошибки изохронные данные передаются без повтора - недействительные пакеты игнорируются. Пример - цифровая передача голоса. Пропускная способность определяется требованиями к качеству передачи, а задержка доставки может быть критичной, например, при реализации телеконференций. Полоса пропускания шины делится между всеми установленными каналами. Выделенная полоса закрепляется за каналом, и если установление нового канала требует такой полосы, которая не вписывается в уже существующее распределение, запрос на выделение канала отвергается. Архитектура USВ предусматривает внутреннюю буферизацию всех устройств, причем чем большей полосы пропускания требует устройство, тем больше должен быть его буфер. USB должна обеспечивать обмен с такой скоростью, чтобы задержка данных в устройстве, вызванная буферизацией, не превышала нескольких миллисекунд. Изохронные передачи классифицируются по способу синхронизации конечных точек - источников или получателей данных - с системой: различают асинхронный, синхронный и адаптивный классы устройств, каждому из которых соответствует свой тип канала USB. Протокол Все обмены (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-аркер (Token Packet). Он описывает тип и направление передачи, адрес ус-тройства USB и номер конечной точки. В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и хостом. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных (определенный маркером) передает пакет данных (или уведомление об отсутствии данных, предназначенных для передачи). После успешного приема пакета приемник данных посылает пакет подтверждения (Handshake Packet). Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции (NAck) при недопустимой интенсивности передачи предохраняет буферы от переполнения сверху и снизу. Маркеры отвергнутых транзакций повторно передаются в свободное для шины время. Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных. Устойчивость к ошибкам обеспечивают следующие свойства USB: • Высокое качество сигналов, достигаемое благодаря дифференциальным приемникам/передатчикам и экранированным кабелям. • Защита полей управления и данных CRC-кодами. • Обнаружение подключения и отключения устройств и конфигурирование ресурсов на системном уровне. • Самовосстановление протокола с тайм-аутом при потере пакетов. • Управление потоком для обеспечения изохронности и управления аппаратными буферами. • Независимость функций от неудачных обменов с другими функциями. Для обнаружения ошибок передачи каждый пакет имеет контрольные поля CRC-кодов, позволяющие обнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживают ошибки передачи, а контроллер автоматически производит трехкратную попытку передачи. Если повторы безуспешны, сообщение об ошибке передается клиентскому ПО. Устройства USB - функции и хабы Возможности шины USB позволяют использовать ее для подключения разнообразных устройств. Не касаясь "полезных" свойств ПУ, остановимся на их интерфейсной части, связанной с шиной USB. Все устройства должны поддерживать набор общих операций, перечисленных ниже. Динамическое подключение и отключение. Эти события отслеживаются хабом, который сообщает о них хост-контроллеру и выполняет сброс подключенного устройства. Устройство после сигнала сброса должно отзываться на нулевой адрес, при этом оно не сконфигурировано и не приостановлено. После назначения адреса, за которое отвечает хост-контроллер, устройство должно отзываться только на свой уникальный адрес. Конфигурирование устройств, выполняемое хостом, является необходимым для их использования. Для конфигурирования обычно используется информация, считанная из самого устройства. Устройство может иметь множество интерфейсов, каждому из которых соответствует собственная конечная точка, представляющая хосту функцию устройства. Интерфейс в конфигурации может иметь альтернативные наборы характеристик; смена наборов поддерживается протоколом. Для поддержки адаптивных драйверов дескрипторы устройств и интерфейсов имеют поля класса, подкласса и протокола. Передача данных возможна посредством одного из четырех типов передач (см. выше). Для конечных точек, допускающих разные типы передач, после конфигурирования доступен только один из них. Управление энергопотреблением является весьма развитой функцией USB. Для устройств, питающихся от шины, мощность ограничена. Любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. Рабочий ток (не более 500 мА) заявляется в конфигурации, и если хаб не сможет обеспечить устройству заявленный ток, оно не конфигурируется и, следовательно, не может быть использовано. Устройство USB должно поддерживать приостановку (Suspended Mode), в котором его потребляемый ток не превышает 500 мкА. Устройство должно автоматически приостанавливаться при прекращении активности шины. Возможность удаленного пробуждения (Remote Wakeup) позволяет приостановленному устройству подать сигнал хосткомпьютеру, который тоже может находиться в приостановленном состоянии. Возможность удаленного пробуждения описывается в конфигурации устройства. При конфигурировании эта функция может быть запрещена. Хаб в USB выполняет коммутацию сигналов и выдачу питающего напряжения, а также отслеживает состояние подключенных к нему устройств, уведомляя хост об изменениях. Хаб состоит из двух частей - контроллера (Hub Controller) и повторителя (Hub Repeater). Повтори Повторитель представляет собой управляемый ключ, соединяющий выходной порт со входным. Он имеет средства поддержки сброса и приостановки передачи сигналов. Контроллер содержит регистры для взаимодействия с хостом. Доступ к регистрам осуществляется по специфическим командам обращения к хабу. Команды позволяют конфигурировать хаб, управлять нисходящими портами и наблюдать их состояние. Нисходящие (Downstream) порты хабов могут находиться в следующих состояниях: • Powered (питание отключено) - на порт не подается питание (возможно только для хабов, коммутирующих питание). Выходные буферы переводятся в высокоимпедансное состояние, входные сигналы игнорируются. • Disconnected (отсоединен) - порт не передает сигналы ни в одном направлении, но способен обнаружить подключение устройства (по отсутствию состояния SEO в течение 2,5 мкс). Тогда порт переходит в состояние Disabled, а по уровням входных сигналов {DiffO или Diff1 в состоянии Idle) он определяет скорость подключенного устройства. • Disabled (запрещен) - порт передает только сигнал сброса (по команде от контроллера), сигналы от порта (кроме обнаружения отключения) не воспринимаются. По обнаружении отключения (2,5 мкс состояния SEO) порт переходит в состояние Disconnect, а если отключение обнаружено "спящим" хабом, контроллеру будет послан сигнал Resume. • Enabled (разрешен) - порт передает сигналы в обоих направлениях. По команде контроллера или по обнаружении ошибки кадра порт переходит в состояние Disabled, а по обнаружении отключения - в состояние Disconnect. • Suspended (приостановлен) - порт передает сигнал перевода в состояние останова ("спящий" режим). Если хаб находится в активном состоянии, сигналы через порт не пропускаются ни в одном направлении. Однако "спящий" хаб воспринимает сигналы смены состояния незапрещенных портов, подавая "пробуждающие" сигналы от активизировавшегося устройства даже через цепочку "спящих" хабов. Состояние каждого порта идентифицируется контроллером хаба с помощью отдельных регистров. Имеется общий регистр, биты которого отражают факт изменения состояния каждого порта (фиксируемый во время EOF). Это позволяет хост-контроллеру быстро узнать состояние хаба, а в случае обнаружения изменений специальными транзакциями уточнить состояние. Хост-контроллер Хост-компьютер общается с устройствами через контроллер. Хост имеет следующие обязанности: • обнаружение подключения и отсоединения устройств USB; • манипулирование потоком управления между устройствами и хостом; • управление потоками данных; • сбор статистики; • обеспечение энергосбережения подключенными ПУ. • Системное ПО контроллера управляет взаимодействием между устройствами и их ПО, функционирующим на хост-компьютере, для согласования: • нумерации и конфигурации устройств; • изохронных передач данных; • асинхронных передач данных; • управления энергопотреблением; • информации об управлении устройствами и шиной. Лекция 15. Протокол работы USB-шины. Общие сведения об USB-шине У любого компьютера, выпущенного в последнее время, вы обязательно обнаружите либо на лицевой панели, либо на задней стенке разъем USB. Шина USB (Universal Serial Bus) первоначально была разработана для обеспечения легкого подключения компьютера к телефонным линиям и расширения числа портов. Первая версия стандарта (версия 1.0) была выпущена в январе 1996 года. Сейчас в основном используется версия 1.1. Стандарт USB 1.1 вполне удовлетворяет всем требованиям при работе с низко-скоростными устройствами, вроде мышей и клавиатур, и даже с устройствами, работающими на средних скоростях, вроде Ethernet-адаптеров (10 Mbit/sec) или устройств бытовой электроники (таких, как цифровые камеры и MP3-плейеры), которые пересылают только несколько мегабайт данных. Но если на периферийное устройство или в обратном направлении необходимо пересылать большие объемы информации (примеры - жесткие диски, видеокамеры высокого разрешения, или одновременное использование нескольких сетевых адаптеров стандарта 100BaseT), то скорости, обеспечиваемые USB 1.1, уже недостаточны. Поэтому в 1999 году была разработана версия 2.0 стандарта USB, обеспечивающая более высокие скорости обмена данными. Современные компьютеры обычно имеют контроллер USB-шины, установленный на материнской плате. Для USB версии 1.1 было разработано два типа таких контроллеров, отличающихся интерфейсом взаимодействия с USB-устройствами: OHCI (Open Host Controller Interface) фирмы Compaq и UHCI (Universal Host Controller Interface) фирмы Intel. Оба типа имеют примерно одинаковые возможности и USB-устройства работают с обоими типами контроллеров. Аппаратная часть UHCI-контроллеров проще, а значит, они дешевле, но зато требуют более сложных драйверов, что увеличивает нагрузку на процессор. Версия 2.0 стандарта USB использует улучшенный вариант интерфейса - EHCI (Enhanced Host Controller Interface). Стандарт USB предусматривает строгую иерархию устройств, управляемых основным хостом, и использование протокола master/slave для управления подключаемыми устройствами. На один USB-разъем могут быть последовательно подключены до 127 устройств. Но непосредственно подключать одно устройство к другому нельзя, поскольку питание таких устройств осуществляется по той же шине. Поэтому для подключения дополнительных устройств используются специальные хабы, обеспечивающие снабжение этих устройств необходимой энергией. В результате USB-устройства образуют как бы дерево, каждая не конечная вершина которого является хабом. Поскольку любой обмен данными инициируется только хостом, и периферийные устройства не могут начать взаимодействие, исключена возможность коллизий, вследствие чего снижается стоимость устройств. Правда, такое решение приводит к некоторому снижению производительности. В результате USB-устройства версии 1.1 могут работать в двух режимах: так называемом low speed, обеспечивающем скорость передачи данных до 1.5 Mбит/сек, и full speed, в котором скорость передачи данных может составлять 12 Мбит/сек. Это только теоретический предел, а реально производительность шины даже в идеальных условиях не превышает 8,5 Мбит/сек., а в среднем составляет около 2 Мбит/сек. Интерфейс EHCI, используемый в устройствах версии 2, обеспечивает режим работы high speed, для которого скорость передачи данных может достигать 480 Мбит/сек. Для того чтобы USB-устройства могли обмениваться данными с такой скоростью, и хост-контроллер и само устройство должны соответствовать стандарту USB 2.0 и обеспечивать работу с интерфейсом EHCI. Однако хост-контроллеры 2.0 успешно работают с устройствами версии 1.1. И наоборот, вполне можно подключать устройства USB 2.0 к хосту (и к хабам) версии USB 1.1 и они будут прекрасно работать, но со скоростью не более 12, а не 480 Мбит/сек. В настоящее время разработан широкий спектр устройств, подключаемых по шине USB. Это клавиатуры, мыши, джойстики, игровые приставки, сканеры, модемы, принтеры, цифровые камеры, устройства хранения информации – дисководы гибких и жестких дисков, дисководы Zip, LS120 и CD-ROM. Очень перспективный и интересный класс таких устройств образуют накопители на основе Flash-памяти [1]. Физическая среда Шина USB, обладает полосой пропускания 1,5 или 12 Мбит/с. USB-кабель состоит из 4 проводников: - два провода формируют витую пару, применяемую в дифференциальных передачах данных; - остальные два представляют собой линии питания и заземления устройств, не имеющих собственного питания 5 В постоянного напряжения. USB стандарт предполагает два вида кабеля и два варианта разъемов. High-speed (высокоскоростные) кабели, для связи 12Mb в секунду, лучше экранированы, чем их менее дорогие 1.5 Mb заменители. Каждый кабель имеет "А" разъем на одной стороне и "B" на другой. Рисунок 1 показывает как "А" разъемы подсоединяются к исходящему, а "В" к нисходящему. Таким образом два типа физически различны и невозможно подключить их неправильно. Рис 1. USB топологоия "подключение звездой" USB шина позволяет подключать до 127 устройств. Использование такого количества устройств возможно при многоуровневом каскадировании. Наглядно это объясняет следующий рисунок: Это первая архитектурная особенность шины USB: ее логическая топология - многоуровневая звезда. Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB контроллером. Если функции контроллера понятны, то концентратор - устройство для периферийных интерфейсов не привычное. В данном случае его функция такая же, что и концентраторов сетей передачи данных - добавление новых портов для подключения большего числа устройств. Ничего большего, чем просто разветвитель. К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы, для увеличения числа доступных портов. Допускается организация до пяти уровней. Концентратор может быть выполнен в виде отдельного устройства, либо быть встроенным в какое-то другое. С этой точки зрения устройства подключаемые к USB можно подразделить на функциональные устройства, т.е. те которые выполняют какую-то конкретную функцию и не берут на себя никаких дополнительных задач (например, мыши) устройства-концентраторы в чистом виде выполняющие только функцию разветвления, и совмещенные (комбинированные) устройства, т.е. имеющие в своем составе концентратор, расширяющие набор портов и позволяющие подключать другие устройства (в качестве наиболее часто встречающихся примеров можно назвать мониторы, позволяющие по USB осуществлять настройку параметров, и обычно имеющих еще несколько дополнительных портов, для подключения других устройств или клавиатуры, с разъемами для подключения мышей). Надо обратить внимание, на то, что на пятом уровне комбинированное устройство использоваться не может. Кроме того отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством. Физическая топология шины - звезда Это объясняется тем, что каждый концентратор обеспечивает прозрачно для хоста соединение с устройством. Отношения клиентского программного обеспечения и USB устройств: в отличие от привычных старых интерфейсов, где взаимодействие можно было (и нужно) осуществлять обращаясь к устройству по конкретным физическим адресам памяти и портам ввода вывода, USB предоставляет для взаимодействия программный интерфейс и только его, позволяя клиентскому ПО существовать в отрыве от конкретного подключенного к шине устройства и его конфигурации. Для клиентской программы USB - это лишь набор функций. Хост, как уже было сказано ранее, программно-аппаратный комплекс. В обязанности хоста входит: • Слежение за подключением и отключением устройств • Организация управляющих потоков между USB-устройством и хостом. • Организация потоков данных между USB-устройством и хостом • Контроль состояния устроств и ведение статистики активности • Снабжение подключенных устройств электропитанием Аппаратной частью является хост-контроллер - посредник между хостом и устройствами на шине. Программные функции (перечисление устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной) возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда. Концентратор (хаб). Позволяет множественные подключения к одному порту, создавая дополнительные порты. Каждый хаб имеет один восходящий порт, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или снова концентраторы, или конечные устройства, либо совмещенные устройства. Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель в USB несколько отличается от принятого в сетях передачи данных. Его обязанность - соединять входной и какой-то нужный из выходных портов. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а следовательно и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того что бы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки. Описание протоколов используемых при передаче данных Структура USB пакета В отличие от аналогичных последовательных интерфейсов, где формат посылаемых данных не имеет четко организованной структуры, для USB шины разграничены различные слои протоколов. Каждая USB транзакция состоит из следующих частей: • Признак пакета (Заголовок определяющий что далее будет следовать) • Пакет данных (Опционально) • Пакет статуса транзакции (Используется для подтверждения нормального завершения транзакции и обеспечения коррекции ошибок при передаче) Мастером на USB шине является хост. Он и является инициатором всех транзакций. Первым передаваемым пакетом является Признак (Token Packet). Он генерируется хостом для определения что будет следовать далее, какая это будет транзакция: чтение или запись, к какому устройству и конечной точке будет обращение. Следующим пакетом, как обычно, следует пакет данных (Data Packet). И в завершении транзакции следует пакет статуса (Status Packet), который либо подтверждает успешное принятие данных, либо указывает что конечная точка приостановлена (STALL) или не готова принимать данные. Поля USB пакета Данные по USB шине всегда передаются младшими битами вперед. USB пакет состоит из следующих полей: • Поле синхронизации (Sync Field) Все пакеты должны начинаться с поля синхронизации. Поле синхронизации имеет размер 8 бит для низкоскоростных и полноскоростных устройств или 32 бита для высокоскоростных устройств и используется для подсинхронизации тактового генератора, встроенного в USB контроллер. Последние два бита поля синхронизации являются маркером, который используется для идентификации конца области синхронизации и начала PID поля. • Поле идентификатора пакета (PID Field) Идентификатор пакета следует непосредственно после поля синхронизации в каждом передаваемом USB пакете. PID состоит из четырехбитного типа пакета, следующего за четырехбитным проверочным полем как показано на рисунке 4. (LSB)             (MSB) PID0 PID1 PID2 PID3 PID0 PID1 PID2 PID3 Рисунок 2. Формат поля PID. Контрольная область PID генерируется как инверсия четырехбитного типа пакета и необходима для устранения ложного декодирования следующих за этим полем данных. Ошибка PID детектируется в том случае, когда инвертированная контрольная область не совпадает с соответствующими битами идентификатора пакета. Любой PID полученный с ошибкой или неуказанный в нижеследующей таблице, должен быть проигнорирован получателем пакета. PID Тип Имя PID PID[3…0] Описание Признак (Token) Out 0001 Адрес + номер конечной точки для транзакции ХОСТ -->Функция   In 1001 Адрес + номер конечной точки для транзакции ХОCT <-- Функция   SOF 0101 Маркер начала пакета и его номер   SETUP 1101 Адрес + номер конечной точки для SETUP транзакции ХОСТ ® Функция в канале управления Данные DATA0 0011 Четный PID пакета данных   DATA1 1011 Нечетный PID пакета данных Статус ACK 0010 Приемник принял пакет данных без ошибок   NAK 1010 Принимающее устройство не может принять данные, или передающее не может их отправить   STALL 1110 Конечна точка приостановлена (HALT) или запрос по управляющему каналу не поддерживается Спец. PRE 1100 ХОСТ инициирует преамбулу, разрешая трафик для низкоскоростных устройств Рисунок 3. Типы PID. PID биты приведены в таблице в MSB порядке. Когда они передаются по шине, правый бит (бит 0) выдается первым. • Поле адреса устройства (Addr Field) Поле адреса используется для идентификации к какому устройству направлен текущий пакет. Размерность поля - 7 бит, что позволяет адресовать 127 уникальных USB устройств. После сброса или включения питания, адрес устройства устанавливается по умолчанию в 0 и должен быть запрограммирован хостом в ходе процесса энумерации. Адрес 0 (заданный по умолчанию) зарезервирован для вновь подключаемых устройств и не может быть назначен для нормальной работы. • Поле адреса конечной точки (Endpoint Field) Поле адреса конечной точки имеет размерность 4 бита и позволяет размещать в устройстве до 16 конечных точек. Все функции должны поддерживать одну управляющую '0' конечную точку. Низкоскоростные устройства поддерживают только три канала передачи: управляющий канал, связанный с нулевой конечной точкой и два дополнительных канала (две Interrupt конечные точки). Полноскоростные устройства поддерживают максимум до 16 конечных точек. • Поле номера кадра (Frame Number Field) Поле номера кадра представляет собой 11-битное поле, которое инкрементируется хостом при инициировании нового кадра. Поле номера кадра начинается заново с нуля при достижения максимального значения 0х7FF, и используется только для SOF маркеров в каждом начале кадра. • Поле циклического контроля по избыточности (CRC) Циклический контроль по избыточности (CRC) используются для защиты всех полей кроме PID в маркерах и пакетах данных. Защита Маркера и пакета данных обеспечивает 100% нахождение всех одиночных и двойных битовых ошибок. Для маркеров предусмотрено пяти-битное поле CRC, которое используется для защиты полей ADDR и ENDP пакетов IN, SETUP,OUT или поле отметки времени маркера SOF. Для пакета данных используется 16-битный полином, кодирующий всё поле данных пакета. • Поле конца пакета (EOP) Поле конца пакета представляет собой сигнал окончания пакета и устанавливается на шине путем выставления сигнала "Single Ended Zero " SE0 в течении двух битовых интервалов следующего за J состоянием, установленным на время одного битового интервала. Типы USB пакетов Для USB шины позиционируется четыре типа пакетов. Пакеты-маркеры обозначает какого типа транзакция начинается на шине, пакет данных включает в себя передаваемую структуру данных, пакеты статуса используются для информирования об успешно выполненной транзакции или ошибках произошедших при передаче, и пакеты начала кадра инициируются при генерации нового кадра на шине. • Маркерные пакеты (Token Packets) Существуют три типа маркерных пакетов: 1. In - информируют USB устройство, что хост хочет читать данные из устройства 2. Out - информирует USB устройство, что хост хочет передавать данные в устройство 3. Setup - используются для обозначения начала управляющего (Control Transfer) типа передачи данных Все маркерные пакеты имеют следующий формат: SYNC PID ADDR ENDP CRC5 EOP Рисунок 4. Маркерный пакет. • Пакеты данных (Token Packets) Существуют два типа пакетов данных, каждый из которых способен содержать до 1024 байтов данных. 1. DATA0 2. DATA1 У высокоскоростных устройств для пакетов данных определены два других PID-a: DATA2 и MDATA. Пакет данных имеет нижеследующий формат: SYNC PID DATA CRC16 EOP Рисунок 5. Пакет данных. - Максимальная полезная загрузка для низкоскоростных устройств составляет 8 байт. - Максимальная полезная загрузка для полноскоростных устройств составляет 1023 байта. - Максимальная полезная загрузка для высокоскоростных устройств составляет 1024 байт. - Данные всегда посылаются целым числом байт. Данные CRC16 вычисляются только для поля данных в пакете и не включают PID, который имеет собственное поле проверки. • Пакеты подтверждения (Handshake Packets) Существуют три типа пакетов подтверждения, структура которых имеет только PID поле: - ACK - подтверждение того, что пакет был успешно принят - NAK - информирует, что устройство в данный момент не может принимать либо отправлять данные. Также используется в Interrupt транзакциях для информирования хоста, что устройство не имеет новых данных для передачи. Хост никогда не может выдавать ответ NAK. NAK используется в целях управления потоком данных. - STALL - указывает, что устройство неспособно передавать или получать данные, и требуется вмешательство хоста для снятий состояния останова. Как только конечная точка устройства остановлена, устройство должно продолжить возвращать STALL, пока условие, вызвавшее останов не будет удалено с помощью вмешательства хоста. Хосту запрещено возвращать STALL. Пакет подтверждения имеет нижеследующий формат: SYNC PID EOP Рисунок 6. Пакет подтверждения. • Пакеты начала кадра (Start of Frame Packets) SOF пакет состоит из 11-ти битного номера кадра и генерируется хостом каждую 1ms ± 500ns для полноскоростной шины и каждые 125 µs ± 0.0625 µs для высокоскоростной шины. Пакет начала кадра имеет нижеследующий формат: SYNC PID Frame Number CRC16 EOP Рисунок 7. Пакет начала кадра. USB функция Когда мы думаем о USB устройстве то мы представляем периферийное оборудование, но USB устройство само по себе не означает наличие только приемо-передатчика. USB устройство на самом деле представляет собой совокупность функций или законченных устройств, объединенных в одном изделии. Итак теперь мы знаем из каких составных частей состоит USB пакет. К счастью, большинство USB контроллеров, весь физический протокол нижнего уровня поддерживают самостоятельно без вмешательства пользовательской программы. Вмешательство пользователя необходимо лишь тогда, когда на шине произошло одно из событий: прием или выдача пакета данных в/из FIFO, событие NAK или STALL, процесс энумерации или переход в режим пониженного энергопотребления. Большинство функций имеет буфера для приема/передачи данных. Обычно их размер составляет 8 байт. Каждый буфер закреплён за определеннной конечной точкой, например за EP0 Out и EP0 In. Например хост инициирует запрос дескриптора устройства. USB контроллер функции считывает Setup пакет и определяет по адресному полю был ли он направлен именно к ней. Если пакет был направлен именно по этому адресу, то USB контроллер считывает данные в соответствующий буфер (FIFO) указанный в поле конечной точки (Endpoint Field). После этого функция генерирует пакет подтверждения, в котором указывает статус принятия пакета и устанавливает сигнал прерывания для внешнего управляющего контроллера, указывающий, что произошло событие по приему данных в RXFIFO. Все эти действия происходят без внешнего вмешательства ПО пользователя, что разгружает микроконтроллер реализующий функцию управления. ПО микроконтроллера обрабатывает прерывание - считывает из RXFIFO запрос дескриптора и отвечает на него выдачей структуры соответствующей запрошенному дескриптору. [2] Конечные точки Конечные точки функции могут принимать или передавать данные. Конечные точки USB функции являются самым последним звеном в коммуникационном канале. Например, в программном слое, ваш драйвер устройства посылает пакет данных в конечную точку EP1 функции. Данные будут последовательно поступать в функцию и складываться USB контроллером в буфер RXFIFO1. Как только у управляющего микроконтроллера появиться свободное время он может считать из RXFIFO1 полученные данные. Если он хочет ответить пакетом данных, USB контроллер не может просто выставить их шину, т.к. мастером и инициатором запросов на шине является хост. Следовательно, управляющий микроконтроллер записывает пакет данных в IN конечную точку, например в EP1. Данные будут находится в буфере первой конечной точки TXFIFO1 до тех пор, пока хост не выставит на шину IN транзакцию к этой конечной точке. Конечные точки - это интерфейс связи между аппаратными средствами и микропрограммой работающей на функциональном устройстве. Все USB устройства должны поддерживать нулевую конечную точку (EP0). Она получает все управляющие и статус запросы во время процесса энумерации и всего цикла работы, пока устройство присоединено к USB шине. [2] Вообще конечная точка - это конец логического канала данных между хостом и устройством. В свою очередь канал - это логическое соединение между хостом и устройством. Так как конечных точек у устройства предусматривается несколько, то это означает, что обмен данными между хост-контроллером и устройством на шине может происходить по нескольким каналам, так называемый многоканальный режим. Полоса пропускания шины делиться между всеми установленными каналами. В распоряжение шина USB может предоставить каналы следующих типов: • Каналы сообщений. Являются двунаправленными каналами и служат, не трудно сообразить, для передачи сообщений, имеющих строго определенный в спецификации формат, необходимый для обеспечения надежной идентификации и передачи команд. Возникает канал при отсылке хостом запроса в устройства, и управляет передачей только хост. Каналы сообщений используется для передач только управляющего типа (что такое смотрим ниже). • Потоковые каналы. Являются однонаправленными. В отличие от четко определенных сообщений не имеют определенного закрепленного в стандарте формата, что означает возможность передачи данных любого вида. Эти передачи могут контролироваться не только хостом, но и устройством. Используется для передач данных типа прерывание, групповая пересылка, изохронная (смотрим ниже). В спецификации в зависимости от типа передаваемых данных, предъявляемых требований к скорости обработки, задержки доставки и т.п. определены следующие типы передач. • Управляющие передачи. Используются для конфигурирования устройств во время подключения и выполнения других специфических функций над устройством, включая организацию новых каналов. • Прерывания. Используются для спонтанных, но гарантированных передач с гарантированными скоростями и задержками. Используются обычно для передачи введенных данных от клавиатуры или сведений об изменении положения указателя мыши, в устройствах обратной связи, и.т.д • Групповая пересылка. Используется для гарантированной передачи данных больших объемов без предъявленных требований к скоростям и задержкам. Занимает под себя всю свободную пропускную способность шины. В любой момент доступная полоса может быть урезана при необходимости осуществления передач других видов с более высоким приоритетом, или добавлена, при освобождении другими устройствами. Обычно такие передачи используется между принтерами, сканерами, накопителями и др. • Изохронная передачи. Используются для потоковых передач данных в реальном времени. Резервируют определенную полосу пропускания шины, гарантируют определенные величины задержек доставки, но не гарантируют доставку (в случае обнаружения ошибки повторной передачи не происходит. Передачи этого вида используются для передачи аудио и видео трафика. Обмен данными может осуществляться в трех скоростных режимах: • Low Speed. Низкоскоростной режим. Скорость передачи составляет 1.5 Мбит/с. • Full Speed. Полноскоростной режим. Скорость передачи 12 Мбит/с. • High Speed. Высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480 Мбит/с. Устройства на шине USB делятся на ведущие и ведомые. Фактически, ведущих устройств на шине может быть только одно, и таковым является хост. Все передачи данных инициируются хостом в соответствии определенной временной программой. Функциональные устройства сами не могут инициировать передачу, а лишь отвечают на запросы хоста. Обмен данными возможен только между хостом и устройством, и не возможен на прямую между устройствами подключенными к шине (это означает, что в принципе в первую очередь USB - это шина вывода. Транзакции на USB шине состоят из двух-трех актов: посылки пакета маркера, определяющего, что будет следовать дальше (тип транзакции, адрес устройства и его конечную точку), пакета данных (опционально), и пакета статуса транзакции (для подтверждения нормального выполнения операции или сообщения об ошибке). [3] Приоритеты передач по USB-шине Все операции по передаче данных инициируются хост-системой независимо от того, принимает ли она данные или пересылает в периферийное устройство. Все не выполненные операции хранятся в виде четырех списков по типам передач: - изохронные передачи; - передачи прерываний; - передачи управляющих команд; - передачи данных больших объемов. Списки постоянно обновляются новыми запросами. Планирование операций по передаче информации в соответствии с упорядоченными в виде списков запросами выполняется хостом с 1-миллисекундным интервалом. В начале каждого такого интервала хост посылает по шине пакет SOF (Start Of Frame - начало кадра), после чего начинается обслуживание запросов из списка изохронных передач (т.к. они имеют наивысший приоритет). После того, как все запросы из этого списка будут обслужены, хост-система переходит к списку операций по передачи прерываний, затем к списку запросов на передачу данных большого объема. По истечении 90% указанного 1-миллисекундного интервала хост автоматически переходит к обслуживанию запросов на передачу управляющих команд независимо от того, успел ли он полностью обслужить другие три списка или нет. Тем самым гарантируется, что управляющим передачам всегда будет выделено не менее 10% пропускной способности шины. Если передача всех управляющих пакетов будет завершена до истечения выделенной для них доли интервала планирования, то оставшееся время будет использовано хостом для передачи данных большого объема ( до конца указанного 1-миллисекундного интервала). Таким образом: - изохронные передачи гарантированно получают 90% пропускной способности шины; - передачи прерываний занимают оставшуюся часть изохронных операций часть этой 90-процентной доли; - под передачу данных большого объема выделяется все время, оставшееся после изохронных передач и передач прерываний (по-прежнему в рамках 90%-ой доли пропускной способности); - управляющим передачам гарантируется 10% пропускной способности; - если передача всех управляющих пакетов будет завершена до истечения выделенного для них 10%-го интервала, то оставшееся время будет использовано для передачи данных большого объема. [4] Лекция 16. Интерфейс IEEE-1394 (FireWire). В последнее время, в связи с бурным ростом возможностей компьютерной обработки видеоизображений в компьютерном мире возникла острейшая нужда в высокоскоростной шине, по которой было бы возможно передавать значительные потоки данных, и кроме этого, требовала всего нескольких проводов (т.е. была бы последовательной), позволяла бы строить "деревья", на которые можно было бы "нанизывать" различные периферийные устройства. По скоростным характеристикам из существующих шин, допускающих подключение внешних устройств к компьютеру, подходит только SCSI, но она не удовлетворяет многим из условий, описанных выше. Во-первых, для высокоскоростной передачи данных необходим вариант Ultra Wide SCSI, который требует разъемов с большим числом контактов, что делает практически невозможным размещение такого разъема на, например, цифровой видеокамере. Во-вторых, топология SCSI шины предполагает только последовательное подключение устройств к шине, что приводит как к необходимости иметь на внешнем устройстве два разъема и так и иметь в обязательном порядке терминатор для установки его на последнем разъеме в цепи. В-третьих, шина SCSI не предусматривает цепей питания для периферийных устройств и это приводит к обязательной необходимости внешнего источника питания для каждого из периферийных устройств. В-четвертых, шина SCSI не предусматривает "горячего" (т.е. без выключения питания и перезагрузки компьютера) подключения/отключения устройств на шине. Интерфейс USB, который очень подходит конструктивно (маленький разъем, есть цепи питания для периферийных устройств), не имеет необходимой для переноса больших потоков данных пропускной способности. Новый вариант USB 2.0, который начал разрабатываться в 1999 году, удовлетворяет практически всем требованиям к высокоскоростной шине, но завершение его разработки планируется только в первом квартале 2000 года, а появление первых устройств с его поддержкой - не ранее конца 2000 года. Именно из-за ограничений имеющихся шин интерфейс IEEE-1394 (FireWire) стал широко внедряться в компьютерной индустрии в последние годы уходящего века. Так как название FireWire (огненный провод) принадлежит фирме Apple Computers и может использоваться только для описания изделий Apple или с ее разрешения, правильное название - IEEE-1394. Некоторые компании придумали собственное зарегистрированное название, например у Sony - iLink. Пока основная сфера применения IEEE-1394 - поддержка обмена данными между компьютером и видеокамерами и видеомагнитофонами DV стандарта. В связи с тем, что DV видеокамеры выпускаются во все больших и больших количествах и при непрерывном падении стоимости, некоторые производители материнских плат уже объявили о выходе плат со встроенным контроллером IEEE-1394. В частности, фирма ASUSTeK Computers выпустила материнскую плату P3B-1394 со встроенным контроллером IEEE-1394. Новая сфера применения, получившая основное развитие с начала 2000 года - устройства хранения информации с интерфейсом IEEE-1394. Начали выпускаться внешние box'ы для установки в них любых IDE/ATAPI устройств с внешним интерфейсом IEEE-1394, питанием по этому же интерфейсу и возможностью "горячего" подключения к компьютеру. В первую очередь такие устройства находят себе применение для обмена видеоинформацией, так как на один IDE жесткий диск сейчас возможно записать до 3 часов видео DV формата и, как правило, в компьютерах, предназначенных для обработки цифрового видео, есть контроллер интерфейса IEEE-1394. Фирма Fujitsu также выпустила аналогичные накопители на магнитооптических дисках емкостью до 1.3 GBytes. Технические характеристики Основные характеристики шины можно свести к следующим показателям: скорость передачи данных до 400 Mbits/s с развитием шины в будущем до скоростей в 800 и более Mbits/s 16-ти разрядный адрес позволяет адресовать до 64K узлов на шине предельная теоретическая длина шины 224 метра "горячее" подключение/отключение без потери данных автоматическое конфигурирование, аналогичное Plug&Play произвольная топология шины - по аналогии с локальными сетями может использоваться как "звезда" так и общая шина (только в виде цепочки, в отличие от сети на коаксиальном кабеле) никакие терминаторы не требуются возможность обмена с гарантированной пропускной способностью, что крайне необходимо для передачи видеоизображений Топология шины Топология IEEE-1394 позволяет как древовидную, так и цепочечную архитектуру, а также комбинацию из того и другого. Поэтому легко строить любые варианты подключения различных устройств к шине. Стандарт предусматривает архитектурное разделение шины на 2 основных блока - кабельная часть и контроллер (контроллеры). Так как контроллеров может быть несколько, эту часть также называют объединительной (backplane - дословно задний план, кросс-плата и т.п.). Адрес узла на "дереве" 16-ти разрядный, что позволяет адресовать до 64К узлов. К каждому узлу может быть подключено до 16-ти конечных устройств. На объединительной панели (backplane) может быть подключено до 63 узлов к одному мосту (bridge) шины. Так как под идентификатор номера шины (моста) отведено 10 разрядов, то общее количество узлов и составляет 64K. Каждый узел обычно предусматривает подключение 3-х устройств, хотя собственно стандарт разрешает подключение до 27 устройств. Устройства могут быть подключены через стандартные кабели длиной до 4.2 метра. Пример топологии IEEE-1394 Физические адреса (ID) устройствам назначаются при подаче питания на контроллер шины и устройства, подключенные к ней, после общего сброса шины, а также при "горячем" подключении устройства к шине. Адреса присваиваются в порядке последовательности обнаружения и/или подключения устройств. Никакая установка перемычек или переключателей на самих устройствах не требуется. Стандарт на кабельную часть предусматривает три скорости передачи данных по шине - 98.304, 196.608 и 393.216 Mbits/s. Обычно эти значения в различных документах огругляют до 100, 200 и 400 Mbits/s, используя для краткости обозначения S100, S200 и S400. Благодаря применению размножителей, репитеров и т.п. устройств топология IEEE-1394 может быть достаточно сложной, хотя в 90% случаев ее применения наверняка столь сложная топология не потребуется. Совместимость Для удобства программирования и совместимости устройств на IEEE-1394 был разработан стандарт, названный Open Host Controller Interface (OHCI). Он предъявляет определенные требования к регистрам контроллера IEEE-1394 и их отображению в памяти. Кроме этого, OHCI совместимый контроллер должен удовлетворять требованиям по управлению энергопотреблением в соответствии со спецификацией ACPI. Microsoft в своих операционных системах Windows 98 Second Edition и Windows 2000 поддерживает только OHCI совместимые контроллеры IEEE-1394. Все остальные контроллеры (например, от Adaptec) должны сопровождаться соответствующими драйверами и совместимость таких устройств с драйверами жестких дисков операционной системы, например, не гарантируется. Кабели и разъемы Стандартный кабель для IEEE-1394 состоит из 2 витых пар передачи сигналов шины, двух проводов питания и все это заключено в экранированную оболочку. Провода питания рассчитаны на ток до полутора ампер и напряжение от 8 до 40 вольт. На рисунке ниже показан один из вариантов кабеля IEEE-1394. Кабели и розетки для подключения периферийных устройств существуют в нескольких вариантах, в зависимости от требуемых параметров: Кабель на 6/6 проводов, поддержка скорости передачи до 400 Mbits/s. Напряжение питания до 40 V при токе до 1.5 А. Длина от 0.7 м до 4.5 м. Кабель на 6/4 проводов, поддержка скорости передачи до 100 Mbits/s. Напряжение питания до 5 V при токе до 0.5 А. Длина от 1 м до 4.5 м. Кабель на 4 провода, поддержка скорости передачи до 100 Mbits/s. Напряжение питания до 5 V при токе до 0.5 А. Длина от 1 м до 4.5 м. Розетка на 4 провода, поддержка скорости передачи до 400 Mbits/s. Напряжение питания до 5 V при токе до 0.5 А. Розетка на 6 проводов, поддержка скорости передачи до 400 Mbits/s. Напряжение питания до 40 V при токе до 1.5 А. Лекция 17. Организация прямого доступа к памяти. Введение Одним из способов обмена данными с ВУ является обмен в режиме прямого доступа к памяти (ПДП). В этом режиме обмен данными между ВУ и основной памятью ЭВМ происходит без участия процессора. Обменом в режиме ПДП управляет не программа, выполняемая процессором, а электронные схемы, внешние по отношению к процессору. Обычно схемы, управляющие обменом в режиме ПДП, размещаются или в специальном контроллере, который называется контроллером прямого доступа к памяти, или в контроллере самого ВУ. Обмен данными в режиме ПДП позволяет использовать в ЭВМ быстродействующие внешние запоминающие устройства, такие, например, как накопители на жестких магнитных дисках, поскольку ПДП может обеспечить время обмена одним байтом данных между памятью и ВЗУ, равное циклу обращения к памяти. Для реализации режима прямого доступа к памяти необходимо обеспечить непосредственную связь контроллера ПДП и памяти ЭВМ. Для этой цели можно было бы использовать специально выделенные шины адреса и данных, связывающие контроллер ПДП с основной памятью. Но такое решение нельзя признать оптимальным, так как это приведет к значительному усложнению ЭВМ в целом, особенно при подключении нескольких ВЗУ. В целях сокращения количества линий в шинах ЭВМ контроллер ПДП подключается к памяти посредством шин адреса и данных системного интерфейса. При этом возникает проблема совместного использования шин системного интерфейса процессором и контроллером ПДП. Способы совместного использования шин системного интерфейса процессором и контроллером ПДП Можно выделить два основных способа ее решения: реализация обмена в режиме ПДП с "захватом цикла" и в режиме ПДП с блокировкой процессора. Реализация обмена в режиме ПДП с "захватом цикла" Существуют две разновидности прямого доступа к памяти с "захватом цикла". Наиболее простой способ организации ПДП состоит в том, что для обмена используются те машинные циклы процессора, в которых он не обменивается данными с памятью. В такие циклы контроллер ПДП может обмениваться данными с памятью, не мешая работе процессора. Однако возникает необходимость выделения таких циклов, чтобы не произошло временного перекрытия обмена ПДП с операциями обмена, инициируемыми процессором. В некоторых процессорах формируется специальный управляющий сигнал, указывающий циклы, в которых процессор не обращается к системному интерфейсу. При использовании других процессоров для выделения таких циклов необходимо применение в контроллерах ПДП специальных селектирующих схем, что усложняет их конструкцию. Применение рассмотренного способа организации ПДП не снижает производительности ЭВМ, но при этом обмен в режиме ПДП возможен только в случайные моменты времени одиночными байтами или словами. Более распространенным является ПДП с "захватом цикла" и принудительным отключением процессора от шин системного интерфейса. Для реализации такого режима ПДП системный интерфейс ЭВМ дополняется двумя линиями для передачи управляющих сигналов "Требование прямого доступа к памяти" (ТПДП) и "Предоставление прямого доступа к памяти" (ППДП). Принцип работы простого контроллера ПДП, обеспечивающего ввод данных в память ЭВМ по инициативе ВУ в режиме ПДП "Захват цикла" Управляющий сигнал ТПДП формируется контроллером прямого доступа к памяти. Процессор, получив этот сигнал, приостанавливает выполнение очередной команды, не дожидаясь ее завершения, выдает на системный интерфейс управляющий сигнал ППДП и отключается от шин системного интерфейса. С этого момента все шины системного интерфейса управляются контроллером ПДП. Контроллер ПДП, используя шины системного интерфейса, осуществляет обмен одним байтом или словом данных с памятью ЭВМ и затем, сняв сигнал ТПДП, возвращает управление системным интерфейсом процессору. Как только контроллер ПДП будет готов к обмену следующим байтом, он вновь "захватывает" цикл процессора и т.д. В промежутках между сигналами ТПДП процессор продолжает выполнять команды программы. Тем самым выполнение программы замедляется, но в меньшей степени, чем при обмене в режиме прерываний. Применение в ЭВМ обмена данными с ВУ в режиме ПДП всегда требует предварительной подготовки, а именно: для каждого ВУ необходимо выделить область памяти, используемую при обмене, и указать ее размер, т.е. количество записываемых в память или читаемых из памяти байт (слов) информации. Следовательно, контроллер ПДП должен обязательно иметь в своем составе регистр адреса и счетчик байт (слов). Перед началом обмена с ВУ в режиме ПДП процессор должен выполнить программу загрузки. Эта программа обеспечивает запись в указанные регистры контроллера ПДП начального адреса выделенной ВУ памяти и ее размера в байтах или словах в зависимости от того, какими порциями информации ведется обмен. Сказанное не относится к начальной загрузке программ в память в режиме ПДП. В этом случае содержимое регистра адреса и счетчика байт слов устанавливается переключателями или перемычками непосредственно на плате контроллера. Блок-схема простого контроллера ПДП, обеспечивающего ввод данных в память ЭВМ по инициативе ВУ в режиме ПДП "Захват цикла", приведена на рис. 1. Рис. 1. Контроллер ПДП для ввода данных из ВУ в режиме "Захват цикла" и отключением процессора от шин системного интерфейса Перед началом очередного сеанса ввода данных из ВУ процессор загружает в регистры его контроллера следующую информацию: в счетчик байт - количество принимаемых байт данных, а в регистр адреса - начальный адрес области памяти для вводимых данных. Тем самым контроллер подготавливается к выполнению операции ввода данных из ВУ в память ЭВМ в режиме ПДП. Байты данных из ВУ поступают в регистр данных контроллера в постоянном темпе. При этом каждый байт сопровождается управляющим сигналом из ВУ "Ввод данных", который обеспечивает запись байта данных в регистр данных контроллера. По этому же сигналу и при ненулевом состоянии счетчика байт контроллер формирует сигнал ТПДП. По ответному сигналу процессора ППДП контроллер выставляет на шины адреса и данных системного интерфейса содержимое своих регистров адреса и данных соответственно. Формируя управляющий сигнал "Вывод", контроллер ПДП обеспечивает запись байта данных из своего регистра данных в память ЭВМ. Сигнал ППДП используется в контроллере и для модификации счетчика байт и регистра адреса. По каждому сигналу ППДП из содержимого счетчика байт вычитается единица, и как только содержимое счетчика станет равно нулю, контроллер прекратит формирование сигналов "Требование прямого доступа к памяти". На примере простого контроллера ПДП мы рассмотрели только процесс подготовки контроллера и непосредственно передачу данных в режиме ПДП. На практике любой сеанс обмена данными с ВУ в режиме ПДП всегда инициируется программой, выполняемой процессором, и включает два следующих этапа. Этапы обмена данными с ВУ в режиме ПДП 1. На этапе подготовки ВУ к очередному сеансу обмена процессор в режиме программно-управляемого обмена опрашивает состояние ВУ (проверяет его готовность к обмену) и посылает в ВУ команды, обеспечивающие подготовку ВУ к обмену. Такая подготовка может сводиться, например, к перемещению головок на требуемую дорожку в накопителе на жестком диске. Затем выполняется загрузка регистров контроллера ПДП. На этом подготовка к обмену в режиме ПДП завершается и процессор переключается на выполнение другой программы. 2. Обмен данными в режиме ПДП начинается после завершения подготовительных операций в ВУ по инициативе либо ВУ, как это было рассмотрено выше, либо процессора. В этом случае контроллер ПДП необходимо дополнить регистром состояния и управления, содержимое которого будет определять режим работы контроллера ПДП. Один из разрядов этого регистра будет инициировать обмен данными с ВУ. Загрузка информации в регистр состояния и управления контроллера ПДП производится программным путем. Режим прямого доступа к памяти с блокировкой процессора Наиболее распространенным является обмен в режиме прямого доступ к памяти с блокировкой процессора. Он отличается от ПДП с "захватом цикла" тем, что управление системным интерфейсом передается контроллеру ПДП не на время обмена одним байтом, а на время обмена блоком данных. Такой режим ПДП используется в тех случаях, когда время обмена одним байтом с ВУ сопоставимо с циклом системной шины. Заключение В ЭВМ можно использовать несколько ВУ, работающих в режиме ПДП. Предоставление таким ВУ шин системного интерфейса для обмена данными производится на приоритетной основе. Приоритеты ВУ реализуются так же, как и при обмене данными в режиме прерывания, но вместо управляющих сигналов "Требование прерывания" и "Предоставление прерывания" (Организация прерываний в ЭВМ) используются сигналы "Требование прямого доступа" и "Предоставление прямого доступа", соответственно. Лекция 18. Устройства ввода ЭВМ. Клавиатура. Введение Единственным основным устройством ввода информации в ЭВМ и управления ее работой была, есть и в обозримом будущем останется клавиатура. Трудно сказать, может ли существовать более важное и универсальное устройство ввода информации в компьютер, чем клавиатура. Вполне возможно, в скором будущем, когда человек будет общаться со своим компьютером посредством жестов, мимики, графических образов, видеоизображений и речи, клавиатуру потеснят другие средства ввода информации. Однако сегодня, когда текст и символы как носители ценной информации еще столь важны, клавиатура обязательно входит в конфигурацию поставляемых персональных компьютеров. Клавиатура представляет собой матрицу клавиш, объединенных в единое целое, и электронный блок для преобразования нажатия клавиши в двоичный код. В клавиатурах ЭВМ используются клавиши различных типов, из которых наиболее широкое распространение получили емкостные и контактные. Емкостные клавиши состоят из подвижной металлической пластины (подвижного электрода), прикрепленного к кнопке, и двух металлических выступов на печатной плате, образующих неподвижные электроды конденсатора переменной емкости. При нажатии на клавишу подвижная пластина приближается к этим выступам, что приводит к изменению емкости конденсатора, а этого достаточно для фиксации нажатия электронной схемой. Помимо простоты устройства емкостные клавиши имеют высокую надежность. Контактные клавиши могут изготавливаться в различных вариантах, но всегда в основе их работы лежит принцип непосредственного механического контакта между двумя гибкими металлическими пластинами при нажатии клавиши. В местах соприкосновения пластины обычно имеют специальное покрытие, обеспечивающее малое сопротивление контакта. Срок службы контактных клавиш меньше чем у емкостных. К основным показателям клавиатуры относят: • Необходимое усилие для нажатия клавиши и ее свободный ход • Схему расположения клавиш, их цвет форму и размеры • Легкость чтения надписей на клавишах. • Коэффициент отражения света клавишами и всей поверхностью • Толщину клавиатуры и угол ее наклона относительно горизонтали Существуют два основных стандарта клавиатур для ЭВМ, предложенные фирмой IBM – это 83 (84) и 101 (102) клавишные пульты. В первом варианте функциональные клавиши располагаются в двух вертикальных рядах, а отдельных группы клавиш управления курсором нет. Всего в такой клавиатуре 83 (84) клавиши. Этот стандарт использовался в персональных компьютерах типа IBM PC XT и AT до конца 80-х годов, в настоящее время считается устаревшим и почти не используется. Второй вариант клавиатуры, которую принято называть усовершенствованной, имеет 101 или 102 клавиши. Клавиатурой такого типа снабжаются сегодня почти все настольные персональные компьютеры. Количество функциональных клавиш в усовершенствованной клавиатуре увеличено до 12. Логично выделены группы клавиш для работы с текстами и управления курсором, продублированы некоторые специальные клавиши, позволяющие более эргономично работать обеими руками. Впрочем, какая клавиатура удобнее – каждый должен решать сам. Ведь поменять клавиатуру в настольном компьютере совсем нетрудно. В портативных компьютерах используется другой тип клавиатур, которые обычно являются встроенной частью конструкции. Клавиатуры портативных компьютеров в той или иной степени похожи на оба типа клавиатур настольных компьютеров, хотя из-за недостатка места в самих компактных моделях компьютеров типа subnotebook и palmtop конструкторы вынуждены идти на сокращения количества и размеров клавиш. 1. Основные части клавиатуры Рассмотрим усовершенствованную 101-клавишную клавиатуру, которая имеет следующие четыре группы клавиш: 1. Клавиши пишущей машинки (алфавитно-цифровая клавиатура) для ввода букв, цифр и специальных знаков. 2. Служебные клавиши, меняющие смысл нажатия остальных клавиш и осуществляющие другие действия по управлению вводом с клавиатуры. 3. Функциональные клавиши, смысл нажатия которых зависит от используемого программного продукта 4. Клавиши двухрежимной малой цифровой клавиатуры, обеспечивающие быстрый и удобный ввод цифровой информации, а также управление курсором и переключение режимов работы клавиатуры. 1.1. Клавиши пишущей машинки (алфавитно-цифровая клавиатура) Клавиши пишущей машинки расположены в левой нижней части стандартной 101-клавишной клавиатуры и служат для ввода букв (прописных и строчных), цифр, а также различных специальных знаков. Полный список этих символов в режиме латиницы следующий: Алфавитно-цифровые символы (через пробелы): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 Специальные знаки (через пробелы): ~ ! @ # $ % ^ & * ( ) – + _ = [ ] ; : ‘ “ , . / \ < > ? | Нижняя длинная, никак не помеченная клавиша, называется Space, соответствует пробелу пишущей машинки и применяется для ввода пустого символа. Расположение буквенных клавиш на компьютерных клавиатурах стандартно. Сегодня повсеместно применяется стандарт QWERTY - по первым шести латинским буквенным клавишам верхнего ряда. Ему соответствует отечественный стандарт расположения клавиш кириллицы, практически аналогичный расположению клавиш на пишущей машинке. Режимы ввода символов В режиме ввода латинских букв при нажатии на любую алфавитно-цифровую клавишу вводится латинская буква или символ, изображенный в левой части клавиши (обычно эти буквы и символы нарисованы на клавишах черным цветом в левой части клавиш). А в режиме ввода русских букв при этом вводиться русская буква или символ, изображенный в правой части клавиши (обычно эти буквы и символы нарисованы на клавишах красным цветом в правой части клавиш). Переключение этих режимов выполняется при помощи комбинации клавиш, которая определяется используемым драйвером клавиатуры (внешней программой, осуществляющей ввод с клавиатуры). Комбинация клавиш задается при установке драйвера. Чаще всего для этого используется нажатие на правую клавишу CTRL , иногда на обе клавиши SHIFT, встречаются и другие способы переключения (двойным нажатием клавиш ALT +SHIFT). Чтобы понять, как действуют клавиши пишущей машинки на различных регистрах, условно делят каждую клавишу на 4 части, проведя линию по горизонтали и по вертикали. Обозначение на левой верхней четвертинке соответствует верхнему латинскому регистру, на левой нижней четвертинке – нижнему латинскому регистру, на верхней правой четвертинке – верхнему русскому регистру, а на нижней правой четвертинке – нижнему русскому регистру. Если нижняя правая четвертинка пуста, то берут для нее обозначение из нижней левой четвертинки; когда пустой является верхняя правая четвертинка, то используют обозначение из нижней правой четвертинки; если же последняя тоже пуста, то для верхней правой четвертинки берут обозначение с верхней левой четвертинки. При этом, на нижнем регистре всегда вводятся строчные буквы, а на верхнем – прописные. Действие клавиш, в конечном счете, определяется драйвером клавиатуры, поэтому обозначения клавиш на русском регистре могут и не совпадать с вводимыми путем их нажатия символами. Названия специальных знаков Специальные знаки, которые рассматривались выше, имеют свои собственные названия. Далее даются их общепринятые названия (для некоторых символов – с англо-американским вариантом): ‘ - апостроф; & - амперсенд; $ - знак доллара; ~ - тильда; @ - коммерческое ‘эт’ (или собачка); ( ) - открывающая и закрывающая скобки; [ ] - открывающая и закрывающая квадратные скобки; {} - открывающая и закрывающая фигурные скобки < > - знаки ‘меньше’ ‘больше’; _ - подчеркивание; / - косая черта (слэш); \ - обратная косая черта (бэкслэш); # - решетка; “ - кавычки; ^ - крышка; * -звездочка; 1.2. Служебные клавиши К служебным относятся клавиши Esc, Backspace, Tab, Enter, Shift, PrtScr, Ctrl, Alt, CapsLock, Num Lock, Scroll Lock, и Pause (Break). Они расположены в разных частях клавиатуры и в общем случае имеют следующее назначение: Esc – (от Escape – «покинуть») – служит для отмены каких-либо действий и/или выхода из программы, подменю и т.п.; Backspace – клавиша возврата; при ее нажатии курсор перемещается по экрану влево на одну позицию – тем самым удаляется предыдущий символ; Tab – клавиша табуляции; действует только на нижнем регистре и обеспечивает перемещение курсора вправо до очередной позиции табуляции, интервал между которыми равен восьми символам; эту клавишу удобно использовать, например, при формировании таблиц и набора текста с отступами; на верхнем регистре возможно перемещение курсора до очередной позиции табуляции влево; Enter – клавиша ввода (возврата каретки); при вводе текста служит для завершения ввода очередной строки информации; курсор при нажатии клавиши перемещается в крайнее левое положение следующей строки; при работе в DOS служит для ввода команд на выполнение процессором; на некоторых клавиатурах может также обозначаться: Return, CR; Ctrl – (от Control – управляющая) – самостоятельного значения не имеет, но при нажатии совместно с другой клавишей изменяет ее действие; Shift – (от англ. смена) клавиша смены регистра; если клавиатура находится на нижнем регистре, то при нажатии этой клавиши осуществляется переход на верхний регистр (можно будет вводить прописные буквы и специальные знаки, изображенные в верхних частях клавиш); на нижнем регистре возможен ввод строчных букв, цифр и специальных знаков, изображения которых нанесены в нижних частях клавиш; если клавиатура находится на верхнем регистре, то нажатие клавиши Shift переводит ее на нижний регистр; эта клавиша логически не фиксируется, в результате чего ее требуется удерживать; может также изменять действие других клавиш (обычно - функциональных); PrtScr – (от Print Screen – печать экрана); ее нажатие приводит к распечатке на принтере информации, видимой на экране; Alt – (от Alternate – изменяющая) – так же, как и Ctrl, самостоятельного значения не имеет но при нажатии совместно с другой клавишей изменяет действие последней; Caps Lock – (от Capitals Lock – фиксация прописных букв) – служит для фиксирования режима прописных букв, это удобно при вводе текста, состоящего из одних прописных букв; при ее нажатии фиксируется верхний регистр клавиатуры; при повторном нажатии - нижний регистр и т.д.; эту клавишу удерживать не надо; Num Lock – (от Number Lock – фиксация цифр) – обеспечивает переключение (с фиксацией) режимов работы малой цифровой клавиатуры (см. ниже); Scroll Lock – клавиша блокировки прокрутки; самостоятельно используется для переключения режима вывода на экран дисплея, если при нажатии клавиш управления курсором сдвигается не курсор, а экран; может применяться аналогично клавишам Ctrl, Shift и Alt, но пока для этих целей не задействована; Pause – клавиша прерывания; самостоятельного значения не имеет, но на фоне клавиш Ctrl может привести к принудительному завершению выполнения текущей программы или команды. Индикаторы режимов Клавиши CapsLock, Num Lock, Scroll Lock также называются индикаторами режимов. При включении соответствующих режимов эти индикаторы зажигаются, а при выключении этих режимов гаснут При описании назначения служебных клавиш употреблялся термин «курсор». Курсором называется значок в виде прямоугольника или контрастной черты, указывающий знакоместо на экране, где будет отображаться очередной выведенный на экран символ. Клавиши управления курсором К служебным также относятся клавиши Left (стрелка влево), Right (стрелка вправо), Up (стрелка вверх), Down (стрелка вниз), Home, End, PgUp, PgDn, Ins и Del, которые называют клавишами управления курсором. Рассмотрим традиционное назначение этих клавиш Left, Right, Up, Down – служат для перемещения курсора соответственно влево вправо вверх вниз на одну позицию или строку и называются стрелками. Home – обеспечивает перемещение курсора в первую позицию строки. End – служит для перемещения курсора в последнюю позицию строки. PgUp (от Page Up - страница вверх) – обеспечивает перемещение по тексту в направлении его начала на одну страницу, т.е. возврат на одну страницу. PgDown (от Page Down - страница вниз) – обеспечивает перемещение по тексту в направлении его конца на одну страницу, т.е. продвижение вперед на одну страницу; иными словами клавиши PgUp, PgDown обеспечивают листание назад и вперед соответственно. Ins (от Insert - вставить) – служит для переключения клавиатуры из режима замены в режим вставки и обратно; в режиме замены каждый введенный символ заменяет на экране символ в позиции курсора; в режиме вставки вводимый символ помещается перед символом в позиции курсора, при этом оставшаяся часть строки правее курсора сдвигается на одну позицию вправо. Del (от Delete - удалить) – обеспечивает удаление на экране символа в позиции курсора, при этом оставшаяся часть строки правее курсора сдвигается на одну позицию влево; состояние клавиши Insert на действие этой клавиши влияния не оказывает. 1.3. Функциональные клавиши На верхней части клавиатуры располагается так называемые функциональные клавиши F1-F12. Порядок использования этих клавиш определяется программой и операционной системой, с которой мы в данный момент работаем. Они обычно программируются и для каждого программного продукта имеют свое назначение. Тем не менее, уже стало традицией в программах задействовать клавишу F1 для получения подсказки или вывода интерактивного справочника. Рассмотрим использование функциональных клавиш на примере распространенных текстовых редакторов Word Perfect, Microsoft Word WordStar, Xiwrite, LEXICON: Быстрые клавиши текстовых редакторов и их комбинации: F1 – помощь CTRL+F1 – поиск вниз SHIFT+F1 – поиск вверх ALT+F1 – выбор шрифта F2 – вставка имени клавиши CTRL+F2 – замена SHIFT+F2 – глобальная замена ALT+F2 – подчеркивание F3 – выделение строчного фрагмента CTRL+F3 – забрать фрагмент в карман SHIFT+F3 – выделить прямоугольный фрагмент ALT+F3 – курсив F4 – отмена выделения CTRL+F4 – вставка строчного фрагмента SHIFT+F4 – вставка прямоугольного фрагмента ALT+F4 – жирный F5 – сдвиг окна влево CTRL+F5 – сдвиг фрагмента влево SHIFT+F5 – смена направление показа ALT+F5 – прижать строку влево F6 – сдвиг окна вправо CTRL+F6 – сдвиг фрагмента вправо SHIFT+F6 – смена направления ввода ALT+F6 – прижать строку вправо F7 – левая граница абзаца CTRL+F7 – задать отступ абзаца SHIFT+F7 – границы абзаца по образцу ALT+F7 – правая граница абзаца F8 – центровка CTRL+F8 – форматировать абзац SHIFT+F8 – жесткий раздел страниц F9 – рус/лат алфавит CTRL+F9 – рус/национ. алфавит SHIFT+F9 – режим дисплея ALT+F9 – распахнуть окно F10 – вход в меню CTRL+F10 – форма, цвет окна SHIFT+F10 – режим текст/документ Операции с фрагментами (блоками): F4 – отменить выделение CTRL+F3 – забрать блок в карман CTRL+F4 – вставить, сдвинув строки вниз SHIFT+F4 – вставить как прямоугольник CTRL+F5/F6 – сдвинуть блок влево/вправо ALT+F5/F6 – прижать строки влево/вправо CTRL+F8 – сформатировать в единый абзац 1.4. Малая цифровая клавиатура Малая цифровая клавиатура находится в правой части клавиатуры и содержит следующие клавиши: 7 (Home), 8 (стрелка вверх), 9 (PgUp), –, 4 (стрелка влево), 5, 6 (стрелка вправо), +б 1 (End), 2 (стрелка вниз), 3 (PgDn), 0 (Ins) и (Del). Малая цифровая клавиатура может работать в двух режимах: 1) в режиме ввода чисел; 2) в режиме управления курсором. Переключение режимов с логической фиксации осуществляется клавишей Num Lock, а без фиксации – клавишей Shift. Состояние клавиши Caps Lock здесь значения не имеет. В режиме ввода чисел эта часть клавиатуры обеспечивает более удобный ввод чисел и знаков арифметических операций. В режиме управления курсором клавиши малой цифровой клавиатуры служат для перемещения курсора, перелистывания страниц и переключения режимов работы основной клавиатуры. 2. Принципы работы клавиатуры При вводе информации с клавиатуры каждый введенный символ преобразуется в соответствующий двоичный код, который передается в компьютер для последующей его обработки. При выводе информации осуществляется обратное преобразование, и двоичный код преобразуется во внешнее его представление. Для кодирования символов в ЭВМ используется специальная таблица кодов ASCII (American Standart Code for Information Interchange – американский стандарт кодов для обмена информацией), применяемая на большинстве компьютеров. Таблица кодировки обеспечивает взаимное соответствие изображений символов на экране с их числовыми кодами, и ставит в соответствие каждому символу семиразрядный двоичный код. В ASCII-кодировке представлены 128 символов, которые делятся на две группы: 1. символы пишущей машинки, т.е. прописные и строчные латинские буквы, цифры, и специальные знаки; 2. управляющие символы, используемые для передачи команд в коммуникационных программах. Семи разрядов ASCII-кода совершенно недостаточно для представления символов языков с алфавитом, отличным от латинского. Поэтому в большинстве стран используются свои собственные версии кодировок, основанные на ASCII. При нажатии клавиши клавиатура посылает процессору сигнал прерывания, что заставляет процессор приостановить свою работу и переключиться на программу обработки прерывания клавиатуры. При этом клавиатура в своей собственной специальной памяти (буфере) запоминает, какая клавиша была нажата. После передачи кода нажатой клавиши процессору эта информация из буфера клавиатуры исчезает. Буфер клавиатуры рассчитан на хранение до 20 кодов нажатых клавиш и логически организован в виде циклического списка-очереди. Код только что нажатой клавиши размещается в конце списка, если он не пуст. Если на момент запроса буфер пуст, то программа переходит в состояния ожидания ввода реального символа. Наличие буфера позволяет нажимать клавиши на клавиатуре с упреждением (заранее), что ускоряет работу на ЭВМ. Каждой клавише на клавиатуре соответствует семиразрядный код сканирования – скэн-код. Перечень этих кодов для 83-клавишной клавиатуры приведен в таблице. Коды сканирования усовершенствованной 101-клавишной клавиатуры полностью совместимы с кодами 83-клавишной клавиатуры, а дополнительные клавиши кодируются оставшимися числами семиразрядного кода. Кроме нажатия клавиатура отмечает также и отпускание каждой клавиши, посылая процессору свой сигнал прерывания с соответствующим кодом. При нажатии клавиши клавиатура генерирует однобайтный код нажатия, а при отпускании – также однобайтный код отпускания. Код нажатия клавиши совпадает с кодом сканирования. Код отпускания отличается от соответствующего кода нажатия тем, что он больше его на 128. Таким образом, компьютер всегда “знает“, нажата ли клавиша или она уже отпущена. Это свойство используется при переходе на другой регистр. Кроме того, если клавиша нажата дольше определенного времени, (обычно около половины секунды), то клавиатура генерирует повторные коды нажатия этой клавиши. Лекция 19. Интерфейс ЭВМ с видеотерминалом. Видеоадаптер. Режимы изображений: текстовый и графический режимы. Видеопамять. Анимация изображений. Интерфейс ЭВМ с видеотерминалом. В 60-х годах с появлением первых видеотерминалов, позволявших в реальном времени отображать вводимую и выводимую информацию, основным способом общения человека с компьютером окончательно стал текстовый ввод. Номенклатура дисплеев СМ ЭВМ должна удовлетворять требованиям широкого круга пользователей. Особенность дисплеев заключается в том, что они устанавливаются непосредственно на рабочем месте пользователя и являются тем инструментом, с помощью которого осуществляется связь с ЭВМ. Поэтому конструкция и технические характеристики дисплеев должны учитывать конкретные условия их применения, характер задач, решаемых пользователем. Это особенно важно для повышения эффективности применения СМ ЭВМ у малоподготовленного пользователя. Вместе с тем при серийном производстве и с целью упрощения эксплуатации' номенклатура дисплеев и их функциональных узлов должна быть ограничена. Широкая перспектива для совершенствования дисплеев появилась с применением микропроцессоров, а также контроллеров для устройств ввода-вывода информации, клавиатур и формирователей видеосигнала, выполненных в виде БИ€. К отечественным микропроцессорным дисплеям, разработанным для СМ ЭВМ, относятся ВТА-2000-15, АЦВ СМ, СВТУ СМ, ИВТ СМ. Все указанные дисплеи построены на единой элементно-конструктивной базе с применением получившего наибольшее признание в дисплейной технике микропроцессорного набора серии К580. В дисплеях АЦВ СМ, СВТУ СМ, ИВТ СМ использованы архитектурные принципы микроЭВМ СМ-1800 и межблочный интерфейс И41, разработанный для этой системы и совместимый с широко распространенным интерфейсом «мультибас». Совместимость по интерфейсу с СМ-1800 позволяет использовать унифицированные модули этой системы. ВТА-2000-15 является черно-белым алфавитно-цифровым дисплеем с расширенным набором команд редактирования. Выпускается в нескольких модификациях, отличающихся типами интерфейса и количеством знаков на экране. АЦВ СМ — видеотерминал с программируемым форматом, обеспечивающим отображение алфавитно-цифровых текстов, псевдографической символьной информации типа мнемосхем, гистограмм, графиков, а также растровой полутоновой информации. К устройству могут подключаться цветные ВКУ. СВТУ СМ предназначен для корректуры текстов в полиграфии. Отличается большим набором программируемых символов Видеоадаптер. Устройство, которое называется видеоадаптером (или видеоплатой, видеокартой), есть в каждом компьютере. В виде устройства, интегрированного в системную плату, либо в качестве самостоятельного компонента – платы расширения. Главная функция, выполняемая видеокартой, это преобразование полученной от центрального процессора информации и команд в формат, который воспринимается электроникой монитора, для создания изображения на экране. Монитор обычно является неотъемлемой частью любой системы, с помощью которого пользователь получает визуальную информацию. Стандартные типы видеоадаптеров MDA (Monochrome Display Adapter - монохромный адаптер дисплея) - простейший видеоадаптер, применявшийся в первых IBM PC. Работает в текстовом режиме с разрешением 80x25 (720x350, матрица символа - 9x14), поддерживает пять атрибутов текста: обычный, яркий, инверсный, подчеркнутый и мигающий. Частота строчной развертки - 15 Кгц. Интерфейс с монитором - цифровой: сигналы синхронизации, основной видеосигнал, дополнительный сигнал яркости. HGC (Hercules Graphics Card - графическая карта Hercules) - расширение MDA с графическим режимом 720x348, разработанное фирмой Hercules. CGA (Color Graphics Adapter - цветной графический адаптер) - первый адаптер с графическими возможностями. Работает либо в текстовом режиме с разрешениями 40x25 и 80x25 (матрица символа - 8x8), либо в графическом с разрешениями 320x200 или 640x200. В текстовых режимах доступно 256 атрибутов символа - 16 цветов символа и 16 цветов фона (либо 8 цветов фона и атрибут мигания), в графических режимах доступно четыре палитры по четыре цвета каждая в режиме 320x200, режим 640x200 монохромный. Вывод информации на экран требовал синхронизации с разверткой, в противном случае возникали конфликты по видеопамяти, проявляющиеся в виде "снега" на экране. Частота строчной развертки - 15 Кгц. Интерфейс с монитором - цифровой: сигналы синхронизации, основной видеосигнал (три канала - красный, зеленый, синий), дополнительный сигнал яркости. EGA (Enhanced Graphics Adapter - улучшенный графический адаптер) - дальнейшее развитие CGA, примененное в первых PC AT. Добавлено разрешение 640x350, что в текстовых режимах дает формат 80x25 при матрице символа 8x14 и 80x43 - при матрице 8x8. Количество одновременно отображаемых цветов - по-прежнему 16, однако палитра расширена до 64 цветов (по два разряда яркости на каждый цвет). Введен промежуточный буфер для передаваемого на монитор потока данных, благодаря чему отпала необходимость в синхронизации при выводе в текстовых режимах. структура видеопамяти сделана на основе так называемых битовых плоскостей - "слоев", каждый из которых в графическом режиме содержит биты только своего цвета, а в текстовых режимах по плоскостям разделяются собственно текст и данные знакогенератора. Совместим с MDA и CGA. Частоты строчной развертки - 15 и 18 Кгц. Интерфейс с монитором - цифровой: сигналы синхронизации, видеосигнал (по две линии на каждый из основных цветов). MCGA (Multicolor Graphics Adapter - многоцветный графический адаптер) - введен фирмой IBM в ранних моделях PS/2. Добавлено разрешение 640x400 (текст), что дает формат 80x25 при матрице символа 8x16 и 80x50 - при матрице 8x8. Количество воспроизводимых цветов увеличено до 262144 (по 64 уровня на каждый из основных цветов). Помимо палитры, введено понятие таблицы цветов, через которую выполняется преобразование 64-цветного пространства цветов EGA в пространство цветов MCGA. Введен также видеорежим 320x200x256, в котором вместо битовых плоскостей используется представление экрана непрерывной областью памяти объемом 64000 байт, где каждый байт описывает цвет соответствующей ему точки экрана. Совместим с CGA по всем режимам, а с EGA - по текстовым, за исключением размера матрицы символа. Частота строчной развертки - 31 Кгц, для эмуляции режимов CGA используется так называемое двойное сканирование - дублирование каждой строки формата Nx200 в режиме Nx400. интерфейс с монитором - аналогово-цифpовой: цифровые сигналы синхронизации, аналоговые сигналы основных цветов, передаваемые монитору без дискретизации. Поддерживает подключение монохромного монитора и его автоматическое опознание - при этом в видео-BIOS включается режим суммирования цветов по так называемой шкале серого (grayscale) для получения полутонового чеpно-белого изображения. Суммирование выполняется только при выводе через BIOS - при непосредственной записи в видеопамять на монитор попадает только сигнал зеленого цвета (если он не имеет встроенного цветосмесителя). VGA (Video Graphics Array - множество, или массив, визуальной графики) - расширение MCGA, совместимое с EGA, введен фирмой IBM в средних моделях PS/2. Фактический стандарт видеоадаптера с конца 80-х годов. Добавлен текстовый режим 720x400 для эмуляции MDA и графический режим 640x480 с доступом через битовые плоскости. В режиме 640x480 используется так называемая квадратная точка (соотношение количества точек по горизонтали и вертикали совпадает со стандартным соотношением сторон экрана - 4:3). Совместим с MDA, CGA и EGA, интерфейс с монитором идентичен MCGA. IBM 8514/а - специализированный адаптер для работы с высокими разрешениями (640x480x256 и 1024x768x256), с элементами графического ускорителя. Не поддерживает видеорежимы VGA. интерфейс с монитором аналогичен VGA/MCGA. IBM XGA - следующий специализированный адаптер IBM. расширено цветовое пространство (режим 640x480x64k), добавлен текстовый режим 132x25 (1056x400). Интерфейс с монитором аналогичен VGA/MCGA. SVGA (Super VGA - "сверх" VGA) - расширение VGA с добавлением более высоких разрешений и дополнительного сервиса. Видеорежимы добавляются из ряда 800x600, 1024x768, 1152x864, 1280x1024, 1600x1200 - все с соотношением 4:3. Цветовое пространство расширено до 65536 (High Color) или 16.7 млн. (True Color). Также добавляются расширенные текстовые режимы формата 132x25, 132x43, 132x50. Из дополнительного сервиса добавлена поддержка VBE. Режимы изображений. Компьютерные видеоподсистемы могут работать в одном из двух основных видеорежимов: текстовом или графическом. В текстовом режиме экран монитора разбивается на отдельные символьные позиции, в каждой из которых одновременно может выводиться только один символ. Текстовый режим в современных операционных системах используется только на этапе начальной загрузки.В графическом режиме для каждой точки изображения, называемой пикселем, отводится от одного (монохромный режим) до 32 бит информации. Графический режим часто называют режимом с адресацией всех точек (All Points Addresable), поскольку только в этом случае имеется доступ к каждой точке изображения. Максимальное разрешение и количество воспроизводимых цветов конкретной видеоподсистемы в первую очередь зависят от общего объема видеопамяти и количества бит, приходящихся на один пиксель. Видеопамять. Один из компонентов компьютера, от которого требуется наибольшая производительность, это графический контроллер, являющийся сердцем всех мультимедиа систем. Фраза требуется производительность означает, что некоторые вещи происходят настолько быстро, насколько это обеспечивается пропускной способностью. Пропускная способность обычно измеряется в мегабайтах в секунду и показывает скорость, с которой происходит обмен данными между видеопамятью и графическим контроллером. На производительность графической подсистемы влияют несколько факторов: • скорость центрального процессора (CPU) • скорость интерфейсной шины (PCI или AGP) • скорость видеопамяти • скорость графического контроллера Для увеличения производительности графической подсистемы настолько, насколько это возможно, приходится снижать до минимума все препятствия на этом пути. Графический контроллер производит обработку графических функций, требующих интенсивных вычислений, в результате разгружается центральный процессор системы. Отсюда следует, что графический контроллер должен оперировать своей собственной, можно даже сказать частной, местной памятью. Тип памяти, в которой хранятся графические данные, называется буфер кадра (frame buffer). В системах, ориентированных на обработку 3D-приложений, требуется еще и наличие специальной памяти, называемой z-буфер (z-buffer), в котором хранится информация о глубине изображаемой сцены. Также, в некоторых системах может иметься собственная память текстур (texture memory), т.е. память для хранения элементов, из которых формируются поверхности объекта. Наличие текстурных карт ключевым образом влияет на реалистичность изображения трехмерных сцен. Появление насыщенных мультимедиа и видеорядом приложений, так же, как и увеличение тактовой частоты современных центральных процессоров, сделало невозможным и дальше использовать стандартную динамическую память со случайным доступом (DRAM). Современные мультимедиа контроллеры требуют от основной системной памяти большей пропускной способности и меньшего времени доступа, чем когда-либо ранее до этого. Идя навстречу новым требованиям, производители предлагают новые типы памяти, разработанные с помощью обычных и революционных методов. Впечатляющие усовершенствования делают проблему правильного выбора типа памяти для приложения особенно актуальной и сложной. Производители улучшили технологии и создали новые архитектуры в ответ на требования более высоких скоростей работы памяти. Широкий выбор новых типов памяти ставит перед производителем видеоадаптеров проблему, для какого сегмента рынка или каких приложений выбрать тот или иной тип. Под воздействием требований перемен полупроводниковая индустрия предлагает множество новых интерфейсов. Некоторые объединили в себе свойства существующих интерфейсов с ограниченным набором изменений, другие имеют совершенно новый дизайн и оригинальную архитектуру. Скорость, с которой информация поступает на экран, и количество информации, которое выходит из видеоадаптера и передается на экран - все зависит от трех факторов: • разрешение вашего монитора • количество цветов, из которых можно выбирать при создании изображения • частота, с которой происходит обновление экрана Разрешение определяется количеством пикселов на линии и количеством самих линий. Поэтому на дисплее с разрешением 1024х768, типичном для систем, использующих ОС Windows, изображение формируется каждый раз при обновлении экрана из 786,432 пикселов информации. Обычно частота обновления экрана имеет значение не менее 75Hz, или циклов в секунду. Следствием мерцания экрана является зрительное напряжение и усталость глаз при длительном наблюдении за изображением. Для уменьшения усталости глаз и улучшения эргономичности изображения значение частоты обновления экрана должно быть достаточно высоким, не менее 75 Hz. Число допускающих воспроизведение цветов, или глубина цвета - это десятичный эквивалент двоичного значения количества битов на пиксел. Так, 8 бит на пиксел эквивалентно 28 или 256 цветам, 16-битный цвет, часто называемый просто high-color, отображает более 65,000 цветов, а 24-битный цвет, также известный, как истинный или true color, может представить 16.7 миллионов цветов. 32-битный цвет с целью избежания путаницы обычно означает отображение истинного цвета с дополнительными 8 битами, которые используются для обеспечения 256 степеней прозрачности. Так, в 32-битном представлении каждый из 16.7 миллионов истинных цветов имеет дополнительные 256 степеней доступной прозрачности. Такие возможности представления цвета имеются только в системах высшего класса и графических рабочих станциях. Ранее настольные компьютеры были оснащены в основном мониторами с диагональю экрана 14 дюймов. VGA разрешение 640х480 пикселов вполне и хорошо покрывало этот размер экрана. Как только размер среднего монитора увеличился до 15 дюймов, разрешение увеличилось до значения 800х600 пикселов. Так как компьютер все больше становится средством визуализации с постоянно улучшающейся графикой, а графический интерфейс пользователя (GUI) становится стандартом, пользователи хотят видеть больше информации на своих мониторах. Мониторы с диагональю 17 дюймов становятся стандартным оборудованием для систем на базе ОС Windows, и разрешение 1024х768 пикселов адекватно заполняет экран с таким размером. Некоторые пользователи используют разрешение 1280х1024. Современной графической подсистеме для обеспечения разрешения 1024x768 требуется 1 Мегабайт памяти. Несмотря на то, что только три четверти этого объема памяти необходимо в действительности, графическая подсистема обычно хранит информацию о курсоре и ярлыках в буферной памяти дисплея (off-screen memory) для быстрого доступа. Пропускная способность памяти определяется соотношением того, как много мегабайт данных передаются в память и из нее за секунду времени. Типичное разрешение 1024х768, при 8-битной глубине представления цвета и частоте обновления экрана 75 Hz, требует пропускной способности памяти 1118 мегабайт в секунду. Добавление функций обработки 3D графики требует увеличения размера доступной памяти на борту видеоадаптера. В современных видеоакселераторах для систем на базе Windows типичен размер установленной памяти в 4 Мб. Дополнительная память сверх необходимой для создания изображения на экране используется для z-буфера и хранения текстур. Анимация изображений. Анимация - это движение объекта, можно сказать, что анимация это последовательность изменяющихся изображений, которая произошла за определенный промежуток времени. Совокупность кадров, сменяющих друг друга в единицу времени создают иллюзию движения, что и есть не что иное как анимация. В настоящее время часто используется такое понятие как флеш-анимация. Флеш-анимация - это анимация, применяемая в Web-технологиях, для разработки анимационных роликов, заставок, презентаций, рекламных блоков (флеш баннер) и т.д. Распространенной средой разработки как флеш анимации так и анимированных приложений является программный продукт фирмы Macromedia - Macromedia Flash MX. Предназначение АНИМАЦИИ как таковой состоит в том, что у человека, как и у любого другого хищника органы зрения имеют одну интересную особенность - хищник способен заметить или обнаружить объект с гораздо большей долей вероятности, если тот находится в движении. Отсюда вывод - чтобы обратить внимание на рекламируемый объект, его нужно анимировать. Вот для этого и предназначена флеш анимация. Суть в том, что любая информация воспринимается лучше, если она носит динамический характер. Список литературы. 1. материалы статей и обзоров сайта iXBT Hardware (ixbt.stack.net) 2. материалы статей и обзоров сайта 3D News (www.3dnews.ru) 3. материалы статей и обзоров журнала и сайта “Компьютерра” (www.computerra.ru) 4. материалы статей и обзоров журнала и сайта “Мир ПК” (www.pcworld.ru) 5. материалы статей и обзоров журнала и сайта “PC Magazine: Russian Edition” (www.pcmagazine.ru) 6. Е.Рудометов, В.Рудометов. Архитектура ПК, комплектующие, мультимедиа.- СПб: “Питер”, 2000 7. материалы сайта www.vikipedia.ru Лекция 20. Накопитель магнитных дисков: гибкий и жесткий. Структура дисков: дорожки, сектора, блоки. Обмен информации между ЭВМ и магнитными дисками. Магнитные дисковые накопители. Принцип работы магнитных запоминающих устройств основан на способах хранения информации с использованием магнитных свойств материалов. Как правило, магнитные запоминающие устройства состоят из собственно устройств чтения/записи информации и магнитного носителя, на который, непосредственно, осуществляется запись и с которого считывается информация. Магнитные запоминающие устройства принято делить на виды в связи с исполнением, физико-техническими характеристиками носителя информации и т.д.. Наиболее часто различают: дисковые и ленточные устройства. Общая технология магнитных запоминающих устройств состоит в намагничивании переменным магнитным полем участков носителя и считывания информации, закодированной как области переменной намагниченности. Дисковые носители, как правило, намагничиваются вдоль концентрических полей – дорожек, расположенных по всей плоскости дискоидального вращающегося носителя. Запись производится в цифровом коде. Намагничивание достигается за счет создания переменного магнитного поля при помощи головок чтения/записи. Головки представляют собой два или более магнитных управляемых контура с сердечниками, на обмотки которых подается переменное напряжение. Изменение полярности напряжения вызывает изменение направления линий магнитной индукции магнитного поля и, при намагничивании носителя, означает смену значения бита информации с 1 на 0 или с 0 на 1. Дисковые устройства делят на гибкие (Floppy Disk) и жесткие (Hard Disk) накопители и носители. Основным свойством дисковых магнитных устройств является запись информации на носитель на концентрические замкнутые дорожки с использованием физического и логического цифрового кодирования информации. Плоский дисковый носитель вращается в процессе чтения/записи, чем и обеспечивается обслуживание всей концентрической дорожки, чтение и запись осуществляется при помощи магнитных головок чтения/записи, которые позиционируют по радиусу носителя с одной дорожки на другую. Дисковые устройства, как правило, используют метод записи называемый методом без возвращения к нулю с инверсией (Not Return Zero – NRZ). Запись по методу NRZ осуществляется путем изменения направления тока подмагничивания в обмотках головок чтения/записи, вызывающее обратное изменение полярности намагниченности сердечников магнитных головок и соответственно попеременное намагничивание участков носителя вдоль концентрических дорожек с течением времени и продвижением по окружности носителя. При этом, совершенно неважно, происходит ли перемена магнитного потока от положительного направления к отрицательному или обратно, важен только сам факт перемены полярности. Для записи информации, как правило, используют различные методы кодирования информации, но все они предполагают использование в качестве информационного источника не само направление линий магнитной индукции элементарной намагниченной точки носителя, а изменение направления индукции в процессе продвижения по носителю вдоль концентрической дорожки с течением времени. Такой принцип требует жесткой синхронизации потока бит, что и достигается методами кодирования. Методы кодирования данных не влияют на перемены направления потока, а лишь задают последовательность их распределения во времени (способ синхронизации потока данных), так, чтобы, при считывании, эта последовательность могла быть преобразована к исходным данным. Физическая структура диска: дорожки, секторы, блоки. Емкость диска зависит от характеристики дисковода и особенностей операционной системы; однако, структура диска, в сущности, всегда одна и та же. Данные всегда записываются на магнитной поверхности в виде концентрических окружностей, называемых дорожками. Каждая дорожка, в свою очередь, состоит из нескольких секторов, количество которых определяется при операции форматирования. Сектор является единицей хранения информации на дискете. Количество информации на диске, таким образом, зависит от числа дорожек (от плотности записи ) и общего размера секторов на каждой дорожке. Старые модели дисководов работали с 40 дорожками, нынешние модели - с 80, большинство современных дисководов позволяют форматировать дискеты плотностью до 85 дорожек. Для стандартных дискет IBM расположение каждой дорожки не может быть изменен, потому что это, прежде всего, зависит не от ОС и не от дискеты, а от конструктивных особенностей дисковода. Однако, число, размер и расположение секторов задаются программно при первоначальной разметке ( форматировании ) дискеты. Разметка осуществляется либо ОС, либо используются функции BIOS. Хотя MS-DOS поддерживает размеры сектора дискет 128, 256, 512 и 1024 байта, однако используется сектор размером 512 байт и, по-видимому, это в ближайшее время не изменится ( если и измениться, то только в сторону увеличения ). Структура формата дорожки зависит от типа контроллера, но, как правило, включает в себя байты синхронизации, указывающие на начало каждого сектора, идентификационные заголовки, состоящие из номера цилиндра, головки, сектора и размера сектора, и поля, хранящего байты циклического контроля, предназначенные для обнаружения ошибок при считывании данных и служебной информации. ──┬────────┬───────┬──────┬──────────┬──∙∙──┬──────────┬───────── │ gap4a │ index │ gap1 │ sector 1 │ │ sector n │ gap4b ──┴────────┼───────┼──────┼──────────┼──∙∙──┴──────────┴───────── ┌────┘ └───┐ │ │ ├───────┬────────┤ │ │ │ sync │ IAM │ │ │ └───────┴────────┘ │ │ ┌──────┘ └───┐ ├────────┬────────────┤ │ header │ data field │ ├────────┴────────────┤ ┌────────────────┘ └──────────────────────┐ ├─────┬─────┬─┬─┬─┬─┬────┬──────┬─────┬─────┬──────┬────┬─────┤ │ sync│ SAM │c│h│r│n│ crc│ gap2 │ sync│ DAM │ data │ crc│ gap3│ └─────┴─────┴─┴─┴─┴─┴────┴──────┴─────┴─────┴──────┴────┴─────┘ На приведенной выше схеме : ┌────────┬──────────────────────────────────┬───────────┬──────┐ │ Обозн. │ Назначение поля │ Содержимое│ Длина│ ├────────┼──────────────────────────────────┼───────────┼──────┤ │ GAP4A │ Предындексный зазор дорожки │ 4E │ 50 │ │ SYNC │ Поле синхронизации │ 00 │ 0C │ │ IAM │ Адресный маркер начала дорожки─┬─┼── C2* │ 3 │ │ │ └─┼── FC │ 1 │ │ SAM │ Маркер начала сектора──────────┬─┼── A1 │ 3 │ │ │ └─┼── FE │ 1 │ │ C │ Номер цилиндра │ -- │ 1 │ │ Н │ Номер головки │ -- │ 1 │ │ R │ Номер сектора │ -- │ 1 │ │ N │ Код размера сектора │ -- │ 1 │ │ CRC │ Контрольный код │ -- │ 2 │ │ GAP2 │ Зазор заголовка сектора │ 4E │ 16 │ │ DAM │ Маркер начала данных───────────┬─┼── A1 │ 3 │ │ │ └─┼── FB │ 1 │ │ GAP3 │ Зазоp области данных │ 4E │ 50 │ │ data │ Данные │ -- │ ** │ │ GAP4B │ Зазор дорожки │ 4E │ *** │ * - Данные поля записываются со специально нарушенными битами синхронизации. ** - Длина данных определяется по формуле 128*2^N, где N – код длины из заголовка сектора: от 0 (128б) до 7 (16384б). *** - Длина определяется оставшимся расстоянием до индексного отверстия и зависит только от скорости вращения дисковода в момент форматирования. Поля GAP1..GAP4 служат прежде всего для организации задержки при выдачи порций данных с дискеты, а также для компенсации разбросов физической длины различных полей, возникающих из-за несовершенства механизма дисковода ( конкретнее, из-за нестабильности вращения ). Маркеры служат для выделения определенных областей на диске: идентификатора дорожки, заголовка сектора или области данных. Для того что бы маркеры можно было отличить от данных, их записывают со специально нарушенным кодом синхронизации. Четвертый байт маркера обозначает тип выделяемой им области. Конкретно в маркере области данных значение fb соответствует обычным данным, а f8 - удаленным. Целостность информации в областях данных контролируется с помощью циклического контрольного кода, контрольные числа которого записываются после определенных областей. При считывании с дискеты контроллер самостоятельно высчитывает контрольную сумму, а затем сравнивает ее со считанной с диска. Эта контрольная сумма, называемая кодом циклического контроля ( CRC - Cyrcle Redundency Contol ), подсчитывается с помощью полинома следующего вида : X__16__ + X__12__ + X__5__ + X + 1 В случае несовпадении этих двух чисел выставляется флаг ошибки. Обмен информации между ЭВМ и магнитными дисками. Для хранения больших объёмов информации используются накопители на магнитных лентах и магнитных дисках. Устройства ввода предназначены для восприятия вводимой извне информации, её преобразования в электрические кодовые сигналы и передачи к мультиплексному каналу по средствам интерфейса ввода-вывода. Устройства вывода переводят выводимый из машины сигнал обратно и выводят его на перфокарты (перфоленты), либо на другие внешние устройства. Дисплей - это устройство ввода-вывода алфавитно-цифровой и графической информации на электронно-лучевую трубку. Он очень удобен для оперативного изменения данных непосредственно во время решения задачи. Выносимые пульты предназначены для общения пользователя с ЭВМ, когда их разделяют сотни метров. Существуют 3 группы устройств подготовки данных ЕС ЭВМ: перфокарточные, перфоленточные и использующие магнитные ленты. На контрольниках в ЭВМ производится контроль за правильностью записи информации на перфокарты. Существует два режима работы УПД на магнитной ленте: запись данных и печать считываемых данных Лекция 21. Сканер. Считывание изображения. Типы обрабатываемых изображений. Качество изображения. Сканер Сканер относится к автоматическим устройствам ввода графической информации. Существуют несколько типов сканеров, различающихся по способу перемещения считывающего механизма (его головки) и оригинала относительно друг друга: ручной, рулонный, планшетный, проекционный и барабанный. Ручной сканер - самый простой тип сканера. Здесь роль привода считывающего механизма выполняет рука человека, и по характеру работы этот тип сканеров чем-то напоминает мышь. Очевидно что, насколько равномерно пользователь перемещает сканер, зависит степень искажения передаваемого в компьютер изображения. К основным достоинствам этого типа сканеров относятся небольшие габаритные размеры и сравнительно низкая цена, а недостатки вытекают из принципа конструкции. При помощи таких сканеров невозможно ввести изображение формата А4 за один проход, поскольку считывающая головка имеет малые габариты (стандартная ширина - 105 мм). Современные ручные сканеры могут обеспечивать автоматическую "склейку" изображения, то есть формируют целое изображение из отдельно вводимых его частей. В общем, добиться высокого качества изображения с их помощью очень трудно, поэтому ручные сканеры можно использовать для ограниченного круга задач. Кроме того, они совершенно лишены "интеллектуальности", свойственной другим типам сканеров. У рулонных сканеров сканирующая головка стоит на месте, а бумага перемещается относительно нее с помощью протяжного механизма (как в матричном принтере). Основное достоинство - при сравнительно невысокой цене сканера - возможность ввода документов формата А4. Однако отсканировать книгу удастся, лишь предварительно разделив ее на отдельные листы. Этого недостатка лишены планшетные (наиболее распространенный тип) сканеры, у которых сканирующая головка перемещается относительно бумаги с помощью шагового двигателя. Первоначально использовались для сканирования непрозрачных оригиналов. Почти все модели имеют съемную крышку, что позволяет сканировать "толстые" оригиналы (журналы, книги). Дополнительно некоторые модели могут оснащаться механизмом подачи отдельных листов. В последнее время многие фирмы-лидеры в производстве планшетных сканеров стали дополнительно предлагать слайд-модуль (для сканирования прозрачных оригиналов). Слайд-модуль имеет свой расположенный сверху источник света. Такой слайд-модуль устанавливается на планшетный сканер вместо простой крышки и превращает его в универсальный. У проекционных сканеров считывающая часть перемещается при помощи микромеханизма. Внешний вид их напоминает фотоувеличитель. Некоторые из этих сканеров не используют специального источника света, им достаточно естественного освещения. Хотя проекционные сканеры обеспечивают сканирование с высоким разрешением и качеством слайдов небольшого формата (как правило, размером не более 4 на 5 дюймов), документов, книг, добавляя способность вводить в компьютер проекции трехмерных предметов, они обладают существенным недостатком - низкой скоростью сканирования. Существуют две модификации: с горизонтальным и вертикальным расположением оптической оси считывания. Основное отличие барабанных сканеров состоит в том, что оригинал закрепляется на прозрачном барабане, который вращается с большой скоростью. Считывающий элемент располагается максимально близко от оригинала. Данная конструкция обеспечивает наибольшее качество сканирования. Обычно в барабанные сканеры устанавливают три фотоумножителя, и сканирование осуществляется за один проход. "Младшие" модели у некоторых фирм с целью удешевления используют вместо фотоумножителя фотодиод в качестве считывающего элемента. Барабанные сканеры способны сканировать непрозрачные и прозрачные одновременно. Типов оригиналов бывает всего два: прозрачные (негативные и позитивные слайды), которые сканируют в проходящем свете, и непрозрачные, сканируемые в отраженном свете. Непрозрачные оригиналы представляют собой либо аналоговые изображения - фотографии, либо дискретные - иллюстрации из печатных изданий. Считывание изображения Несмотря на большое многообразие, практически все они основаны на едином принципе считывания данных. Развертка изображения по оси Y осуществляется чисто механически, по оси X картинка считывается многоэлементным фотоприемными линейками с использованием протяженного осветителя и объектива: графическое изображение равномерно освещается и отраженный световой поток попадает на фотоприемную линейку, представляющую собой рецепторное поле. Каждый фотоприемник формирует на выходе электрический сигнал, пропорциональный принятому световому потоку то соответствующего элемента изображения. Выходы элементов линейки последовательно опрашиваются. Электрический сигнал с его выхода с помощью АЦП преобразуется в двоичный код (для многоградационных графических изображений); этот код совместно с номером фотоприемника представляет описание графического элемента, он передается в ЭВМ. Число фотоприемников в линейке составляет от 2000 и выше. Кроме стандартных решений с линейкой в последнее время стали применяться комбинированные датчики протяженного типа. Каждый элемент такого датчика представляет собой сочетание фотоприемника, осветителя и элементарного оптического преобразователя. Механизмы считывания изображения базируются или на фотоумножителе, или на ПЗС (Прибор с Зарядовой Связью). Фотоумножитель проще всего сравнить с радиолампой-фотосенсором, у которой имеются пластины катода и анода и которая конвертирует свет в электрический сигнал. Считываемая информация подается на фотоумножитель точка за точкой с помощью засвечивающего луча. ПЗС - относительно дешевый полупроводниковый элемент довольно малого размера. ПЗС так же как и умножитель конвертирует световую энергию в электрический сигнал. Набор элементарных ПЗС-элементов располагают последовательно в линию, получая линейку для считывания сразу целой строки, естественно и освещается целая строка оригинала. Цветное изображение такими сканерами считывается за три прохода (с помощью RGB-светофильтра). Многие сканеры имеют три параллельные линейки ПЗС, тогда сканирование цветных оригиналов осуществляется за один проход, так как каждая линейка считывает один из трех базовых цветов. Потенциально ПЗС-сканеры более быстродейственны чем барабанные сканеры на фотоумножителях. Типы обрабатываемых изображений По данному критерию сканеры подразделяются на черно-белые, "серые" и цветные. Черно-белые сканеры предназначены для ввода рисунков, текста, чертежей и позволяют вводить изображение в единственном режиме - 1 bpp (бит на пиксель, bits per pixel). Значение этого бита (1 или 0) определяет черную или белую точку. "Серые" сканеры содержат аналого-цифровой преобразователь (АЦП) и позволяют вводить изображение в режиме несколько бит на точку. Количество градаций серого для таких сканеров равно 2n, где n - число bpp. Для bpp=8 имеется 2^8=256 градаций серого, для bpp=6 - 2^6=64 градаций. Уже стали достоянием истории сканеры, которые не имели АЦП и для получения числа bpp более 1 были вынуждены необходимое количество раз проходить одну и ту же строчку. Однако надо отличать "серые" сканеры от эмулирующих серое. Последние поддерживают полутоновый режим. При этом режиме число bpp не меняется и равно 1, а "серость" достигается за счет механизма dithering (размывания), обеспечивающего пользователю возможность получать "серую" картинку, сканируя изображение в черно-белом режиме (с числом bpp 1). Градации серого эмулируются с помощью плотности черных точек (то есть разного количества черных точек на единицу площади изображения). Происходит это следующим образом: все изображение разбивается на участки определенного размера (2*2, 4*4, 8*8), называемые dither pattern (размываемый шаблон). Для каждой точки участка существует свое значение порога, отделяющего черное от белого. Поэтому соседние точки, отличающиеся друг от друга по степени отражения света, могут в результате оказаться одинаковыми, в то время как при простом черно-белом сканировании они были бы разными. Размер участка определяет число градаций серого, которое способен эмулировать сканер. Dither pattern бывают нескольких разновидностей: "fine" (точный),"coarse" (грубый),"bayer" и другие. Для ручных сканеров имеется возможность выбора из трех или четырех, а вид pattern заранее предопределен. В отличии от них планшетные сканеры предоставляют возможность более широкого выбора, а также определения собственных pattern. У цветных сканеров число bpp обычно равно 24, то есть по 8 бит на точку для каждого из цветов (RGB). Соответственно число воспринимаемых цветов - 16777216. Цветные сканеры могут работать и в "сером", и в черно-белом режиме. Качество изображения Сканеры различаются по многим параметрам - технологии считывания изображения, типу механизма и некоторым другим. Рассмотрим более подробно параметры сканирующего устройства, влияющие на качество изображения. К таким параметрам относятся разрешающая способность, число передаваемых полутонов или цветов, диапазон оптических плотностей, интеллектуальность сканера, цветовые искажения, точность фокусировки (резкость). Разрешающая способность При сканировании оригинал разбивается на отдельные части одинакового размера - пиксели. В процессе сканирования каждому пикселю назначается свой адрес. Каждому пикселю по каждому адресу присваивается цифровое значение, соответствующее уровню серого полутона, зарегистрированного считывающим элементом; это называется оцифровкой. Оцифровка штриховых оригиналов относительно проста. В процессе сканирования пиксель может быть либо белым, либо черным. Однако и здесь может быть потеря информации. Например, пиксель содержит 50% белого и 50% черного, тогда требуется выбор чего-то одного. Это приводит к получению эффекта "зубья пилы". На практике для высококачественного сканирования штриховых оригиналов достаточно иметь разрешающую способность 1200 пикселей на дюйм. Кроме оптической разрешающей способности существует еще "математическая" или программная разрешающая способность (интерполированная). Увеличение разрешающей способности достигается следующим образом: специальная программа при сканировании оригинала анализирует значения двух соседних пикселей и математически находит промежуточное значение, то есть вводит еще один пиксель со значением, полученным математическим путем. Все это было бы хорошо, но не всегда это дает дополнительные преимущества при сканировании. Давайте представим себе оригинал с очень резким переходом тона или, что еще нагляднее, оригинал в виде иллюстрации из журнала, который уже не является аналоговым изображением. В этом случае математическое интерполирование может не совпасть с реальной картиной. Для того чтобы получить качественное отпечатанное изображение, разрешающая способность при сканировании должна быть в два раза больше линеатуры растра при печати. Введем в это определение коэффициент увеличения изображения, который почти всегда присутствует, и получим формулу, чтобы получить значение разрешающей способности, необходимо линеатуру растра печати умножить на коэффициент увеличения и умножить на два. Существует много сканеров с высокой оптической разрешающей способностью. Вот наиболее часто встречающиеся значения: 1200, 2400, 4000, 5000, 6400 и даже более точек на дюйм. Разрешение более 2400 точек на дюйм трудно достижимо сканерами с ПЗС, или оно достижимо только на очень ограниченной площади, например, не более 40*60 мм. Число передаваемых полутонов или цветов Следующим качественным параметром является глубина точки, которая и определяет число передаваемых полутонов. Глубина точки - это количество бит, которые сканер может назначить при оцифровывании пикселя. Сканер с глубиной точки 1 бит может регистрировать только два уровня белый и черный, сканер с глубиной точки 8 бит может регистрировать 256 уровней, 12 бит - 4096 уровней. Существуют сканеры с глубиной 13, 14 и 16 бит на точку. Относительно сканеров с ПЗС следует сказать, что глубина точки более 13 бит трудно достижима, так как становится очень трудно отличить уровень сигнала от уровня помех. Так сканер с глубиной точки 13-14 бит может позволить воспроизвести более 1мрлд. цветовых оттенков. Диапазон оптических плотностей Один из важнейших параметров сканера - это диапазон оптических плотностей, воспринимаемых им. Диапазон оптических плотностей, являющийся логарифмической производной, измеряется в относительных единицах от нуля и до какого-то значения, которое обычно приводится в технических характеристиках. Глубина точки и динамический диапазон связаны между собой. Глубина точки показывает физическую возможность воспринимать большой диапазон оптических плотностей, а действительный диапазон сканера еще зависит и от чувствительности считывающего устройства, и от электроники, и от механики, применяемой в сканере. Не прозрачные оригиналы имеют диапазон плотностей, где максимальное значение не превышает 2.4-2.5, в то время как слайды могут иметь максимальное значение динамической плотности 4.0. Не много найдется сканеров, которые бы воспринимали динамические плотности от 3.2 и выше. Планшетные ПЗС-сканеры среднего класса имеют значение динамической плотности в диапазоне 2.8-3.0, у ПЗС-сканеров более высокого класса это значение достигает 3.6, и только барабанные сканеры на фотоумножителях имеют динамическую плотность 4.0. Интеллектуальность сканера Под интеллектуальностью обычно понимается способность сканера с помощью заложенных в нем аппаратных и поставляемых с ним программных средств автоматически настраиваться и минимизировать потери качества. Наиболее ценятся сканеры, обладающие способностью автокалибровки, то есть настройки на динамический диапазон плотностей оригинала, а также компенсации цветовых искажений. Допустим, нужно отсканировать слайд, имеющий максимальную оптическую плотность 4.0, сканером, воспринимающим оптический диапазон плотностей до 3.2. "Интеллектуальный" сканер сначала делает предварительное сканирование для анализа и получения диаграммы оптических плотностей. Обычно такая диаграмма выглядит приблизительно так, как показано на рисунке. После анализа диаграммы сканер производит свою автокалибровку с целью сдвига своего динамического диапазона восприятия оптических плотностей. Цветовые искажения сканеров Каждый сканер обладает своими собственными недостатками при восприятии цветов и общими недостатками, присущими данной модели. Общие недостатки обусловлены техническими возможностями и механическими характеристиками модели. Собственный недостаток сканера обусловлен индивидуальной особенностью освещающего оригинал источника света и считывающего элемента. Все продаваемые сканеры проходят заводскую калибровку. Однако, если сканер имеет функцию автокалибровки, то это большое преимущество перед сканером, лишенным такой функции. Автокалибровка сканера позволяет скорректировать цветовые искажения и увеличить число распознаваемых цветовых оттенков. Поскольку источник света имеет свойство изменять свои характеристики со временем, как, впрочем, и считывающий элемент, наличие автокалибровки приобретает первостепенное значение, если постоянно работать с цветными полутоновыми изображениями. Практически все современные модели сканеров обладают такой функцией. Точность фокусировки На заводе-изготовителе проводят настройку фокусировки сканера, тем не менее еще одним признаком интеллектуальности сканера является его способность автоматической настройки фокуса (резкости). Потребность в этом возникает потому, что толщина оригинала может быть различна и должна учитываться. Кроме того сам оригинал может быть не очень резким. Плохая резкость отсканированного изображения обычно приводит к плачевным результатам, особенно, если сканируется небольшой оригинал, изображение которого будет затем увеличиваться при печати. Интерфейс с адаптером Большинство ручных сканеров работают через собственную плату адаптера, вставляемую в 8-битовый или 16-битовый слот расширения материнской платы. При этом обмен данными идет через канал прямого доступа DMA с использованием прерывания, возникающего после считывания очередной строки. Практически на всех платах адаптеров существует возможность выбора банка используемых адресов (установкой переключателя в соответствующее положение). На многих платах выбирается также номер используемого канала DMA и номер используемого аппаратного прерывания. Благодаря этому можно избежать конфликта с другими внешними устройствами, уже использующими DMA, IRQ или порты, установленные по умолчанию. Наличие аппаратного прерывания присуще не всем сканерам, так в некоторых ранних моделях данная возможность отсутствовала. Это создавало сложности как для систем OCR, так и для других программных продуктов, поддерживающих в процессе сканирования динамическую запись получаемой информации на жесткий диск. Все современные модели ручных сканеров поддерживают аппаратное прерывание, возникающее при считывании строки. Для остальных типов сканеров данная проблема не актуальна, так как они умеют останавливаться после считывания одной строки. Многие модели рулонных сканеров и планшетных сканеров также работают через плату адаптера. Интерфейс SCSI С появлением SCSI (Small Computer System Interface) производители сканеров стали выпускать устройства, поддерживающие этот интерфейс. В компьютере может быть только одна плата контроллера SCSI, устройства к ней подсоединяются по цепочке. С одной платой контроллера SCSI можно соединить до 7 устройств. Кроме того, SCSI не ориентирован на определенную аппаратную платформу (то есть работает на IBM PC, Macintosh, Sun и других машинах). Новые модели flatbed-сканеров практически всегда поддерживают SCSI. Последовательный интерфейс (RS232) Продолжают использоваться сканеры, у которых наряду с возможностью обмена данными через канал DMA (Direct Memory Access – прямой доступ к памяти) существует альтернативный способ связи - через последовательный порт. Но существуют сканеры, обеспечивающие только этот способ связи. Для работы с такими сканерами не нужна плата адаптера, но их крупным недостатком является низкая скорость сканирования, обусловленная природой данного метода связи. Параллельный интерфейс В последнее время появляется все больше моделей сканеров, использующих для обмена данными стандартный параллельный порт принтера. Скорость сканирования у данных моделей значительно выше, чем через последовательный интерфейс, но ниже, чем через канал DMA. Классификация задач, решаемых при помощи сканеров 1. Офисное делопроизводство, офисное издательство. К этой группе принадлежат, как правило, планшетные и портативно-страничные сканеры. Монополистом в этой области является Hewlett-Packard. 2. Домашнее применение. Здесь приоритет за ручными и портативно-страничными сканерами. К данной группе можно отнести и использование сканеров в командировках, поездках, библиотеках и т.д., подключается к notebook'у через параллельный порт. 3. Профессиональное издательство. Используются планшетные и специальные (барабанные в том числе) сканеры фирм Agfa, Umax, Epson, Microtek и др. 4. Документооборот. В этой области применяются, главным образом, планшетные и скоростные сканеры фирм Fujitsu, Unisys, Hewlett-Packard, Primax. 5. Потокового ввода в архивы. Используются, как правило, скоростные сканеры фирм Kodak,Unisys, Fujitsu, Hewlett-Packard, Bell+Howell. 6. Проектирование. К этой группе относятся сканеры (проекционные, рулонные сканеры), применяемые в конструировании, медицине, военных нуждах. Список литературы 1. Донни О’Квин - Допечатная подготовка. Москва. 2001. 2. Алиев Т.М., Вигдоров Д.И. Системы отображения информации - Москва: Высшая кола, 1988. 3. Гришин М.П., Курбанов Ш.М., Маркелов В.П. Автоматический ввод и обработка фотографических изображений на ЭВМ - Москва: Энергия,1976. 4. Гротта Д., Гротта С.В. Сканеры. // Компьютер дома - 1996 - N3. 5. Дьяков В. Сканирование рисунков ручным сканером. // Домашний компьютер - 1996 - N2. 6. Ларионов А.М., Горнец Н.Н. Периферийные устройства в вычислительных системах - Москва: Высшая школа, 1991. 7. Лувишис И., Зарубин Ю., Мазо Б. Сканеры. // Компьютер Пресс - 1994 - N5. 8. Первый международный сканерный форум - отражение сканерного рынка. // HARD'n'SOFT - 1996 - N7. 9. Периферийное и терминальное оборудование ЭВМ / под редакцией Смирнова Ю.М. - Москва: Высшая школа, 1990. 10. Сканеры. // HARD'n'SOFT - 1995 - N3. Лекция 22. Назначение и функции операционной системы. Назначение операционной системы Операционная система (ОС) - это комплекс программного обеспечения, предназначенный для снижения стоимости программирования, упрощения доступа к системе, повышения эффективности работы. Цель создания операционной системы - получить экономический выигрыш при использовании системы, путем увеличения производительности труда программистов и эффективности работы оборудования. Функции операционной системы: - связь с пользователем в реальном времени для подготовки устройств к работе, переопределение конфигурации и изменения состояния системы. - выполнение операций ввода-вывода; в частности, в состав операционной системы входят программы обработки прерываний от устройств ввода-вывода, обработки запросов к устройствам ввода-вывода и распределения этих запросов между устройствами. - управление памятью, связанное с распределением оперативной памяти между прикладными программами. - управление файлами; основными задачами при этом являются обеспечение защиты, управление выборкой и сохранение секретности хранимой информации. - обработка исключительных условий во время выполнения задачи - появление арифметической или машинной ошибки, прерываний, связанных с неправильной адресацией или выполнением привилегированных команд. - вспомогательные, обеспечивающие организацию сетей, использование служебных программ и языков высокого уровня. Основные характеристики операционной системы UNIX Операционная система UNIX разработана в 70-х годах Кеном Томпсоном и Деннисом Ритчи в Bell Laboratory и первоначально предназначалась для проведения исследовательских работ. Однако концептуальная целостность системы и целый ряд новых нетрадиционных и прогрессивных решений, заложенных в нее при создании, показали преимущества UNIX по сравнению с другими операционными системами этого класса. Система UNIX быстро распространилась и сейчас активно используется на многих вычислительных установках. В нашей стране аналогом операционной системы UNIX является ИНМОС. Сначала эта система была ориентирована на СМ ЭВМ, а затем перенесена и в сферу ЕС ЭВМ. К несомненным достоинствам UNIX следует отнести: - концептуальное единство - простоту - инструментальность - мобильность - эффективность Концептуальное единство заключается в том, что система UNIX "обозрима", и пользователь, работающий с ней, как правило, не только использует ее возможности, но и хорошо представляет, как они реализуются. Простота системы проистекает из того условия, что средства системы выразительны и имеют удобную мнемонику. Допускается изучение по частям, что дает возможность пользователю ограничиться изучением только того набора средств, который ему в данный момент необходим. Инструментальность проявляется в насыщении различными инструментальными средствами, облегчающими процесс конструирования программного обеспечения. Их можно разделить на следующие группы: - утилиты различного назначения - средства работы с текстами - средства поддержки разработок программного обеспечения - средства генерации программ анализа - интерпретатор shell, являющийся важным инструментальным средством, позволяющий на уровне командного языка строить новые инструментальные средства проблемной направленности. Мобильность означает возможность переноса системы с одной машинной архитектуры на другую с минимальными затратами. Эффективность заключается в конструктивных особенностях, реализованных в системе, освобождающих пользователя от решения многих проблем, свойственных другим системам, и значительно повышают продуктивность практического использования системы для решения самых разнообразных задач. Недостатки системы: - не поддерживается режим реального времени - слабая устойчивость к аппаратным сбоям - снижение эффективности при решении однотипных задач - слабо развиты средства взаимодействия и синхронизации процессов Основные характеристики операционной системы MS-DOS Операционная система MS-DOS (дисковая операционная система фирмы Microsoft), была разработана в 1981 г. Билом Гейтсом - президентом фирмы Microsoft, одновременно с машинами типа IBM PC и стала для них доминирующей. К настоящему времени разработано несколько версий системы. MS-DOS во многом напоминает по своим возможностям ОС UNIX. Предоставляемые MS DOS возможности обеспечивают, с одной стороны, удобный доступ к имеющимся прикладным пакетам и программам для непрофессиональных пользователей, с другой стороны, создают хорошую среду для разработки программного обеспечения. MS DOS является стандартом для 16-разрядных микро ЭВМ. В отличие от СР/М MS-DOS обеспечивает организацию многоуровневых каталогов, имеет более развитый командный язык. Структура MS-DOS. Операционная система MS-DOS состоит из трех основных подсистем: - модуль взаимодействия с базовой системой ввода-вывода (файл IO.SYS) - собственно операционная система, обеспечивающая взаимодействие с программами пользователя. Она состоит из программы файловой системы, программ блочного обмена с дисками и других встроенных операций доступных программ пользователей (MSDOS.SYS) - командный процессор (файл command.com) Все подсистемы должны располагаться на диске, с которого происходит загрузка операционной системы. При запуске системы (любая операция перезагрузки, либо при включении питания) в память считывается и получает управление специальная программа - так называемая программа начальной загрузки. Она помещается на все дискеты, чтобы напечатать сообщение об ошибке при попытке запустить систему с дискетой в формате отличном от формата MS-DOS При получении управления программой начальной загрузки просматривается оглавление диска - проверяется, что первые два файла - это IO.SYS и MSDOS.SYS. Если они не обнаружены, на экран выдается сообщение об ошибке, если обнаружены, оба файла считываются в оперативную память и управление передается в модуль взаимодействия с базовой системой ввода-вывода (IO.SYS). Подпрограмма инициализации (начала работы) в IO.SYS определяет состояние оборудования, приводит в действие дисковую систему и подключенные устройства, загружает драйверы устройств и устанавливает значения специальных управляющих блоков, связанных с обработкой прерываний. Затем она выполняет настройку адресов в ядре MS DOS и передает ему управление. Ядро MS DOS инициализирует свои внутренние рабочие таблицы, создает управляющие таблицы и возвращает управление модулю взаимодействия с BIOS. Последнее действие IO.SYS - загрузка командного процессора по адресу, установленному подпрограммой инициализации ядра MS DOS. Затем управление передается COMMAND. COM. Модуль взаимодействия с базовой системой ввода/вывода реализует набор операций работы с дисками и устройствами ввода/вывода. Только эта часть MS DOS непосредственно взаимодействует с внешними устройствами, только она зависит от особенностей и характеристик внешних устройств, используемых в конкретных компьютерах. В ней определена логика взаимодействия с устройствами ввода-вывода адресов подключения, набор команд контроллера дисков и т. д. Все другие компоненты MS DOS общаются с внешним миром только через модуль взаимодействия с BIOS. Пользователь из своих прикладных программ может обращаться к некоторым MS DOS командам. Имеются программы для ввода с клавиатуры, для вывода на терминал и на печать, для формирования блоков управления файлами, управления памятью, обработки даты и времени, операций над дисками, каталогами и файлами. Ядро MS DOS реализует все функции, связанные с файловой организацией информации на дисках, управлением дисководами, распределением пространства и работой с их справочниками. MS DOS размещает (форматирует) все диски и дискеты с размером сектора 512 байт. Область для MS DOS (вся дискета или раздел на твердом диске) распределена следующим образом: - блок начальной загрузки - таблица размещения файлов - копия таблицы размещения файлов - корневой каталог - область данных Файлам выделяется пространство в области данных по мере необходимости, когда происходит фактическая запись; предварительного распределения не производится. Пространство выделяется порциями, называемыми кластерами. На односторонних дискетах кластер равен одному блоку; на двухсторонних каждый кластер состоит из двух блоков. Размер кластера для твердого диска определяется при разметке командой FORMAT и зависит от размера раздела MS DOS. Таблица размещения файлов (File Allocation Table - FAT) связывает кластеры одного файла в цепочку. Кластеры устроены так, что минимизированы перемещения головок при работе с многосторонними носителями. Все пространство одной дорожки или одного цилиндра заполняется информацией, после чего происходит переход к следующий дорожке или цилиндру. При этом сначала используются последовательные секторы для головки с наименьшим сектором, после чего секторы следующей головки и так далее до последней головки, затем происходит переход к следующему цилиндру. Файлы пишутся на диск в область данных обязательно последовательно. Пространство области данных распределяется по одному кластеру, при этом уже занятые кластеры пропускаются. Выделяется первый найденный свободный кластер вне зависимости от его физического расположения на диске. Это обеспечивает наиболее эффективное использование дискового пространства, так как кластеры, освобожденные при удалении файла, становятся доступными для размещения новых файлов. Командный процессор организует взаимодействие системы с пользователем на языке команд MS DOS. Он читает команды, введенные с пульта оператора, анализирует их и выполняет либо непосредственно (встроенные команды), либо загрузив в оперативную память программу, соответствующую этой команде (загружаемые команды), и передав ей управление. Windows 3. 1 и Windows 3. 11 По сути дела Windows 3.1 и 3.11 является всего-навсего надстройкой над DOS, однако между ними существуют серьёзные различия - именно они позволяют называть Windows операционной системой. Графический интерфейс, как оказывается здесь не главное. Итак, что же можно сказать про Windows? Начнем с того, что в Windows вы можете последовательно запустить несколько (а не строго одно, как в DOS) приложений и переключаться между ними в процессе работы. Некоторые приложения, в зависимости от задачи, могут продолжать работать, находясь в запущенном, но неактивном состоянии. В Windows используется неактивный режим работы процессора (protected mode), и программа пользователя уже не может влезть в какую ей угодно область памяти и делать там что вздумается. Большим преимуществом Windows 3.11 стала возможность работы в одно-ранговой сети или с выделенным сервером. Теоретически, можно забыть про приобретение специального сетевого программного обеспечения и обойтись только средствами Windows 3.11. Однако на практике в локальной сети всё-таки лучше ставить специальное сетевое ПО, а уже поверх него - Windows 3.11. Тем более что в Windows предусмотрена поддержка не только своей сети, но и других сетевых протоколов. Возможность использования в программах виртуальной памяти - (иными словами, выделение программе шести мегабайт памяти на машине с физическими четырьмя) также весьма удобна. И хотя в таком режиме компьютер заметно замедляет свою работу, бывает очень важно, чтобы “требовательная” программа работала уж как-нибудь, чем никак. Windows распахивает перед пользователями фантастический мир мультимедиа, измерения которого системе DOS и не снились. DOS могла позволить воспроизведение максимум небольших мультфильмов - способности Windows трудно перечислить: это компьютерные игры, электронные энциклопедии, интерактивная графика и многое другое. По своим возможностям Windows значительно превосходит DOS, но и требования к аппаратным ресурсам компьютера предъявляет немалые. Так, для работы в защищённом режиме компьютер должен быть оснащён как минимум 386-м процессором, а уж памяти Windows потребляет исходя из принципа “чем больше, тем лучше”. И если DOS на “двушке” с мегабайтом памяти работала быстро и уверенно, то Windows, даже версии 3.0, на такой машине работает крайне медленно. Сегодня совмещение DOS + Windows на персональных компьютерах встречается наиболее часто; для Windows разработано несметное количество приложений, игр и Windows 95 Windows 95 выделяется среди других систем по совокупности своих характеристик: удобства, совместимости, функциональных возможностей и быстродействия. Создавая Windows 95, корпорация Microsoft, по-видимому, задумала такую систему, работать с которой мог бы человек, не окончивший даже среднюю школу. Инсталлировать Windows 95 не сложнее, чем хлеба к обеду нарезать. Правда преемственность предыдущих версий Windows только этим не ограничивается: Windows 95 имеет много общего со своими предшественницами. Она устанавливается, по сути дела, поверх MS-DOS, и, честно говоря безразлично, что она пишет в ответ на команду “ver” в режиме DOS:MS-DOS version x.xx или Windows 95. Несмотря на то что Windows 95 разрекламирована как полноценная 32-разрядная операционная система, в действительности же она имеет 16-разрядное ядро. Как это ни прискорбно, для разработки 32-разрядных приложений необходимо запускать специальные утилиты - аналогично тому, как в Windows 3.11 ставился модуль Win32S. (Кстати, это и есть тот же Win32S, только видоизменённый для Windows 95) Из всех усовершенствований, реализованных в Windows 95, для повышения производительности работы пользователя, вероятно, важнее всего значительные усовершенствования в интерфейсе. Изменения в нём, по сравнению с Windows 3.x в самом деле поразительны, но не меньше бросается в глаза то, как много в нем заимствований из Mac OS и OS/2. Например: - при нажатии правой кнопки мыши появляется контекстно-зависимое меню (OS/2). - корзина “ Recicle Bin “, аналог Мусорного Ведра (“ Trasch “ Mac OS) и т. д. - программы, документы и ярлыки (указатели на другие файлы могут размещаться на “Рабочем столе “ (OS/2)). Поддержка сетевых протоколов в Windows 95 немного расширилась по сравнению с предыдущими версиями Windows: например, появилась поддержка протокола TCP/IP; по отношению к локальным сетям политика не претерпела изменений. Сохранился свой протокол обмена между компьютерами и возможность поддержки других сетевых протоколов. Новая ОС не только выполняет подавляющее большинство существующих программ для Windows 3.х и DOS, но и совместима с драйверами реального режима для этих систем. Использование таких драйверов может ослабить устойчивость работы 32-разрядной системы, зато устраняет сложности, возникающие из-за отсутствия нужного драйвера для того или иного периферийного устройства. Эту проблему никак не удаётся решить ни в Windows NT ни в OS/2 Warp. Требования Windows 95 к аппаратному обеспечению несколько выросли по сравнению с Windows 3.11. В первую очередь они коснулись объёма оперативной памяти, необходимой для нормальной работы. Windows 95 вышла на рынок сравнительно недавно, однако под неё написано уже много приложений: ведущие производители ПО связывают с ней большие надежды и переводят свои популярные продукты на рельсы Windows 95. OS/2 Операционная система OS/2, разработанная фирмой IBM, даже в ранних версиях зарекомендовала себя как весьма мощная ОС. Думаю, что не ошибусь, сказав, что OS/2 стала первой реально многозадачной операционной системой на персоналках, к тому же в своей основе она является объектно-ориентированной. В общем-то, складывается такое впечатление, что если Windows разрабатывалась начиная с интерфейса, то OS/2 создавалась, как и положено операционным системам, начиная с ядра. OS/2 является действительно 32-разрядной операционной системой, и ей не требуется никаких дополнений для работы с 32- разрядными приложениями. Апологеты Windows довольно долго обвиняли OS/2 в том, что она не “понимает” программ, написанных для Windows, - что и говорить, их число огромно, а некоторые из них уникальны. Уже в версии 2.0 программисты IBM исправили свою ошибку и включили в OS/2 сессию Windows. И сделали они это, надо отдать должное, весьма неплохо: Windows-приложения стали работать на порядок быстрее (кстати, DOS приложения под OS/2 тоже работают быстрее, нежели под DOS). Первая версия OS/2 вообще не имела графического интерфейса (presentation manager) - он появился относительно недавно. Правда, у ранних версий этой ОС и запросы к аппаратному обеспечению сравнительно невысоки. Так что если вам нужна реальная многозадачность, но денег на мощный компьютер не хватает, то ранние версии OS/2 - это неплохой вариант решения данной проблемы. Более поздние версии OS/2 получили графический интерфейс. И хотя интерфейс OS/2 иногда обвиняют в том, что с ним не возможно работать, многие не склонны разделять это мнение; некоторые пользователи, напротив, устанавливают в Windows программу, реализующую интерфейс от OS/2. Основное достоинство OS/2 - это, несомненно, возможность работать в режиме разделения времени. Она позволяет выполнять вам несколько задач одновременно: например, форматировать дискету и одновременно компилировать программу. При этом выполнение задач почти не замедляется. Работа с сетями в OS/2 ориентирована в первую очередь на поддержку протокола TCP/IP, однако система неплохо работает и с другими протоколами, например IPX. Нельзя не упомянуть и о том, что недавно была выпущена локализованная версия OS/2 Warp 3.0. Теперь стало проще разбираться в многочисленных настройках самой OS/2, а так же сеансов DOS и Windows. Само собой разумеется, что широкие возможности OS/2 обходятся пользователю недёшево. И хотя IBM объявила, что OS/2 Warp работает на 386-м компьютере с четырьмя мегабайтами оперативной памяти, специалисты замечают: если вы хотите, чтобы OS/2 работала без проблем, помножьте все аппаратные требования, которые указаны в руководстве, на два. В целом же, кто имел раньше дело с Win 95, NT и Mac OS сочли OS/2 наименее удобной в работе среди рассматриваемых ОС. Одним из очень больших недостатков является например то, что Warp позволяет удалять файлы простым перемещением их на пиктограмму Shredder (“Дробилка”), однако по умолчанию она не может восстановить файл, который был стёрт ошибочно. Она не выдаёт предупреждений при попытке удаления жизненно важных системных файлов. OS/2 Warp 3.0 остаётся привлекательной для тех, кто любит настраивать интерфейс по своему вкусу и кому не требуется очень много готовых прикладных пакетов. Высококачественные средства программирования, имеющиеся в данной ОС, обеспечивают этой системе успех у фирм, разрабатывающих собственное программное обеспечение для внутреннего пользования. Иными словами, имеет смысл устанавливать в том случае, если вам действительно необходим режим разделения времени между задачами, а также возможности, которые другие операционные системы предоставить не могут. Windows 98 Windows 98 позиционируется компанией Microsoft как обновление для Windows 95. Сама Microsoft настаивает на том, что, не будучи "революционно новой", очередная ОС обеспечивает прирост производительности системы и большую стабильность в работе. Кроме того, в Windows 98 реализован ряд новых возможностей, позволяющих, к примеру, работать с USB-устройствами, DVD-дисководами и т.д. В Windows 98 значительно богаче набор средств для диагностики и разрешения конфликтов, чем в Windows 95, включая Version Conflict Manager и Maintenance Wizard. Microsoft предполагает, что благодаря этим средствам уменьшение числа обращений пользователей к службам технической поддержки. Добавлена версия Internet Explorer 4.0. Windows 98 улучшает качество воспроизведения графики, звука и мультимедийных приложений, созданных по новейшим технологиям. Через некоторое время появилась на свет вторая редакция популярной операционной системы Windows 98 (полное название версии 4.10.2222). Windows 98 Second Edition – скорее, сборник апдейтов и мелких дополнений, чем что-то революционно новое. Во-первых, это новый Explorer версии 5.0. Во-вторых, в новой редакции системы появился прокси-сервер ICS (Internet Connection Sharing - совместное использование Internet), который позволяет в небольшой локальной сети организовать совместный доступ в Интернет при помощи одного модема. В-третьих, это новая версия NetMeeting - 3.0. Последняя версия NetMeeting расширяет возможности проведения сетевых конференций, повышает быстродействие и обеспечивает безопасность и поддержку стандартов Интернета. В четвертых это Service Pack, то есть сборник апдейтов и устранений ошибок предыдущей версии Windows. В-пятых, в систему введена поддержка IEEE 1394 и ACPI, а также улучшена поддержка USB. Преимущества: Простота использования и доступа в Интернет. Динамическая справочная система на основе веб-технологии и 15 программ-мастеров упрощают использование компьютера. Веб-совместимый интерфейс пользователя Windows 98 облегчает поиск, унифицируя представление информации в компьютере, локальной сети и Вебе. Второе издание Windows 98 обеспечивает возможность одновременного доступа в Интернет с нескольких сетевых компьютеров через одно общее подключение. Высокая производительность и надежность. Сокращение времени запуска приложений, новые средства очистки диска и повышения эффективности его работы. Все это стало возможным благодаря новшествам, превращающим Windows 98 в мощную и надежную операционную систему. Поддержка аппаратных средств нового поколения. Использование преимуществ новейших стандартов и технологий, таких как шина USB, DVD и IEEE 1394, расширение возможностей за счет подключения к одному компьютеру нескольких мониторов, Windows NT С такими операционными системами, как Windows NT, рядовому пользователю приходится сталкиваться довольно редко: разве что где-нибудь на работе или на выставке. Несмотря на то что Windows NT названием и интерфейсом похожа на другие ОС корпорации Microsoft, она значительно от них отличается - Windows NT предназначена в первую очередь для крупных сетей. Windows NT, в отличие от Windows 3.11, является полноценной 32-разрядной операционной системой с широкими возможностями; благодаря развитым сетевым возможностям она может использоваться при интеграции нескольких сетей. Система не поддерживает идеологию Plug&Play. Однако, по целому ряду причин для некоторых пользователей именно эта ОС является наилучшей. Если характер вашей работы таков, что любая порча данных может обойтись очень дорого, то серьёзные меры по обеспечению устойчивости и безопасности, реализованные в Windows NT могут быть спасением. Windows NT - система скорее для корпоративных, чем для домашних пользователей. В этой промышленной версии Windows фирмы Microsoft основной упор сделан на безопасность и надёжность в ущерб всему остальному, в том числе и удобству пользователя. Windows 2000 В феврале 2000 г. в Москве прошла презентация новой системы Windows 2000. Платформа Windows 2000 представляет собой операционную систему нового поколения для делового использования на самых разнообразных компьютерах — от переносных компьютеров до высококлассных серверов. Данная операционная система основывается на технологии NT и является наилучшей операционной системой для ведения коммерческой деятельности в Интернете. Система является надежной: настольные компьютеры, портативные компьютеры и серверы, на которых используется операционная система Windows 2000, работают безотказно. Применение Windows 2000 снижает затраты, так как упрощается управление системой. Кроме того, это наилучшая операционная система, которая позволяет применять любое новейшее оборудование — от самых маленьких мобильных устройств и до самых больших серверов для электронной коммерции. Операционная система Windows 2000 Professional объединяет присущую Windows 98 простоту использования в Интернете, на работе, в пути, с присущими Windows NT управляемостью, надежностью и безопасностью. Семейство Windows 2000 Server является новым поколением удостоенной наград и пользующейся коммерческим успехом операционной системы Windows NT Server. Данное семейство состоит из многоцелевых масштабируемых сетевых операционных систем. Windows 2000 предоставит удобную в управлении систему, обеспечивающую большую работоспособность оборудования, а также платформу для наиболее ответственных приложений электронной коммерции и ведения бизнеса в определенной области. Windows 2000 Datacenter Server является самой производительной и полнофункциональной серверной операционной системой из всех, когда-либо предлагавшихся корпорацией Microsoft. Эта система поддерживает до 64 ГБ физической памяти, а также симметричную мультипроцессорную обработку с использованием до 32 процессоров. Ее стандартные компоненты обеспечивают 4-узловую кластеризацию и балансировку нагрузки. Она оптимизирована для работы с большими хранилищами данных, эконометрического анализа, моделирования крупномасштабных процессов в науке и технике, оперативной обработки транзакций и объединения серверов Служба каталогов Microsoft Windows 2000 Active Directory является одним из самых важных новшеств операционной системы Windows 2000. Служба Active Directory значительно упрощает управление системой, усиливает систему безопасности и расширяет возможности интеграции с другими платформами. Ключевой особенностью, обеспечивающей интеграцию, является возможность синхронизации информации, хранимой в каталоге Active Directory, с другими хранилищами информации, в том числе со службой каталогов Novell Directory Services (NDS) и системными базами данных. Русскоязычные версии Windows 2000 помимо полной поддержки русского языка имеют поддержку украинского, белорусского, казахского, армянского, грузинского, азербайджанского, узбекского, а также татарского языков. Это значит, что пользователи локализованной версии смогут создавать и редактировать документы на перечисленных языках, при том что интерфейс пользователя и справочная система будут оставаться на русском языке. Кроме того, в Windows 2000 локализованы и утилиты командной строки. В Windows 2000 разработчики не только постарались учесть опыт создания NT-систем предыдущего поколения, сохранив все их традиционные достоинства, но и включили в нее много полезных наработок из привычной в своей доступности и простоте Windows 9x, как бы сблизив эти две разные системы. Главное же и важнейшее ее достоинство для нас с вами – это совместимость с большинством программ Windows 9x. При этом надежность Windows 2000 на порядки выше, чем у Windows 9x. Устойчивость работы Windows 2000 объясняется не только тем, что DOS в ней отсутствует – система полностью 32-х разрядная, но и тем, что в ней, в отличие от Windows 9x, применена так называемая вытесняющая многозадачность. При таком способе реализации многозадачности, ни один процесс не сможет полностью завладеть центральным процессором, а получит в свое распоряжение лишь небольшой кусочек времени работы CPU, после чего процессор благополучно перейдет к обслуживанию следующего процесса – и так по кругу. Таким образом, каждый процесс обрабатывается по очереди под управлением специального диспетчера, и зависшая программа принудительно освобождает процессор, когда время, ей отведенное на работу, истекает. При появлении же сбоя достаточно снять “повисшую” задачу, что никак не отражается на деятельности всей системы и других программ, так как друг на друга они никак не влияют. По сравнению с Windows NT, новая операционная система не только значительно облагорожена приятным внешним видом пользовательского интерфейса, который не вызовет никаких проблем у тех, кто видел Windows 9x, но и заметно улучшена поддержка широкого спектра нового оборудования. Система воспринимает без проблем и Plug and Play, USB, IEEE, ACPI, AGP, MMX, и даже FAT32. Таким образом, наконец-то появилась операционная система, которая хоть как-то может заменить нам “капризного” монополиста Windows 9x, позволив при этом не расстаться с любимыми программами. В большинстве случаев программы под Windows 2000 работают даже быстрее, чем под Windows 9x. Главный недостаток Windows 2000 – большая требовательность к аппаратной конфигурации персонального компьютера, значительно превышающая запросы Windows 9x. И хотя Microsoft и заявляет, что минимум для нее – Pentium 133, 32Mb RAM, 2Гб HDD, на деле же - это характеристики машины, на которую Windows 2000 можно установить, но не работать. В жизни же, рекомендуется как минимум 96Mb ОЗУ, при которых уже можно более-менее комфортно работать, лучше 128Мб и выше. Процессор необходим не хуже Pentium 233МГц. 650 свободных мегабайт на жестком диске, как написано в руководстве Microsoft, также едва-едва хватит под саму операционную систему – под раздел с ОС надо отвести минимум 2-4Гб, иначе системные программы придется ставить в другие разделы. Лекция 23. Классификация систем параллельной обработки данных. На протяжении всей истории развития вычислительной техники делались попытки найти какую-то общую классификацию, под которую подпадали бы все возможные направления развития компьютерных архитектур. Ни одна из таких классификаций не могла охватить все разнообразие разрабатываемых архитектурных решений и не выдерживала испытания временем. Тем не менее в научный оборот попали и широко используются ряд терминов, которые полезно знать не только разработчикам, но и пользователям компьютеров. Любая вычислительная система (будь то супер-ЭВМ или персональный компьютер) достигает своей наивысшей производительности благодаря использованию высокоскоростных элементов и параллельному выполнению большого числа операций. Именно возможность параллельной работы различных устройств системы (работы с перекрытием) является основой ускорения основных операций. Параллельные ЭВМ часто подразделяются по классификации Флинна на машины типа SIMD (Single Instruction Multiple Data - с одним потоком команд при множественном потоке данных) и MIMD (Multiple Instruction Multiple Data - с множественным потоком команд при множественном потоке данных). Как и любая другая, приведенная выше классификация несовершенна: существуют машины прямо в нее не попадающие, имеются также важные признаки, которые в этой классификации не учтены. В частности, к машинам типа SIMD часто относят векторные процессоры, хотя их высокая производительность зависит от другой формы параллелизма - конвейерной организации машины. Многопроцессорные векторные системы, типа Cray Y-MP, состоят из нескольких векторных процессоров и поэтому могут быть названы MSIMD (Multiple SIMD). Классификация Флинна не делает различия по другим важным для вычислительных моделей характеристикам, например, по уровню "зернистости" параллельных вычислений и методам синхронизации. Можно выделить четыре основных типа архитектуры систем параллельной обработки: 1) Конвейерная и векторная обработка. Основу конвейерной обработки составляет раздельное выполнение некоторой операции в несколько этапов (за несколько ступеней) с передачей данных одного этапа следующему. Производительность при этом возрастает благодаря тому, что одновременно на различных ступенях конвейера выполняются несколько операций. Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых операндов соответствует максимальной производительности конвейера. Если происходит задержка, то параллельно будет выполняться меньше операций и суммарная производительность снизится. Векторные операции обеспечивают идеальную возможность полной загрузки вычислительного конвейера. При выполнении векторной команды одна и та же операция применяется ко всем элементам вектора (или чаще всего к соответствующим элементам пары векторов). Для настройки конвейера на выполнение конкретной операции может потребоваться некоторое установочное время, однако затем операнды могут поступать в конвейер с максимальной скоростью, допускаемой возможностями памяти. При этом не возникает пауз ни в связи с выборкой новой команды, ни в связи с определением ветви вычислений при условном переходе. Таким образом, главный принцип вычислений на векторной машине состоит в выполнении некоторой элементарной операции или комбинации из нескольких элементарных операций, которые должны повторно применяться к некоторому блоку данных. Таким операциям в исходной программе соответствуют небольшие компактные циклы. 2) Машины типа SIMD. SIMD компьютер имеет N идентичных процессоров, N потоков данных и один поток команд. Каждый процессор обладает собственной локальной памятью. Процессоры интерпретируют адреса данных либо как локальные адреса собственной памяти, либо как глобальные адреса, возможно, модифицированные добавлением локального базового адреса. Процессоры получают команды от одного центрального контроллера команд и работают синхронно, то есть на каждом шаге все процессоры выполняют одну и ту же команду над данными из собственной локальной памяти. Машины типа SIMD состоят из большого числа идентичных процессорных элементов, имеющих собственную память. Все процессорные элементы в такой машине выполняют одну и ту же программу. Очевидно, что такая машина, составленная из большого числа процессоров, может обеспечить очень высокую производительность только на тех задачах, при решении которых все процессоры могут делать одну и ту же работу. Модель вычислений для машины SIMD очень похожа на модель вычислений для векторного процессора: одиночная операция выполняется над большим блоком данных. Такая архитектура с распределенной памятью часто упоминается как архитектура с параллелизмом данных(data-parallel), так как параллельность достигается при наличии одиночного потока команд, действующего одновременно на несколько частей данных. Сеть, соединяющая процессоры, обычно имеет регулярную топологию такую как кольцо SLAP: Сеть с топологией кольцо В отличие от ограниченного конвейерного функционирования векторного процессора, матричный процессор (синоним для большинства SIMD-машин) может быть значительно более гибким. Обрабатывающие элементы таких процессоров - это универсальные программируемые ЭВМ, так что задача, решаемая параллельно, может быть достаточно сложной и содержать ветвления. Обычное проявление этой вычислительной модели в исходной программе примерно такое же, как и в случае векторных операций: циклы на элементах массива, в которых значения, вырабатываемые на одной итерации цикла, не используются на другой итерации цикла. Модели вычислений на векторных и матричных ЭВМ настолько схожи, что эти ЭВМ часто обсуждаются как эквивалентные. 3) Машины типа MIMD. MIMD компьютер имеет N процессоров, независимо исполняющих N потоков команд и обрабатывающих N потоков данных. Каждый процессор функционирует под управлением собственного потока команд, то есть MIMD компьютер может параллельно выполнять совершенно разные программы. MIMD архитектуры далее классифицируются в зависимости от физической организации памяти, то есть имеет ли процессор свою собственную локальную память и обращается к другим блокам памяти, используя коммутирующую сеть, или коммутирующая сеть подсоединяет все процессоры к общедоступной памяти. Исходя из организации памяти, различают следующие типы параллельных архитектур: • Компьютеры с распределенной памятью (Distributed memory) Процессор может обращаться к локальной памяти, может посылать и получать сообщения, передаваемые по сети, соединяющей процессоры. Сообщения используются для осуществления связи между процессорами или, что эквивалентно, для чтения и записи удаленных блоков памяти. В идеализированной сети стоимость посылки сообщения между двумя узлами сети не зависит как от расположения обоих узлов, так и от трафика сети, но зависит от длины сообщения. • Компьютеры с общей (разделяемой) памятью (True shared memory) Все процессоры совместно обращаются к общей памяти, обычно, через шину или иерархию шин. В идеализированной PRAM (Parallel Random Access Machine - параллельная машина с произвольным доступом) модели, часто используемой в теоретических исследованиях параллельных алгоритмов, любой процессор может обращаться к любой ячейке памяти за одно и то же время. На практике масштабируемость этой архитектуры обычно приводит к некоторой форме иерархии памяти. Частота обращений к общей памяти может быть уменьшена за счет сохранения копий часто используемых данных в кэш-памяти, связанной с каждым процессором. Доступ к этому кэш-памяти намного быстрее, чем непосредственно доступ к общей памяти. • Компьютеры с виртуальной общей (разделяемой) памятью (Virtual shared memory) Общая память как таковая отсутствует. Каждый процессор имеет собственную локальную память и может обращаться к локальной памяти других процессоров, используя "глобальный адрес". Если "глобальный адрес" указывает не на локальную память, то доступ к памяти реализуется с помощью сообщений, пересылаемых по коммуникационной сети. MIMD архитектуры с распределенной памятью можно так же классифицировать по пропускной способности коммутирующей сети. Например, в архитектуре, в которой пары из процессора и модуля памяти (процессорный элемент) соединены сетью с топологий решетка, каждый процессор имеет одно и то же число подключений к сети вне зависимости от числа процессоров компьютера. Общая пропускная способность такой сети растет линейно относительно числа процессоров. В топологии клика каждый процессор должен быть соединен со всеми другими процессорами. С другой стороны в архитектуре, имеющей сеть с топологий гиперкуб, число соединений процессора с сетью является логарифмической функцией от числа процессоров, а пропускная способность сети растет быстрее, чем линейно по отношению к числу процессоров. Сеть с топологией 2D решетка(тор) Сеть с топологией 2D гиперкуб (тор) . Термин "мультипроцессор" покрывает большинство машин типа MIMD и (подобно тому, как термин "матричный процессор" применяется к машинам типа SIMD) часто используется в качестве синонима для машин типа MIMD. В мультипроцессорной системе каждый процессорный элемент (ПЭ) выполняет свою программу достаточно независимо от других процессорных элементов. Процессорные элементы, конечно, должны как-то связываться друг с другом, что делает необходимым более подробную классификацию машин типа MIMD. В мультипроцессорах с общей памятью (сильносвязанных мультипроцессорах) имеется память данных и команд, доступная всем ПЭ. С общей памятью ПЭ связываются с помощью общей шины или сети обмена. В противоположность этому варианту в слабосвязанных многопроцессорных системах (машинах с локальной памятью) вся память делится между процессорными элементами и каждый блок памяти доступен только связанному с ним процессору. Сеть обмена связывает процессорные элементы друг с другом. Базовой моделью вычислений на MIMD-мультипроцессоре является совокупность независимых процессов, эпизодически обращающихся к разделяемым данным. Существует большое количество вариантов этой модели. На одном конце спектра - модель распределенных вычислений, в которой программа делится на довольно большое число параллельных задач, состоящих из множества подпрограмм. На другом конце спектра - модель потоковых вычислений, в которых каждая операция в программе может рассматриваться как отдельный процесс. Такая операция ждет своих входных данных (операндов), которые должны быть переданы ей другими процессами. По их получении операция выполняется, и полученное значение передается тем процессам, которые в нем нуждаются. В потоковых моделях вычислений с большим и средним уровнем гранулярности, процессы содержат большое число операций и выполняются в потоковой манере. 4) Многопроцессорные машины с SIMD-процессорами. Многие современные супер-ЭВМ представляют собой многопроцессорные системы, в которых в качестве процессоров используются векторные процессоры или процессоры типа SIMD. Такие машины относятся к машинам класса MSIMD. Языки программирования и соответствующие компиляторы для машин типа MSIMD обычно обеспечивают языковые конструкции, которые позволяют программисту описывать "крупнозернистый" параллелизм. В пределах каждой задачи компилятор автоматически векторизует подходящие циклы. Машины типа MSIMD, как можно себе представить, дают возможность использовать лучший из этих двух принципов декомпозиции: векторные операции ("мелкозернистый" параллелизм) для тех частей программы, которые подходят для этого, и гибкие возможности MIMD-архитектуры для других частей программы. Многопроцессорные системы за годы развития вычислительной техники претерпели ряд этапов своего развития. Исторически первой стала осваиваться технология SIMD. Однако в настоящее время наметился устойчивый интерес к архитектурам MIMD. Этот интерес главным образом определяется двумя факторами: 1.Архитектура MIMD дает большую гибкость: при наличии адекватной поддержки со стороны аппаратных средств и программного обеспечения MIMD может работать как однопользовательская система, обеспечивая высокопроизводительную обработку данных для одной прикладной задачи, как многопрограммная машина, выполняющая множество задач параллельно, и как некоторая комбинация этих возможностей. 2.Архитектура MIMD может использовать все преимущества современной микропроцессорной технологии на основе строгого учета соотношения стоимость/производительность. В действительности практически все современные многопроцессорные системы строятся на тех же микропроцессорах, которые можно найти в персональных компьютерах, рабочих станциях и небольших однопроцессорных серверах. Одной из отличительных особенностей многопроцессорной вычислительной системы является сеть обмена, с помощью которой процессоры соединяются друг с другом или с памятью. Модель обмена настолько важна для многопроцессорной системы, что многие характеристики производительности и другие оценки выражаются отношением времени обработки к времени обмена, соответствующим решаемым задачам. Существуют две основные модели межпроцессорного обмена: одна основана на передаче сообщений, другая - на использовании общей памяти. В многопроцессорной системе с общей памятью один процессор осуществляет запись в конкретную ячейку, а другой процессор производит считывание из этой ячейки памяти. Чтобы обеспечить согласованность данных и синхронизацию процессов, обмен часто реализуется по принципу взаимно исключающего доступа к общей памяти методом "почтового ящика". С ростом числа процессоров просто невозможно обойти необходимость реализации модели распределенной памяти с высокоскоростной сетью для связи процессоров. С быстрым ростом производительности процессоров и связанным с этим ужесточением требования увеличения полосы пропускания памяти, масштаб систем (т.е. число процессоров в системе), для которых требуется организация распределенной памяти, уменьшается, также как и уменьшается число процессоров, которые удается поддерживать на одной разделяемой шине и общей памяти. Распределение памяти между отдельными узлами системы имеет два главных преимущества. Во-первых, это эффективный с точки зрения стоимости способ увеличения полосы пропускания памяти, поскольку большинство обращений могут выполняться параллельно к локальной памяти в каждом узле. Во-вторых, это уменьшает задержку обращения (время доступа) к локальной памяти. Эти два преимущества еще больше сокращают количество процессоров, для которых архитектура с распределенной памятью имеет смысл. Обычно устройства ввода/вывода, также как и память, распределяются по узлам и в действительности узлы могут состоять из небольшого числа (2-8) процессоров, соединенных между собой другим способом. Хотя такая кластеризация нескольких процессоров с памятью и сетевой интерфейс могут быть достаточно полезными с точки зрения эффективности в стоимостном выражении, это не очень существенно для понимания того, как такая машина работает, поэтому мы пока остановимся на системах с одним процессором на узел. Основная разница в архитектуре, которую следует выделить в машинах с распределенной памятью заключается в том, как осуществляется связь и какова логическая модель памяти. Литература [1] ComputerWorld Россия, № 9, 1995. [2] К.Вильсон, в сб. "Высокоскоростные вычисления". М. Радио и Связь, 1988, сс.12-48. [3]. Б.А.Головкин, "Параллельные вычислительные системы". М.. Наука, 1980, 519 с. [4] Р.Хокни, К.Джессхоуп, "Параллельные ЭВМ . М.. Радио и Связь, 1986, 390 с. [5] Flynn И.,7., IEEE Trans. Comput., 1972, о.С-21, N9, рр. 948-960. [6] Russel К.М., Commun. АСМ, 1978, v. 21, № 1, рр. 63-72. [7] Т.Мотоока, С.Томита, Х.Танака, Т. Сайто, Т.Уэхара, "Компьютеры на СБИС", m.l. М. Мир, 1988, 388 с. [8] М.Кузьминский, Процессор РА-8000. Открытые системы, № 5, 1995. [9] Открытые системы сегодня, № 11, 1995. [10] ComputerWorld Россия, №№ 4, 6, 1995. [11] ComputerWorld Россия, № 8, 1995. [12] Открытые системы сегодня, № 9, 1995. [13] ComputerWorld Россия, № 2, 1995. [14] ComputerWorld Россия, № 12, 1995. [15] В. Шнитман, Системы Exemplar SPP1200. Открытые системы, № 6, 1995. [16] М. Борисов, UNIX-кластеры. Открытые системы, № 2, 1995, c.22-28. [17] В. Шмидт, Системы IBM SP2. Открытые системы, № 6, 1995. [18] Н. Дубова, Суперкомпьютеры nCube. Открытые системы, № 2, 1995, сс.42-47. [19] Д. Французов, Тест оценки производительности суперкомпьютеров. Открытые системы, № 6, 1995. [20] Д. Волков, Как оценить рабочую станцию. Открытые системы, № 2, 1994, c.44-48. [21] А. Волков, Тесты ТРС. СУБД, № 2, 1995, сс. 70-78. Лекция 24. Классификация мультипроцессорных систем по способу организации основной памяти. 1. АРХИТЕКТУРЫ МНОГОПРОЦЕССОРНЫХ СИСТЕМ Основной характеристикой при классификации многопроцессорных вычислительных систем является способ организации оперативной памяти. В случае наличия общей памяти с равноправным доступом к ней от всех процессоров говорят о симметричных мультипроцессорных системах (SMP), а при использовании распределенной памяти, когда каждый процессор снабжается собственной локальной памятью, и прямой доступ к памяти других процессоров невозможен, речь идет о системах с массовым параллелизмом (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически распределена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной. В настоящее время развитие высокопроизводительных вычислительных систем идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы. Рассмотрим основные особенности перечисленных архитектур. 1.1. Векторно-конвейерные суперкомпьютеры Характерной особенностью векторно-конвейерных компьютеров является, во-первых, конвейерная организация обработки потока команд, а, во-вторых, набор векторных операций в системе команд, которые оперируют целыми массивами данных [2]. Исторически это были первые компьютеры, к которым в полной мере было применимо понятие суперкомпьютер. Однако в настоящее время их доля в суперкомпьютерном парке неуклонно снижается ввиду их чрезвычайной дороговизны и невысокой степени масштабируемости. Как правило, несколько таких процессоров (2-16) работают в режиме с общей памятью (SMP), образуя вычислительный узел, а несколько таких узлов объединяются с помощью коммутатора аналогично MPP-системам. Типичными представителями такой архитектуры являются компьютеры CRAY J90/T90, CRAY SV1, NEC SX-4/SX-5. 1.2. Симметричные мультипроцессорные системы SMP Современные системы SMP архитектуры состоят, как правило, из нескольких однородных микропроцессоров и массива общей памяти (Рис. 1). Все процессоры имеют равноправный доступ к любой точке общей памяти. Рис. 1. Архитектура симметричных мультипроцессорных систем. Наличие общей памяти значительно упрощает взаимодействие процессоров между собой, однако, за этой кажущейся простотой скрываются большие проблемы, присущие системам этого типа. Помимо хорошо известной проблемы конфликтов при обращении к общей шине памяти возникла и новая проблема, связанная с иерархической структурой организации памяти современных компьютеров. Дело в том, что самым узким местом в современных компьютерах является оперативная память, скорость работы которой значительно отстала от скорости работы процессора. В настоящее время эта скорость примерно в 20 раз ниже требуемой для 100% согласованности со скоростью работы процессора, и разрыв все время увеличивается. Для того, чтобы сгладить разрыв в скорости работы процессора и основной памяти, каждый процессор снабжается скоростной буферной памятью (кэш-памятью), работающей со скоростью процессора. В связи с этим, в многопроцессорных системах, построенных на базе таких микропроцессоров, нарушается принцип равноправного доступа к любой точке памяти. Для его сохранения приходится организовывать аппаратную поддержку когерентности кэш-памяти, что приводит к большим накладным расходам и сильно ограничивает возможности по наращиванию производительности таких систем путем простого увеличения числа процессоров. В чистом виде SMP системы состоят, как правило, не более чем из 32 процессоров, а для дальнейшего наращивания используется NUMA-технология, которая в настоящее время позволяет создавать системы, включающие до 256 процессоров с общей производительностью порядка 150 млрд. операций в секунду. Системы этого типа производятся многими компьютерными фирмами как многопроцессорные серверы с числом процессоров от 2 до 64 и прочно удерживают лидерство в классе малых суперкомпьютеров с производительностью до 60 млрд. операций в секунду. 1.3. Системы с массовым параллелизмом (МРР) Компьютеры этого типа представляют собой многопроцессорные системы с распределенной памятью, в которых с помощью некоторой коммуникационной среды объединяются однородные вычислительные узлы (Рис. 2). Рис. 2. Архитектура систем с распределенной памятью. Каждый из узлов состоит из процессора, собственной оперативной памяти, коммуникационного оборудования, подсистемы ввода/вывода, т.е. обладает всем необходимым для независимого функционирования. При этом на каждом узле может функционировать либо полноценная операционная система (как в RS/6000 SP2), либо урезанный вариант, поддерживающий только базовые функции ядра, а полноценная ОС работает на специальном управляющем компьютере (Cray T3E, nCUBE2). Доступ к памяти других процессоров в таких системах, как правило, возможен только с помощью механизма передачи сообщений. Основное достоинство таких систем - это высокая степень масштабируемости. Для достижения необходимой производительности требуется просто собрать систему с нужным числом узлов. Успешно функционируют MPP системы с сотнями и тысячами узлов (ASCI Red - 9632, Blue Mountain - 6144), производительность которых превысила 2 Tflops (2 триллиона оп/сек)[*]. Однако у таких систем есть и существенный недостаток. Межпроцессорные обмены данными в компьютерах этого типа выполняются намного медленнее, чем локальная обработка данных самими процессорами. Поэтому написание эффективных программ для таких компьютеров представляет собой сложную задачу, а для некоторых алгоритмов вообще невозможно. [*] Tflops - единица измерения производительности вычислительных систем. Характеризует количество операций с плавающей точкой, выполняемых за 1 секунду. (1 Tflops = 1 триллион операций/сек) .4. Кластерные системы Кластерные технологии стали логическим продолжением развития идей, заложенных в архитектуре MPP систем. Если процессорный модуль в MPP системе представляет собой законченную вычислительную систему, то следующий шаг напрашивался сам собой: почему бы в качестве таких вычислительных узлов не использовать обычные серийно выпускаемые компьютеры. Развитие коммуникационных технологий, а именно, появление высокоскоростного сетевого оборудования и специального программного обеспечения, такого как MPI (см. раздел 2.2), реализующего механизм передачи сообщений над стандартными сетевыми протоколами, сделали кластерные технологии общедоступными. Сегодня не составляет большого труда создать небольшую кластерную систему, объединив вычислительные мощности компьютеров отдельной лаборатории или учебного класса. Привлекательной чертой кластерных технологий является то, что они позволяют для достижения необходимой производительности объединять в единые вычислительные системы компьютеры самого разного типа, начиная от персональных компьютеров и заканчивая мощными суперкомпьютерами. С одной стороны, эти технологии используются как дешевая альтернатива суперкомпьютерам, в частности, одним из первых был реализован проект COCOA [3], в котором на базе 25 двухпроцессорных персональных компьютеров общей стоимостью порядка $100000 была создана система с производительностью, эквивалентной 48-процессорному Cray T3D стоимостью несколько миллионов долларов США. С другой стороны, эти технологии используются для преодоления ограничений, присущих SMP системам и векторно-конвейерным компьютерам. Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого ресурса. Существует два подхода при создании кластерных систем: • в единую систему объединяются полнофункциональные компьютеры, которые могут работать, в том числе, и как самостоятельные единицы, например, компьютеры учебного класса или рабочие станции лаборатории; • целенаправленно создается мощный вычислительный ресурс, в котором роль вычислительных узлов играют промышленно выпускаемые компьютеры, и тогда нет необходимости снабжать такие компьютеры графическими картами, мониторами, дисковыми накопителями и другим периферийным оборудованием, что значительно удешевляет стоимость системы. В последнем случае системные блоки компьютеров, как правило, компактно размещаются в специальных стойках, а для управления системой и для запуска задач выделяется один или несколько полнофункциональных компьютеров, которые называют хост-компьютерами. Преимущества кластерной системы перед набором независимых компьютеров очевидны. Во-первых, система пакетной обработки заданий позволяет послать задание на обработку кластеру в целом, а не какому-нибудь отдельному компьютеру, что позволяет обеспечить более равномерную загрузку компьютеров. Во-вторых, появляется возможность совместного использования вычислительных ресурсов нескольких компьютеров для решения одной задачи. Для создания кластера используются компьютеры, которые могут представлять собой как простые однопроцессорные системы, так и обладать сложной архитектурой SMP и даже NUMA. Разработано множество технологий соединения компьютеров в кластер. Наиболее простым вариантом является использование технологии Ethernet, однако за эту простоту приходится расплачиваться заведомо недостаточной скоростью обменов. Разработчики пакета подпрограмм ScaLAPACK, предназначенного для решения задач линейной алгебры на многопроцессорных системах, в которых велика доля коммуникационных операций, формулируют следующим образом требование к многопроцессорной системе: "Скорость межпроцессорных обменов между двумя узлами, измеренная в Mbyte/sec, должна быть не менее 1/10 пиковой производительности вычислительного узла, измеренной в Mflops"[*] [4]. Коэффициент 1/10 получен из практического опыта, показывающего, что на большинстве приложений реальная производительность вычислительных систем составляет примерно 10% от пиковой производительности. Таким образом, если в качестве вычислительных узлов использовать компьютеры класса Pentium III 500 Mhz (пиковая производительность 500 Mflop), то аппаратура Fast Ethernet (скорость передачи приблизительно 10 Mbyte/sec) обеспечивает только 1/5 от требуемой скорости. Это положение может существенно поправить переход на технологии Gigabit Ethernet. Ряд фирм предлагают специализированные кластерные решения на основе более скоростных сетей, таких как SCI фирмы Scali Computer (~80 Mbyte/sec) и Mirynet (~40 Mbyte/sec). Активно включились в поддержку кластерных технологий и фирмы-производители высокопроизводительных рабочих станций (SUN, Compaq, Silicon Graphics). Список литературы 1. Смирнов А.Д. Архитектура вычислительных систем: Учеб. пособие для вузов. М.: Наука. Гл. ред. физ.мат. лит., 1990. 320 с. 2. http://rsusu1.rnd.runnet.ru/tutor/method/m1/page02.html Лекция 25. Обзор архитектур многопроцессорных вычислительных систем. В процессе развития суперкомпьютерных технологий идею повышения производительности вычислительной системы за счет увеличения числа процессоров использовали неоднократно. Если не вдаваться в исторический экскурс и обсуждение всех таких попыток, то можно следующим образом вкратце описать развитие событий. Экспериментальные разработки по созданию многопроцессорных вычислительных систем начались в 70-х годах 20 века. Одной из первых таких систем стала разработанная в Иллинойском университете МВС ILLIAC IV, которая включала 64 (в проекте до 256) процессорных элемента (ПЭ), работающих по единой программе, применяемой к содержимому собственной оперативной памяти каждого ПЭ. Обмен данными между процессорами осуществлялся через специальную матрицу коммуникационных каналов. Указанная особенность коммуникационной системы дала название "матричные суперкомпьютеры" соответствующему классу многопроцессорных вычислительных систем (МВС). Отметим, что более широкий класс МВС с распределенной памятью и с произвольной коммуникационной системой получил впоследствии название "многопроцессорные системы с массовым параллелизмом", или МВС с MPP-архитектурой (MPP - Massively Parallel Processing). При этом, как правило, каждый из ПЭ MPP системы является универсальным процессором, действующим по своей собственной программе (в отличие от общей программы для всех ПЭ матричной МВС). Первые матричные МВС выпускались буквально поштучно, поэтому их стоимость была фантастически высокой. Серийные же образцы подобных систем, такие как ICL DAP, включавшие до 8192 ПЭ, появились значительно позже, однако не получили широкого распространения ввиду сложности программирования МВС с одним потоком управления (с одной программой, общей для всех ПЭ). Первые промышленные образцы мультипроцессорных систем появились на базе векторно-конвейерных компьютеров в середине 80-х годов. Наиболее распространенными МВС такого типа были суперкомпьютеры фирмы Cray. Однако такие системы были чрезвычайно дорогими и производились небольшими сериями. Как правило, в подобных компьютерах объединялось от 2 до 16 процессоров, которые имели равноправный (симметричный) доступ к общей оперативной памяти. В связи с этим они получили название симметричные мультипроцессорные системы (Symmetric Multi-Processing - SMP). Как альтернатива таким дорогим мультипроцессорным системам на базе векторно-конвейерных процессоров была предложена идея строить эквивалентные по мощности многопроцессорные системы из большого числа дешевых серийно выпускаемых микропроцессоров. Однако очень скоро обнаружилось, что SMP архитектура обладает весьма ограниченными возможностями по наращиванию числа процессоров в системе из-за резкого увеличения числа конфликтов при обращении к общей шине памяти. В связи с этим оправданной представлялась идея снабдить каждый процессор собственной оперативной памятью, превращая компьютер в объединение независимых вычислительных узлов. Такой подход значительно увеличил степень масштабируемости многопроцессорных систем, но в свою очередь потребовал разработки специального способа обмена данными между вычислительными узлами, реализуемого обычно в виде механизма передачи сообщений (Message Passing). Компьютеры с такой архитектурой являются наиболее яркими представителями MPP систем. В настоящее время эти два направления (или какие-то их комбинации) являются доминирующими в развитии суперкомпьютерных технологий. Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры (Non Uniform Memory Access), в которых память физически разделена, но логически общедоступна. При этом время доступа к различным блокам памяти становится неодинаковым. В одной из первых систем этого типа Cray T3D время доступа к памяти другого процессора было в 6 раз больше, чем к своей собственной. В настоящее время развитие суперкомпьютерных технологий идет по четырем основным направлениям: векторно-конвейерные суперкомпьютеры, SMP системы, MPP системы и кластерные системы. Рассмотрим основные особенности перечисленных архитектур. Векторно-конвейерные суперкомпьютеры Первый векторно-конвейерный компьютер Cray-1 появился в 1976 году. Архитектура его оказалась настолько удачной, что он положил начало целому семейству компьютеров. Название этому семейству компьютеров дали два принципа, заложенные в архитектуре процессоров: • конвейерная организация обработки потока команд • введение в систему команд набора векторных операций, которые позволяют оперировать с целыми массивами данных. Длина одновременно обрабатываемых векторов в современных векторных компьютерах составляет, как правило, 128 или 256 элементов. Очевидно, что векторные процессоры должны иметь гораздо более сложную структуру и по сути дела содержать множество арифметических устройств. Основное назначение векторных операций состоит в распараллеливании выполнения операторов цикла, в которых в основном и сосредоточена большая часть вычислительной работы. Для этого циклы подвергаются процедуре векторизации с тем, чтобы они могли реализовываться с использованием векторных команд. Как правило, это выполняется автоматически компиляторами при изготовлении ими исполнимого кода программы. Поэтому векторно-конвейерные компьютеры не требовали какой-то специальной технологии программирования, что и явилось решающим фактором в их успехе на компьютерном рынке. Тем не менее, требовалось соблюдение некоторых правил при написании циклов с тем, чтобы компилятор мог их эффективно векторизовать. Исторически это были первые компьютеры, к которым в полной мере было применимо понятие суперкомпьютер. Как правило, несколько векторно-конвейерных процессоров (2-16) работают в режиме с общей памятью (SMP), образуя вычислительный узел, а несколько таких узлов объединяются с помощью коммутаторов, образуя либо NUMA, либо MPP систему. Типичными представителями такой архитектуры являются компьютеры CRAY J90/T90, CRAY SV1, NEC SX-4/SX-5. Уровень развития микроэлектронных технологий не позволяет в настоящее время производить однокристальные векторные процессоры, поэтому эти системы довольно громоздки и чрезвычайно дороги. В связи с этим, начиная с середины 90-х годов, когда появились достаточно мощные суперскалярные микропроцессоры, интерес к этому направлению был в значительной степени ослаблен. Суперкомпьютеры с векторно-конвейерной архитектурой стали проигрывать системам с массовым параллелизмом. Однако в марте 2002 г. корпорация NEC представила систему Earth Simulator из 5120 векторно-конвейерных процессоров, которая в 5 раз превысила производительность предыдущего обладателя рекорда - MPP системы ASCI White из 8192 суперскалярных микропроцессоров. Это, конечно же, заставило многих по-новому взглянуть на перспективы векторно-конвейерных систем. Симметричные мультипроцессорные системы (SMP) Характерной чертой многопроцессорных систем SMP архитектуры является то, что все процессоры имеют прямой и равноправный доступ к любой точке общей памяти. Первые SMP системы состояли из нескольких однородных процессоров и массива общей памяти, к которой процессоры подключались через общую системную шину. Однако очень скоро обнаружилось, что такая архитектура непригодна для создания сколь либо масштабных систем. Первая возникшая проблема - большое число конфликтов при обращении к общей шине. Остроту этой проблемы удалось частично снять разделением памяти на блоки, подключение к которым с помощью коммутаторов позволило распараллелить обращения от различных процессоров. Однако и в таком подходе неприемлемо большими казались накладные расходы для систем более чем с 32-мя процессорами. Современные системы SMP архитектуры состоят, как правило, из нескольких однородных серийно выпускаемых микропроцессоров и массива общей памяти, подключение к которой производится либо с помощью общей шины, либо с помощью коммутатора (рис. 1.1). Рис. 1.1. Архитектура симметричных мультипроцессорных систем. Наличие общей памяти значительно упрощает организацию взаимодействия процессоров между собой и упрощает программирование, поскольку параллельная программа работает в едином адресном пространстве. Однако за этой кажущейся простотой скрываются большие проблемы, присущие системам этого типа. Все они, так или иначе, связаны с оперативной памятью. Дело в том, что в настоящее время даже в однопроцессорных системах самым узким местом является оперативная память, скорость работы которой значительно отстала от скорости работы процессора. Для того чтобы сгладить этот разрыв, современные процессоры снабжаются скоростной буферной памятью (кэш-памятью), скорость работы которой значительно выше, чем скорость работы основной памяти. В качестве примера приведем данные измерения пропускной способности кэш-памяти и основной памяти для персонального компьютера на базе процессора Pentium III 1000 Мгц. В данном процессоре кэш-память имеет два уровня: • L1 (буферная память команд) - объем 32 Кб, скорость обмена 9976 Мб/сек; • L2 (буферная память данных) - объем 256 Кб, скорость обмена 4446 Мб/сек. В то же время скорость обмена с основной памятью составляет всего 255 Мб/сек. Это означает, что для 100% согласованности со скоростью работы процессора (1000 Мгц) скорость работы основной памяти должна быть в 40 раз выше! Очевидно, что при проектировании многопроцессорных систем эти проблемы еще более обостряются. Помимо хорошо известной проблемы конфликтов при обращении к общей шине памяти возникла и новая проблема, связанная с иерархической структурой организации памяти современных компьютеров. В многопроцессорных системах, построенных на базе микропроцессоров со встроенной кэш-памятью, нарушается принцип равноправного доступа к любой точке памяти. Данные, находящиеся в кэш-памяти некоторого процессора, недоступны для других процессоров. Это означает, что после каждой модификации копии некоторой переменной, находящейся в кэш-памяти какого-либо процессора, необходимо производить синхронную модификацию самой этой переменной, расположенной в основной памяти. С большим или меньшим успехом эти проблемы решаются в рамках общепринятой в настоящее время архитектуры ccNUMA (cache coherent Non Uniform Memory Access). В этой архитектуре память физически распределена, но логически общедоступна. Это, с одной стороны, позволяет работать с единым адресным пространством, а, с другой, увеличивает масштабируемость систем. Когерентность кэш-памяти поддерживается на аппаратном уровне, что не избавляет, однако, от накладных расходов на ее поддержание. В отличие от классических SMP систем память становится трехуровневой: • кэш-память процессора; • локальная оперативная память; • удаленная оперативная память. Время обращения к различным уровням может отличаться на порядок, что сильно усложняет написание эффективных параллельных программ для таких систем. Перечисленные обстоятельства значительно ограничивают возможности по наращиванию производительности ccNUMA систем путем простого увеличения числа процессоров. Тем не менее, эта технология позволяет в настоящее время создавать системы, содержащие до 256 процессоров с общей производительностью порядка 200 млрд. операций в секунду. Системы этого типа серийно производятся многими компьютерными фирмами как многопроцессорные серверы с числом процессоров от 2 до 128 и прочно удерживают лидерство в классе малых суперкомпьютеров. Типичными представителями данного класса суперкомпьютеров являются компьютеры SUN StarFire 15K, SGI Origin 3000, HP Superdome. Хорошее описание одной из наиболее удачных систем этого типа - компьютера Superdome фирмы Hewlett-Packard - можно найти в книге. Неприятным свойством SMP систем является то, что их стоимость растет быстрее, чем производительность при увеличении числа процессоров в системе. Кроме того, из-за задержек при обращении к общей памяти неизбежно взаимное торможение при параллельном выполнении даже независимых программ. Системы с массовым параллелизмом (МРР) Проблемы, присущие многопроцессорным системам с общей памятью, простым и естественным образом устраняются в системах с массовым параллелизмом. Компьютеры этого типа представляют собой многопроцессорные системы с распределенной памятью, в которых с помощью некоторой коммуникационной среды объединяются однородные вычислительные узлы (рис. 1.2). Рис. 1.2. Архитектура систем с распределенной памятью. Каждый из узлов состоит из одного или нескольких процессоров, собственной оперативной памяти, коммуникационного оборудования, подсистемы ввода/вывода, т.е. обладает всем необходимым для независимого функционирования. При этом на каждом узле может функционировать либо полноценная операционная система (как в системе RS/6000 SP2), либо урезанный вариант, поддерживающий только базовые функции ядра, а полноценная ОС работает на специальном управляющем компьютере (как в системах Cray T3E, nCUBE2). Процессоры в таких системах имеют прямой доступ только к своей локальной памяти. Доступ к памяти других узлов реализуется обычно с помощью механизма передачи сообщений. Такая архитектура вычислительной системы устраняет одновременно как проблему конфликтов при обращении к памяти, так и проблему когерентности кэш-памяти. Это дает возможность практически неограниченного наращивания числа процессоров в системе, увеличивая тем самым ее производительность. Успешно функционируют MPP системы с сотнями и тысячами процессоров (ASCI White - 8192, Blue Mountain - 6144). Производительность наиболее мощных систем достигает 10 триллионов оп/сек (10 Tflops). Важным свойством MPP систем является их высокая степень масштабируемости. В зависимости от вычислительных потребностей для достижения необходимой производительности требуется просто собрать систему с нужным числом узлов. На практике все, конечно, гораздо сложнее. Устранение одних проблем, как это обычно бывает, порождает другие. Для MPP систем на первый план выходит проблема эффективности коммуникационной среды. Легко сказать: "Давайте соберем систему из 1000 узлов". Но каким образом соединить в единое целое такое множество узлов? Самым простым и наиболее эффективным было бы соединение каждого процессора с каждым. Но тогда на каждом узле потребовалось бы 999 коммуникационных каналов, желательно двунаправленных. Очевидно, что это нереально. Различные производители MPP систем использовали разные топологии. В компьютерах Intel Paragon процессоры образовывали прямоугольную двумерную сетку. Для этого в каждом узле достаточно четырех коммуникационных каналов. В компьютерах Cray T3D/T3E использовалась топология трехмерного тора. Соответственно, в узлах этого компьютера было шесть коммуникационных каналов. Фирма nCUBE использовала в своих компьютерах топологию n-мерного гиперкуба. Каждая из рассмотренных топологий имеет свои преимущества и недостатки. Отметим, что при обмене данными между процессорами, не являющимися ближайшими соседями, происходит трансляция данных через промежуточные узлы. Очевидно, что в узлах должны быть предусмотрены какие-то аппаратные средства, которые освобождали бы центральный процессор от участия в трансляции данных. В последнее время для соединения вычислительных узлов чаще используется иерархическая система высокоскоростных коммутаторов, как это впервые было реализовано в компьютерах IBM SP2. Такая топология дает возможность прямого обмена данными между любыми узлами, без участия в этом промежуточных узлов. Системы с распределенной памятью идеально подходят для параллельного выполнения независимых программ, поскольку при этом каждая программа выполняется на своем узле и никаким образом не влияет на выполнение других программ. Однако при разработке параллельных программ приходится учитывать более сложную, чем в SMP системах, организацию памяти. Оперативная память в MPP системах имеет 3-х уровневую структуру: • кэш-память процессора; • локальная оперативная память узла; • оперативная память других узлов. При этом отсутствует возможность прямого доступа к данным, расположенным в других узлах. Для их использования эти данные должны быть предварительно переданы в тот узел, который в данный момент в них нуждается. Это значительно усложняет программирование. Кроме того, обмены данными между узлами выполняются значительно медленнее, чем обработка данных в локальной оперативной памяти узлов. Поэтому написание эффективных параллельных программ для таких компьютеров представляет собой более сложную задачу, чем для SMP систем. Кластерные системы Кластерные технологии стали логическим продолжением развития идей, заложенных в архитектуре MPP систем. Если процессорный модуль в MPP системе представляет собой законченную вычислительную систему, то следующий шаг напрашивается сам собой: почему бы в качестве таких вычислительных узлов не использовать обычные серийно выпускаемые компьютеры. Развитие коммуникационных технологий, а именно, появление высокоскоростного сетевого оборудования и специального программного обеспечения, такого как система MPI, реализующего механизм передачи сообщений над стандартными сетевыми протоколами, сделали кластерные технологии общедоступными. Сегодня не составляет большого труда создать небольшую кластерную систему, объединив вычислительные мощности компьютеров отдельной лаборатории или учебного класса. Привлекательной чертой кластерных технологий является то, что они позволяют для достижения необходимой производительности объединять в единые вычислительные системы компьютеры самого разного типа, начиная от персональных компьютеров и заканчивая мощными суперкомпьютерами. Широкое распространение кластерные технологии получили как средство создания систем суперкомпьютерного класса из составных частей массового производства, что значительно удешевляет стоимость вычислительной системы. В частности, одним из первых был реализован проект COCOA, в котором на базе 25 двухпроцессорных персональных компьютеров общей стоимостью порядка $100000 была создана система с производительностью, эквивалентной 48-процессорному Cray T3D стоимостью несколько миллионов долларов США. Конечно, о полной эквивалентности этих систем говорить не приходится. Как указывалось в предыдущем разделе, производительность систем с распределенной памятью очень сильно зависит от производительности коммуникационной среды. Коммуникационную среду можно достаточно полно охарактеризовать двумя параметрами: латентностью - временем задержки при посылке сообщения, и пропускной способностью - скоростью передачи информации. Так вот для компьютера Cray T3D эти параметры составляют соответственно 1 мкс и 480 Мб/сек, а для кластера, в котором в качестве коммуникационной среды использована сеть Fast Ethernet, 100 мкс и 10 Мб/сек. Это отчасти объясняет очень высокую стоимость суперкомпьютеров. При таких параметрах, как у рассматриваемого кластера, найдется не так много задач, которые могут эффективно решаться на достаточно большом числе процессоров. Если говорить кратко, то кластер - это связанный набор полноценных компьютеров, используемый в качестве единого вычислительного ресурса. Преимущества кластерной системы перед набором независимых компьютеров очевидны. Во-первых, разработано множество диспетчерских систем пакетной обработки заданий, позволяющих послать задание на обработку кластеру в целом, а не какому-то отдельному компьютеру. Эти диспетчерские системы автоматически распределяют задания по свободным вычислительным узлам или буферизуют их при отсутствии таковых, что позволяет обеспечить более равномерную и эффективную загрузку компьютеров. Во-вторых, появляется возможность совместного использования вычислительных ресурсов нескольких компьютеров для решения одной задачи. Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех- процессорные SMP-серверы. При этом не накладывается никаких ограничений на состав и архитектуру узлов. Каждый из узлов может функционировать под управлением своей собственной операционной системы. Чаще всего используются стандартные ОС: Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT. В тех случаях, когда узлы кластера неоднородны, то говорят о гетерогенных кластерах. При создании кластеров можно выделить два подхода. Первый подход применяется при создании небольших кластерных систем. В кластер объединяются полнофункциональные компьютеры, которые продолжают работать и как самостоятельные единицы, например, компьютеры учебного класса или рабочие станции лаборатории. Второй подход применяется в тех случаях, когда целенаправленно создается мощный вычислительный ресурс. Тогда системные блоки компьютеров компактно размещаются в специальных стойках, а для управления системой и для запуска задач выделяется один или несколько полнофункциональных компьютеров, называемых хост-компьютерами. В этом случае нет необходимости снабжать компьютеры вычислительных узлов графическими картами, мониторами, дисковыми накопителями и другим периферийным оборудованием, что значительно удешевляет стоимость системы. Разработано множество технологий соединения компьютеров в кластер. Наиболее широко в данное время используется технология Fast Ethernet. Это обусловлено простотой ее использования и низкой стоимостью коммуникационного оборудования. Однако за это приходится расплачиваться заведомо недостаточной скоростью обменов. В самом деле, это оборудование обеспечивает максимальную скорость обмена между узлами 10 Мб/сек, тогда как скорость обмена с оперативной памятью составляет 250 Мб/сек и выше. Разработчики пакета подпрограмм ScaLAPACK, предназначенного для решения задач линейной алгебры на многопроцессорных системах, в которых велика доля коммуникационных операций, формулируют следующим образом требование к многопроцессорной системе: "Скорость межпроцессорных обменов между двумя узлами, измеренная в Мб/сек, должна быть не менее 1/10 пиковой производительности вычислительного узла, измеренной в Mflops". Таким образом, если в качестве вычислительных узлов использовать компьютеры класса Pentium III 500 Мгц (пиковая производительность 500 Mflops), то аппаратура Fast Ethernet обеспечивает только 1/5 от требуемой скорости. Частично это положение может поправить переход на технологии Gigabit Ethernet. Ряд фирм предлагают специализированные кластерные решения на основе более скоростных сетей, таких как SCI фирмы Scali Computer (~100 Мб/сек) и Mirynet (~120 Мб/сек). Активно включились в поддержку кластерных технологий и фирмы-производители высокопроизводительных рабочих станций (SUN, HP, Silicon Graphics). Лекция 26. Направление развития в высокопроизводительных вычислительных системах. Вызывавшие сомнения в своей перспективности еще в середине 80-х годов параллельные архитектуры сегодня общепризнанны. Но достигнут ли уже предел совершенствования архитектур? Похоже, нет: их темп развития только возрос. Повышение производительности вычислительных установок обычно достигается за счет увеличения тактовой частоты работы элементов и количества этих элементов, позволяющего вводить параллелизм обработки и программируемость структуры [1]. Однако совершенствование вычислительных систем всегда сопровождал разрыв между быстродействием логических элементов и элементов памяти. Этот разрыв при возрастании степени интеграции и быстродействия больших интегральных схем (БИС) имеет тенденцию к увеличению. На каждом уровне развития элементной базы в силу обстоятельств, обусловленных необходимостью преодоления данного разрыва, ограничением на размер и количество выводов у корпусов микросхем, имеющимися средствами автоматизации программирования одни архитектуры становились предпочтительнее других — скажем, по показателю «производительность/стоимость». Дискретная элементная база и интегральные схемы малой и средней интеграции позволяли изготовить процессор с произвольной архитектурой при существенном ограничении на общий объем используемого оборудования. Для обеспечения высокой производительности было необходимо соответствующее количество регистров и функциональных устройств, однако требуемый для их создания объем электронных компонентов, паяных и разъемных соединений определялся надежностью создаваемого процессора, стоимостью и энергопотреблением. В этих условиях конструкторы процессоров предложили разнообразные архитектуры, каждая из которых в своей проблемной области обеспечивала наивысшее значение показателя «производительность/стоимость». К числу таких архитектур следует отнести векторно-конвейерные процессоры и ассоциативные процессоры с SIMD-архитектурой, все обрабатывающие процессорные элементы которых выполняют команды одного потока, выдаваемого одним общим устройством управления. В период использования полупроводниковых схем малой и средней интеграции было создано несколько типов таких процессоров, например, STARAN [2], DAP [3], Connection Machine [4], состоящих из большого числа однобитных процессорных элементов со встроенной в каждый из них локальной памятью. Значительный рост степени интеграции при существенно меньшем росте количества выводов корпусов привел к ситуации, когда в одной БИС могло разместиться много процессорных элементов, однако их явно не хватало для создания полноценного SIMD-процессора. Объединению совокупности таких интегральных схем в один процессор препятствовало малое число выводов, не позволявшее подсоединить к процессорному элементу память и создать эффективную сеть связи между элементами. Та же проблема возникала и при попытке построения векторно-конвейерных процессоров: блоки, реализованные на БИС, имели бы количество соединений с другими БИС, намного превышающее число их выводов. Векторно-конвейерные процессоры, такие как CRAY-1 [5], венчали развитие процессоров, строящихся из дискретных компонентов. Архитектура векторно-конвейерных процессоров, по-видимому, оптимальна для дискретной элементной базы по критерию «производительность/размер». В 80-х годах появились микропроцессоры, которые существенно превзошли по соотношению «производительность/стоимость» специально разрабатываемые многокристальные процессоры. Особенности проектирования и изготовления СБИС, в том числе и микропроцессоров, делают экономически оправданным только их массовое производство, что практически исключило возможность создания специализированных кристаллов для многокристальных процессоров. Сложилась ситуация, когда многокристальный процессор на момент начала проектирования, имеющий экстремальные оценки производительности, после своего изготовления, потребовавшего ряда лет, уже существенно уступал своим современникам — универсальным серийным микропроцессорам. Массово выпускаемые микропроцессоры стали использоваться для производства всех типов вычислительных систем [6]. Коль скоро микропроцессоры стали основной элементной базой, то единственное, что из них можно строить — параллельные вычислительные системы, образуемые путем объединения коммуникационной средой совокупности процессоров, блоков памяти и устройств ввода-вывода. Параллельные системы по назначению и используемой элементной базе можно разбить на четыре класса: • универсальные с фиксированной структурой, строящиеся из серийных универсальных микропроцессоров; • специализированные с фиксированной структурой, строящиеся из микропроцессоров, ориентированных на исполнение определенных вычислений; • универсальные с программируемой структурой, настраиваемые на аппаратурную реализацию исполняемых вычислений; • специализированные с программируемой структурой, настраиваемые на аппаратно-программную реализацию исполняемых вычислений. Универсальные системы с фиксированной структурой Многопроцессорные серверы из серийных компонентов Системы этого класса строятся из тех же микропроцессоров, на базе которых выпускаются ПК и рабочие станции. Этот подход разрешает проблему преодоления разрыва в быстродействии между обращением в память и обработкой за счет распределения памяти по процессорам, что позволяет одновременно всем процессорам работать с памятью. Универсальные вычислительные системы представлены сегодня двумя ветвями. Первая, наиболее массовая, состоит из многопроцессорных серверов. Все ведущие производители выпускают многопроцессорные серверы с разделяемой памятью, стремясь предоставить пользователям программное окружение, доступное в среде традиционных однопроцессорных компьютеров. Вторая ветвь представлена параллельными суперкомпьютерами с большим количеством процессоров (MPP — massive parallel processing). Основным режимом их работы является исполнение трудоемких вычислений на базе распределенной памяти. В первой ветви акцент делается на развитии параллельного программного обеспечения, во второй на разработке архитектур для получения наивысшей производительности. Само их существование определяется ограничением на количество процессоров в серверах, обусловленным пределами масштабируемости системных и прикладных программ. Универсальные вычислительные системы можно подразделить на две группы: фирменные и собираемые пользователями из стандартных компонентов. В фирменных системах, как правило, используются специально разработанные коммутаторы и аппаратно-программные средства обеспечения отказоустойчивости и высокой готовности (резервирование, «горячая» замена). Системы, собираемые пользователями из серийных компонентов, используют в качестве вычислительных узлов коммерчески доступные рабочие станции или серверы. Коммуникационная подсистема строится из коммерчески доступных компонентов. Системное программное обеспечение может быть как свободно распространяемым, так и фирменным, но коммерчески доступным как самостоятельный продукт или в составе используемого сервера. Для образования MPP-систем могут быть использованы интерфейсы микропроцессора, предназначенные для доступа к внекристальной памяти или внешним устройствам (шина PCI). При построении параллельных систем с разделяемой памятью с архитектурами ccNUMA и COMA [7] используется интерфейс памяти. В этом случае по отношению к внутрикристальной кэш-памяти любого микропроцессора системы вся остальная память рассматривается как единая общая память, обмен с которой выполняется механизмом замещения кэш-строк в рамках реализации протокола когерентности. Архитектура систем с разделяемой памятью трактует память как единое адресное пространство, работа с ячейками которого выполняется командами чтения и записи. Построение таких систем предполагает использование серийных микросхем и изготовление достаточно сложных адаптеров, подключаемых к шине памяти процессора и поддерживающих протокол когерентности кэша. При использовании для объединения микропроцессоров интерфейса внешних устройств, что характерно для вычислительных систем, создаваемых пользователями, возможно построение систем как с распределенной памятью с архитектурой на базе обмена сообщениями, так и с разделяемой памятью на основе технологии рефлексивной памяти, например, технологии memory channel [7]. Архитектура на базе обмена сообщениями использует отдельные наборы команд чтения и записи для работы с локальной памятью и специальные команды типа send, receive для управления адаптерами каналов ввода-вывода. Стандартизированные требования, предъявляемые шиной к адаптерам, позволяют строить системы из «крупных» блоков — системных плат рабочих станций и ПК, а также сетевых плат (Myrinet — www.myri.com, Quadrics — www.quadrics.com, Dolphin SCI — www.dolphinics.com, Fast Ethernet и др.) и коммутаторов коммуникационных сред. Для таких систем остро стоит проблема эффективности параллельных вычислений, так как они заведомо имеют ограничение пропускной способности обменов, обусловленные шиной PCI. Направления развития микропроцессоров Увеличение объема кэш-памяти на кристалле дает прирост производительности, но после достижения некоторого объема этот прирост существенно замедляется. Поэтому разумно использовать ресурс транзисторов кристалла для построения дополнительной совокупности функциональных устройств. Основное препятствие здесь — организация загрузки этих устройств полезной работой. Для выявления команд, которые можно одновременно загрузить в разные устройства процессора, в суперскалярных процессорах используется динамический анализ программного кода на стадии исполнения, а в процессорах с длинным командным словом — статический анализ на стадии компиляции. Однако в микропроцессорах с такими архитектурами имеются факторы, ограничивающие параллелизм уровня команд. Дальнейшее повышение производительности микропроцессоров связывается сейчас со статическим и динамическим анализом кода с целью выявления параллелизма уровня программных сегментов с использованием информации о сегментах, предоставляемой процессору компилятором языка высокого уровня. Исследования в данном направлении привели к разработке многопотоковой архитектуры, использующей совокупность регистровых файлов в процессоре. Переключение процессора на другой регистровый файл выполняется либо по наступлению некоторого события, вызывающего приостанов процессора (промах в кэш-память, обращение к оперативной памяти, наступление прерывания), либо принудительно, например, в каждом такте как в системе Tera MTA (www.tera.com). С ростом количества транзисторов на кристалле стало возможно построение микросхем, в которых микропроцессор вместе с памятью на кристалле выступает в роли одного из составных элементов «систем на кристалле» (SOC — System On Chip). В кристалл интегрируются функции, для исполнения которых обычно используются наборы микросхем. В кристалл интегрируются интерфейсы сетевых и телекоммуникационных систем, что позволяет без дополнительных адаптеров соединять микропроцессоры друг с другом и с различными сетями. Интеграция коммуникационных интерфейсов в кристалл микропроцессора была впервые сделана еще в транспьютерах. Ориентация разработчиков на создание систем с распределенной разделяемой памятью привела к интеграции в кристалл блока управления когерентностью многоуровневой памятью, доступ к блокам которой выполняется через интегрированную в тот же кристалл коммуникационную среду. В качестве примеров этого подхода можно назвать микропроцессоры Alpha 21364 и Power 4. Интеграция функций, с одной стороны, позволяет существенно увеличить пропускную способность между компонентами кристалла по сравнению с пропускной способностью между разными кристаллами, реализующими по отдельности каждую функцию. И, как следствие, поднять производительность систем. С другой стороны, при уменьшении количества кристаллов резко упрощается изготовление и монтаж плат, что ведет к повышению надежности и снижению стоимости систем. Когда количество транзисторов на кристалле стало достаточным для реализации полноценного векторно-конвейерного процессора, появился яркий представитель систем этого класса — микропроцессор NEC SX-6 [18], который недолго оставался в одиночестве. Компания Cray применила в своем суперкомпьютере X1 с производительностью 52 TFLOPS векторно-конвейерные микропроцессоры собственной разработки. В дальнейшем можно ожидать появление кристаллов с несколькими векторно-конвейерными процессорами, образующими однокристальную систему с общей памятью. Такие кристаллы могут быть объединены в MPP-систему. Тем самым, противостояние архитектур массово-параллельных и векторно-конвейерных систем получило логичное завершение. Системы с фиксированной структурой из серийных микропроцессоров MPP-системы из серийных микропроцессоров делают возможным сохранение традиционного стиля программирования. Принципиальным ограничением производительности этих вычислительных систем служит сам характер функционирования процессора. Фазы «выборка команды», «дешифрование команды», «выборка операндов» представляют собой «накладные расходы» на собственно необходимое пользователю действие — «исполнение команды». Производительность теряется либо прямо, если фазы выполнения команды реализуются последовательно с минимальными затратами оборудования, либо опосредованно путем увеличения затрат аппаратуры на совмещение фаз разных команд, как в современных микропроцессорах. Однако при этом возрастает объем оборудования микропроцессора, а, следовательно, уменьшается суммарное количество процессоров однокристальной вычислительной системы, вызывая соответствующее уменьшение производительности. В однокристальных векторно-конвейерных процессорах влияние рассматриваемого фактора ограничения производительности снижается, но не исключается полностью. Специализированные системы с фиксированной структурой Важность решения некоторых актуальных задач оправдывает построение специализированных вычислительных систем. В качестве яркого представителя этого класса систем можно указать систему GRAPE-6 [8], предназначенную для решения задачи взаимодействия N тел. Существующая конфигурация GRAPE-6 включает 2048 специализированных конвейерных микропроцессоров, каждый из которых имеет 6 конвейеров, используемых для вычисления гравитационного взаимодействия между частицами. GRAPE-6 представляет собой кластер, образованный из 16 узлов, объединенных коммутатором Gigabit Ethernet. Каждый узел состоит из ПК на базе микропроцессора AMD Athlon XP-1800+, функционирующего под управлением ОС Linux, и 4 специализированных плат, объединенных между собой и платами соседних узлов специальными каналами. На каждой плате устанавливается 32 специализированных кристалла GRAPE-6. Теоретическая пиковая производительность GRAPE-6 — 63,4 трлн. оп./с. На реальной задаче по моделированию формирования внешних планет солнечной системы достигнута производительность 29,5 трлн. оп./с. Для сравнения, кластер Green Destiny, который при решении на 220 универсальных микропроцессорах задачи N тел, моделирующей формирование Галактики с использованием 200 млн. частиц, показывает производительность 38,9 млрд. оп./с. Универсальные системы с программируемой структурой Такие вычислительные системы строятся из программируемых логических интегральных схем (ПЛИС), содержащих одну или несколько матриц вентилей и позволяющих программно скомпоновать из этих вентилей в одном корпусе электронную схему, эквивалентную схеме, включающей от нескольких десятков до тысяч интегральных схем стандартной логики [9]. Основная идея архитектуры подобных вычислительных систем состоит в том, чтобы программно настроить схему, реализующую требуемое преобразование данных. В [10] приведено сравнение реализации фильтра на Alpha 21164 и Xilinx XC4085XL–09. Микропроцессор Alpha 21164 выполняет две 64 разрядных операции за такт при тактовой частоте 433 МГц, что эквивалентно производительности 55,7 бит/нс. XC4085XL-09 имеет 3136 программируемых логических блоков и минимальную длительность такта 4,6 наносекунд. Для корректного сравнения можно принять, что один программируемый логический блок реализует 1-битную арифметическую операцию. В этих предположениях производительность ПЛИС равна 682 бит/нс. Таким образом, при реализации фильтра на ПЛИС достигается производительность, в 12 раз большая, чем на микропроцессоре Alpha 21164. Основная трудность в использовании реконфигурируемых вычислений состоит в подготовке для заданного алгоритма настроечной информации для создания в ПЛИС схемы, реализующей этот алгоритм. Естественно, поскольку ПЛИС создавались для построения электронной аппаратуры, то изготовители обеспечили, в первую очередь, системы подготовки настроечной информации на высокоуровневых языках электронного проектирования, таких, как Verilog и VHDL [11]. Однако эти языки непривычны для разработчиков алгоритмов. Сегодня в качестве языков программирования ПЛИС используются языки описания потоковых вычислений. Компания Star Bridge Systems (www.starbridgesystems.com) производит семейство программно реконфигурируемых вычислителей Hypercomputer System HC-X и предлагает комплексное решение для организации реконфигурируемых вычислений (рис. 1). Старшая модель семейства, суперкомпьютер HC-98m, состоит из управляющего компьютера и двухплатного программно реконфигурируемого вычислителя, включающего 14 ПЛИС Virtex-II серии 6000 и 4 Virtex-II серии 4000. В совокупности это составляет 98 млн. вентилей. После включения питания первая ПЛИС программируется из постоянного запоминающего устройства на плате. В этой ПЛИС формируется порт шины PCI-X, через который управляющий компьютер будет, используя среду разработки программ Viva, программировать остальные ПЛИС. Рис. 1. Структура узла универсальной вычислительной системы, построенного на ПЛИС Специализированные системы с программируемой структурой Обладая способностью реализовать любую схему, ПЛИС имеют, по сравнению с жесткой логикой, большую площадь в пересчете на используемый вентиль. Комбинацией, сохраняющей программируемость при уменьшении, по сравнению с ПЛИС, затрат оборудования, служит создание однородных вычислительных сред из одного типа ячеек с учетом проблемной ориентации некоторой специфичной ячейки при ее реализации на жесткой логике и программируемости связей между множеством таких ячеек. Идея однородных вычислительных сред была сформулирована в начале 60-х годов сотрудником Института математики СО АН СССР Э.В. Евреиновым [1]. Была показана возможность снятия ограничения на рост тактовой частоты в однородных средах за счет коротких связей между соседними ячейками среды и реализации взаимодействия между удаленными ячейками по принципу близкодействия через цепочку ячеек, расположенных между ними. В силу возможности различного направления специализации ячеек и установления различной пропорции между реализацией на жесткой логике и программируемостью, сегодня предложено много вариантов построения специализированных систем с программируемой структурой [12-16]. К этому классу вычислительных систем относятся также систолические и волновые процессоры [17], программируемые (raw) процессоры [15], ассоциативные процессоры с SIMD-архитектурой, примером которых может служить проект CAM2000 [16], и др. Технологическая база развития современных архитектур Развитие САПР микроэлектроники, с одной стороны, и стандартизация микроэлектронных производств, с другой, создали предпосылки для появления предприятий, не имеющих собственных фабрик по производству микросхем, но разрабатывающих микросхемы или их блоки, являющиеся интеллектуальной собственностью. Это создает предпосылки вовлечения в производство высокопроизводительных вычислительных систем разработчиков, результаты труда которых могут быть получены ими непосредственно без отторжения от них проекта для передачи исполнителям технологического профиля. Это новый этап в развитии вычислительных технологий, дающий уникальный шанс, в том числе, для России. В качестве соответствующих примеров можно предложить проект по созданию однокристальной системы из многопотоковых процессоров для построения из этих кристаллов мощных суперкомпьютеров на основе опыта, полученного при создании МВС-1000М [18], микропроцессоры «Квант» [19], изготовленные на фабрике AMD в Дрездене, а также ряд других отечественных проектов, реализация которых осуществлялась на зарубежных производствах. Архитектуры многопотоковых процессоров Каждый набор регистров Tera MTA обслуживает один вычислительный процесс, называемый потоком (thread). Всего в процессоре имеется n наборов регистров, а поэтому запрос, выданный в основную память процессом, может обслуживаться в течение n-1 тактов, вплоть до момента, когда процессор снова переключится на тот же набор регистров. Тем самым по отношению к одному потоку исполнение его команд замедляется в n раз. Значение n выбирается исходя из того, чтобы время доступа в память было меньше, чем длительность n-1 такта процессора. Задача формирования n потоков целиком возлагается на компилятор. При всем различии подходов к созданию многопотоковых (multithread) микропроцессоров, общим в них является введение множества процессорных элементов, содержащих устройство выборки команд, которое организует окно исполнения для одного потока. В рамках потока может выполняться предсказание переходов, переименование регистров, динамическая подготовка команд к исполнению. Тем самым, общее количество команд, находящихся в обработке, значительно превышает размер одного окна исполнения суперскалярного процессора, с одной стороны, и тактовая частота не лимитируется размером окна исполнения, — с другой стороны. Выявление потоков может выполняться компилятором при анализе исходного кода на языке высокого уровня или исполняемого кода программы. Однако компиляторы не всегда могут разрешить проблемы зависимостей при использовании регистров и ячеек памяти между потоками, что требует разрешения этих зависимостей уже в ходе исполнения потоков. Для этого в микропроцессор вводится специальная аппаратура условного исполнения потоков, предусматривающая возврат с отбрасыванием наработанных результатов в случае обнаружения нарушения зависимостей между потоками. Нарушением зависимости, например, может служить запись по вычисляемому адресу в одном потоке в ту же ячейку памяти, из которой выполняется чтение, которое должно следовать за этой записью, в другом потоке. В этом случае, если адреса записи и чтения не совпадают, нарушение отсутствует. При совпадении адресов фиксируется нарушение, которое должно вернуть исполнение потока к команде чтения правильного значения. Интерфейс между аппаратурой многопотокового процессора, поддерживающей протекание каждого отдельного потока и аппаратурой, общей для исполнения всех потоков, может быть установлен как сразу после устройств выборки команд потока, так и на уровне доступа к разделяемой памяти. В первом случае все потоки используют один набор функциональных устройств. Тесная связь по ресурсам позволяет эффективно исполнять последовательные программы с сильной зависимостью между потоками. В этом случае имеет место реализация SMT-процессора (simultaneous multithreading). Во втором случае для исполнения каждого потока, фактически, выделяется функционально законченный процессор. В целом, эта структура ориентирована на исполнение независимых и слабо связанных потоков, порождаемых либо одной программой, либо их совокупностью. В этом случае скорее надо говорить не о процессоре, а о CMP-системе (chip multiprocessing). Возможно также промежуточное расположение интерфейса, при котором часть функциональных устройств, например, с плавающей точкой разделяется всеми потоками, а остальные устройства дублируются в каждом потоке. Количество и типы устройств, разделяемых всеми потоками, равно как и устройств дублированных во всех потоках, определяется исходя из представления о возможности их эффективной загрузки. Многопотоковый процессор может исполнять потоки, принадлежащие одной или нескольким программам. Если процессор исполняет одну программу, то говорят о его производительности, если несколько — о пропускной способности. Intel использовала 2-потоковую архитектуру в процессорах Pentium 4 и Xeon, однако еще предстоят значительные исследования по многопотоковым архитектурам. Компания Tera объявила о разработке проекта многопотокового микропроцессора Torrent, реализующего процессор МТА (www.tera.com). Компания Level One, образованная Intel, выпустила сетевой микропроцессор IXP1200 (www.level1.com), содержащий 6 четырехпотоковых процессоров. IBM анонсировала проект компьютера Blue Gene (D. Clark. Blue Gene and the race toward petaflops capacity. IEEE Concurrency, January-March 2000) с производительностью 1015 FLOPS, кристалл микропроцессора которого включает 32 восьмипотоковых процессора. В кристалл встроена память DRAM, реализованная как 32 блока. Каждый блок соответствует одному из 32 процессоров и имеет шину доступа 256 разрядов. Так как DRAM имеет высокую пропускную способность и малую задержку, то при восьмипотоковой структуре процессора становится возможным отказаться от кэш-памяти, вместо которой между процессором и памятью используется небольшая буферная память. IBM, Sony, Toshiba ведут совместный проект по разработке многопотокового процессора Cell («ячейка»), само название которого красноречиво свидетельствует о его предназначении. Кластер Green Destiny В Лос-Аламоской лаборатории в рамках реализации проекта малообъемных суперкомпьютеров построен кластер Green Destiny (M. Warren, E. Weigle, W. Feng. High-Density Computing: A 240-Processor Beowulf in One Cubic Meter, Proc. of SC-2002). Авторы проекта поставили целью создать 240-процессорный кластер в объеме 1 кубический метр. В качестве базового выбран конструктив RLX System 324 — 3U-блоки (высота — 5,25 дюйма, ширина — дюйма 17,25, глубина — 25,2 дюймов), вмещающие 24 серверов-лезвий. В блоке имеется два допускающих горячую замену источника питания мощностью 450 Вт и интерфейсы для доступа к вычислительным модулям. Вычислительный модуль включает микропроцессор Transmeta TM5600/667 МГц, 128 Mбайт памяти DDR SDRAM, 512 Mбайт SDRAM, 20-гигабайтный диск и интерфейс Fast Ethernet. Имеется еще один порт Ethernet, позволяющий удвоить пропускную способность за счет агрегирования двух портов. Каждый из 24 вычислительных модулей одного блока подключен к коммутатору Fast Ethernet. Все 10 таких коммутаторов подключены, в свою очередь, к коммутатору Gigabit Ethernet, образуя одноуровневое дерево. Кластер скомпонован в стандартную стойку размером 84x24x36 дюймов, использует систему питания APC Smart-UPS, управляемую ОС Linux. В ненагруженном состоянии кластер рассеивает 7 Вт. Под нагрузкой TM5600 выделяет приблизительно 15 Вт тепла, а кластер в целом с учетом всего оборудования — 5200 Вт, что в пересчете на один вычислительный модуль составляет 22 Вт. Программируемый микропроцессор Схемы для выполнения арифметических операций над 64-разрядными операндами с плавающей точкой, сформированные в однородной вычислительной среде с однобитными ячейками, используют значительно больший объем оборудования и уступают по быстродействию устройствам обработки операндов с плавающей точкой микропроцессоров с традиционной архитектурой. Проект программируемого (raw) микропроцессора преследует цель устранить этот недостаток, сохранив преимущества программируемости структуры вычислительных систем. Программируемый микропроцессор строится на кристалле как ячейка однородной решетки nxn (M. Taylor, J. Kim, J. Miller at al. The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs. IEEE Micro, 2002, Vol. 22, No. 2). Авторы проекта используют термин tile. Ячейка содержит процессор и программируемый коммутатор, предназначенный для передачи и приема данных между соседними ячейками. Процессор выполнен по 8-стадийной конвейерной схеме с промежуточной фиксацией результатов между стадиями конвейера в очереди с дисциплиной обслуживания FIFO. В процессоре реализовано много обходных путей (bypass), позволяющих использовать промежуточные результаты сразу после их получения на каждой стадии конвейера, в том числе, для передачи в другие ячейки. Предусматриваются также кэш-память данных (32 Кбайт) и кэш-память команд (96 Кбайт). Для того чтобы ускорить межячеечные передачи данных, применен следующий подход. Регистры r24-r27 отображены на входные очереди межячеечных каналов с дисциплиной обслуживания FIFO. Обращение к регистру rj, j {24, ..., 27}, по чтению, в том числе при выборе этого регистра как операнда, влечет выборку элемента данных из соответствующей входной очереди. Если элемент в очереди отсутствует, то завершение выполнения обращения к регистру rj, j {24, ..., 27}, задерживается вплоть до поступления данных во входную очередь. При обращении к регистру rj, j {24, ..., 27}, по записи, реальная запись производится в выходную очередь межячеечных каналов. Если очередь заполнена, то завершение выполнения записи задерживается, вплоть до освобождения элемента очереди. Решения по организации межячеечных связей и связей между обрабатывающими устройствами в конвейере идентичны и базируются на промежуточных FIFO-очередях, передающих данные по готовности приемника. Важным следствием такой организации является то, что протекание вычислений определяется событиями, в качестве которых выступают размещение данных в очередях. На ход вычислений не оказывают влияния прерывания, происходящие в процессорах, промахи в кэш-памяти и иные асинхронно наступающие события, непосредственно не связанные с вычислительным процессом. Программируемый коммутатор ячейки содержит 2 интерфейсных процессора. Статический интерфейсный процессор управляет передачами слов данных по устанавливаемым при компиляции программы маршрутам. Для пересылки слова между двумя ячейками статические интерфейсные процессоры на маршруте между этими ячейками обязательно должны исполнить соответствующие команды, задающие путь передачи слова. Компилятор выполняет потактное совмещение преобразований в процессоре и статическом интерфейсном процессоре. Динамический интерфейсный процессор управляет передачей пакетов слов. Первое слово пакета содержит идентификатор ячейки-адресата, поле пользователя и количество слов в пакете (не более 31). Пакет передается по методу коммутации канала на время передачи. Динамический интерфейсный процессор служит для передач данных, выполнение которых нельзя предсказать во время компиляции, например, промахи в кэш-памяти, прерывания, передачи данных, выполнение которых зависит от значений предикатов. Ячейки, находящиеся на границе поля ячеек, имеют свободные каналы, к которым подключаются контроллеры памяти, периферийных внешних устройств. Прерывания от контроллеров передаются в виде специальных однословных сообщений, в которых указывается, какая ячейка должна обрабатывать это прерывание Экспериментальный кристалл программируемого процессора изготовлен по 0,15-микронной технологии с 6 слоями медных проводников на фабрике IBM. Кристалл содержит 16 (4х4) ячеек и функционирует на частоте 225 МГц, потребляя 25 Вт. Разработаны компиляторы языков Си и Фортран, автоматически отображающие операторы программы в массив ячеек и формирующие команды статического интерфейсного процессора этой программы. Для одной из программ набора SPECfp на 16 ячейках получено уменьшение времени выполнения программы от 6 до 11 раз по сравнению с временем ее исполнения на одной ячейке. В другом эксперименте с использованием 32 ячеек соответствующее ускорение составило от 9 до 19 раз. Однородные вычислительные среды В разное время было предложено достаточно много проектов однородных вычислительных сред [1-5]. Какое-то схематичное представление о них дает Рисунок, на котором изображена структура ячейки гипотетической однородной среды. Ячейки находятся в узлах прямоугольной решетки и связаны двунаправленными информационными каналами. Кроме этого, ячейки связаны сетью для ввода программы в ячейку, задания режима ее функционирования «настройка/работа», тактирования. В режиме «настройка» каждая ячейка получает программу, возможно, состоящую из одной команды. Рис. Структура ячейки гипотетической однородной среды В режиме «работа» ячейка выполняет команды над операндами, поступающими из информационных каналов или из внутренней, как правило, однобитной памяти. То, какие операнды использовать, и какую операцию выполнять над ними определяется дешифратором команды, который управляет АЛУ и коммутатором ячейки. Эта же команда определяет, на какие информационные выходы, и что надо выдавать из ячейки. Ячейка, как правило, выполняет следующие команды: транзит данных через ячейку с ее входов с записью или без записи в память ячейки; нет операции; суммирование с учетом или без учета переноса; логическая операция (суммирование по модулю 2, или, и, не-и); генерирование константы. Настройка ячеек может быть статической или динамической. В первом случае команды в регистр программы записываются извне. Во втором случае должен предусматриваться способ, как будет выполняться конфигурирование ячеек (т.е. выполняться загрузка регистров программы ячеек). Ячейки могут двояко воспринимать входную информацию. Когда ячейка формирует выходные сигналы сообразно с конфигурацией, она работает в «комбинационном» режиме или режиме обработки данных, как комбинационный логический блок. Может быть введен дополнительный режим работы ячейки, называемый «режимом модификации», позволяющий интерпретировать входные данные как новое содержимое регистра программы. Ячейки входят в этот режим и выходят из него через скоординированный обмен с соседними ячейками. Во время этого скоординированного обмена соседняя ячейка предоставляет новую программу (таблицу истинности) для модифицируемой ячейки. Конфигурирование ячейки является чисто локальной операцией, в которой участвуют только две ячейки — та, которая имеет новое содержимое, и та, в которую это содержимое записывается. Благодаря локальности, операции конфигурирования могут производиться одновременно во множестве различных областей матрицы ячеек. Любая из ячеек матрицы может работать в любом из данных режимов. Не существует ячеек с заранее предопределенным режимом работы, он определяется данными от соседних ячеек на входах этой ячейки. В типовой сложной схеме матрица содержит ячейки, которые обрабатывают данные, и ячейки, которые участвуют в реконфигурации других ячеек. Функционирование системы включает тесную кооперацию, взаимодействие, обмен между комбинационными узлами и узлами модификации. Можно не только обрабатывать данные на наборе ячеек, но и заставлять ячейки считывать и записывать конфигурацию других ячеек, что позволяет создавать динамические самоконфигурируемые системы, чье поведение во время выполнения может изменяться в зависимости от локальных событий. Литература 1. Э.В. Евреинов, Ю.Г. Косарев. Однородные универсальные вычислительные системы высокой производительности. // Новосибирск: Наука, 1966. 2. М.П. Богачев. Архитектура вычислительной системы с однородной структурой. В кн. однородные вычислительные среды. // Львов, ФМИ АН УССР, 1981. 3. В.С. Седов. Матрица одноразрядных процессоров. Львов, НТЦ "Интеграл", 1991. 4. L. Durbeck, N. Macias. The Cell Matrix: An Architecture for Nanocomputing, www.cellmatrix.com. 5. С. Кун. Матричные процессоры на СБИС. // М.: Мир, 1991. Однокристальный ассоциативный процессор САМ2000 На концептуальном уровне многие сегодняшние проблемы повышения эффективности параллельной обработки данных связаны с вопросами представления данных в адресных запоминающих устройствах и указанием способа их параллельной обработки. Данные должны быть представлены в виде ограниченного количества форматов (например, массивы, списки, записи). Также должна быть явно создана структура связей между элементами данных посредством указателей на адреса памяти элементов. В свою очередь, при обработке этих данных порождается совокупность операций, обеспечивающих доступ к данным по указателям. При подготовке и исполнении параллельных программ анализ этой совокупности операций составляет, в сущности, проблему, так называемого, распараллеливания по данным. Кроме того, указанные операции по доступу к данным часто образуют — в силу своей природы — неподдающиеся распараллеливанию блоки программного кода. Сформировавшаяся триада — алгоритмы прикладных задач, общесистемное программное обеспечение и аппаратные средства — существенно ориентирована именно на традиционную адресную обработку данных. Помимо обусловленной этим подходом громоздкости операционных систем и систем программирования, адресный доступ к памяти служит препятствием к созданию вычислительных средств с архитектурой, ориентированной на более эффективное использование параллелизма обработки данных. Преодоление ограничений, обусловленных адресным доступом к памяти, возможно за счет использования ассоциативного способа обработки данных, позволяющего выбирать все данные, удовлетворяющие некоторому задаваемому критерию поиска, и производить над всеми выбранными данными требуемые преобразования [1, 2]. Определенная подобным образом ассоциативная обработка включает возможность массовой параллельной выборки данных и массовой их обработки. Критерием поиска данных может быть совпадение с любым элементом данных, достаточным для выделения искомых данных из всех данных. Поиск данных может происходить по фрагменту, имеющему большую или меньшую корреляцию с заданным элементом данных. Исследованы и в разной степени используются несколько подходов, различающихся полнотой реализации модели ассоциативной обработки. Если реализуется только ассоциативная выборка данных с последующим поочередным использованием найденных данных, то говорят об ассоциативной памяти или памяти, адресуемой по содержимому. При достаточно полной реализации всех свойств ассоциативной обработки, используется термин «ассоциативный процессор». Примером такого процессора может служить STARAN [2]. Кроме того, модель ассоциативной обработки может достаточно эффективно быть реализована на специализированных параллельных системах из большого числа процессоров, каждый из которых имеет собственную небольшую локальную память. Подобные вычислительные структуры обычно называют памятью с обработкой, многофункциональной памятью, интеллектуальной памятью и рядом других терминов. Рис. Структура САМ 2000 — бинарное дерево Однако следует проанализировать возможности использования памяти с обработкой. Представляется, что переход от одной крайности (только хранение данных в традиционной памяти) к другой (вся обработка данных только в памяти) заведомо не продуктивен. Компромиссным решением может быть реализация в интеллектуальной памяти простой массово параллельной обработки данных и вычисление агрегированных значений типа сумма компонент вектора, определение минимальной или максимальной компоненты вектора и тому подобные. Сложная обработка данных производится в процессоре, к которому подключается рассматриваемая интеллектуальная память. Этот подход положен, например, в основу проекта контекстно-адресуемой (ассоциативной) памяти САМ 2000 [3]. САМ 2000 объединяет возможности ассоциативного процессора, ассоциативной памяти, динамической памяти в одном кристалле. Этот кристалл может выполнять просто функции динамической памяти, а также производить простую массово параллельную обработку содержимого, хранящегося в динамической памяти. В основе САМ 2000 лежит концепция увеличения качества данных. Множество простых процессоров в кристалле памяти выполняют массово-параллельную обработку содержимого памяти прежде, чем отправить результаты этой обработки в процессор. Например, нахождение среднего k чисел в традиционном вычислительном модуле с кэш-памятью требует пересылки данных с последующим выполнением только одной операции с каждым данным. При этом создается большая нагрузка на интерфейс «процессор-память», определяющий фактически производительность обработки. В САМ 2000 среднее может быть вычислено так, что сумма чисел может быть получена в памяти и передана в процессор, где выполняется вычисление среднего. Каждый кристалл САМ 2000 выполняет функцию микросхемы интеллектуальной памяти и имеет 4 шины: двунаправленную шину данных, подсоединяемую к основному процессору или процессорам, однонаправленную входную шину команд, по которой поступает выполняемая всеми кристаллами команда; однонаправленную входную шину ввода; однонаправленную выходную шину вывода. Однокристальный векторно-конвейерный процессор SX-6 Микропроцессор создан по 0,15-микронной КМОП-технологии с медными проводниками и содержит приблизительно 57 млн. транзисторов. Основными компонентами микропроцессора являются скалярный процессор и 8 идентичных векторных устройств. Скалярный процессор имеет суперскалярную архитектуру с 4 результатами за такт и использует 128 64-разрядных регистров. При частоте 500 МГц пиковая производительность скалярного процессора составляет 1 GFLOPS. Каждое из 8 идентичных векторных устройств содержит 5 конвейеров обработки данных, выполняющих логические операции, маскирование, сложение/сдвиги, умножение и деление над операндами, размещенными в векторных регистрах, а также один конвейер обменов данными (загрузки-выгрузки) между векторными регистрами и основной памятью. Суммарный объем регистров в 8 векторных устройствах составляет 18 Кбайт (эквивалентно 288 64-разрядным регистрам). В векторном устройстве операции умножения и сложения могут сцепляться, за счет чего пиковая производительность одного устройства при частоте 500 МГц может достигать 1 GFLOPS. Пропускная способность интерфейса с памятью равна 32 Гбайт/с, что позволяет каждому из 8 векторных устройств прочитать из памяти или записать в память один операнд в каждом такте. Производительность SX-6 составляет 8 GFLOPS. Литература 1. Э.В. Евреинов, Ю.Г. Косарев. Однородные универсальные вычислительные системы высокой производительности. // Новосибирск: Наука, 1966. 2. K. Batcher. STARAN Parallel Processor System Hardware. NCC, 1974. 3. Reddaway. DAP - A Distributed Array Processor. Proc. of 1 st Annual Symposium on Computer Architecture, IEEE, 1973. 4. W. Hillis. The Connection Machine. The MIT Press, 1985. 5. Cray Research, CRAY-1 Computer System Hardware Reference Manual, Bloomington, Minn., pub. no. 2240004, 1977. 6. G. Bell. Ultracomputers: A Teraflop Before Its Time. Communications of the ACM. Vol. 35, No. 8, August 1992. 7. В. Корнеев. Архитектуры с распределенной разделяемой памятью. Открытые системы, № 3, 2001. 8. J. Makino, E. Kokubo, T. Fukushige, H. Daisaka. Tops simulation of planetesimals in Uranus-Neptune region on GRAPE-6. Proc. of SC-2002. 9. Programmable Logic Data Book. Xilinx, Xilinx, Inc. 1999. 10. DeHon. The Density Advantage of Configurable Computing. Computer, No. 4. 2000. 11. IEEE Std 1076-1993. VHDL'93. IEEE Standard VHDL Language Reference Manual. 12. М.П. Богачев. Архитектура вычислительной системы с однородной структурой. В кн. Однородные вычислительные среды. Львов. ФМИ АН УССР. 1981. 13. В.С. Седов. Матрица одноразрядных процессоров. Львов. НТЦ "Интеграл". 1991. 14. L. Durbeck, N. Macias. The Cell Matrix: An Architecture for Nanocomputing, www.cellmatrix.com. 15. M. Taylor, J. Kim, J. Miller at al. The Raw Microprocessor: A Computational Fabric for Software Circuits and General-Purpose Programs. IEEE Micro, 2002, Vol. 22, No. 2. 16. Smith D., Hall J., Miyake K. The CAM2000 Chip Architecture. Rutgers University. http://www.cs.rugers.edu/pub/technical-reports. 17. С. Кун. Матричные процессоры на СБИС. // М.: Мир. 1991. 18. Фортов В.Е., Левин В.К., Савин Г.И., Забродин А.В., Каратанов В.В., Елизаров Г.С., Корнеев В.В., Шабанов Б.М. "Наука и промышленность России". Суперкомпьютер МВС-1000М и перспективы его применения. "Наука и промышленность России" 2001, № 11(55). 19. Виксне П.Е., Каталов Ю.Т., Корнеев В.В., Панфилов А.П., Трубецкой А.В., Черников В.М. Транспьютероподобный 32-разрядный RISC-процессор с масштабируемой архитектурой. Вопросы радиоэлектроники. Серия ЭВТ. Выпуск 2, НИИЭИР, 1994. 20. Т. Кохонен. Ассоциативная память. М.: Мир, 1980. 21. Амамия М., Танака Ю. Архитектура ЭВМ и искусственный интеллект. М.: Мир, 1993. 22. 3.Smith D., Hall J., Miyake K. The CAM2000 Chip Architecture. Rutgers University, http://www.cs.rugers.edu/pub/technical-reports. Лекция 27. Принципы построения телекоммуникационных вычислительных систем. Введение Телекоммуникации можно определить как технологию, связывающую информационные массивы, зачастую находящиеся не некотором расстоянии друг от друга. В настоящее время в телекоммуникациях происходит революция, затрагивающая два аспекта: быстрые изменения в технологиях коммуникаций и не менее важные изменения в вопросах владения, контроля и предоставления коммуникационных услуг. Сегодняшние менеджеры должны разбираться в возможностях и преимуществах различных коммуникационных технологий, а также уметь сопоставлять затраты и прибыль, получаемую при правильном использовании телекоммуникаций. Телекоммуникационная система – это совокупность аппаратно и программно совместимого оборудования, соединенного в единую систему с целью передачи данных из одного места в другое. Телекоммуникационная система способна передавать текстовую, графическую, голосовую или видеоинформацию. В этой главе описаны основные компоненты телекоммуникационных систем. В следующих разделах объясняется, как эти компоненты работают совместно друг с другом, образуя различные виды сетей. В состав типичной коммуникационной системы входят серверы, пользовательские компьютеры, каналы связи (на рисунке они обозначены красными линиями), а также активное оборудование – модемы, концентраторы и проч. 2.Компоненты телекоммуникационной системы Ниже перечислены основные компоненты телекоммуникационной системы: 1. Серверы, хранящие и обрабатывающие информацию. 2. Рабочие станции и пользовательские ПК, служащие для ввода запросов к базам данных, получения и обработки результатов запросов и выполнения других задач конечных пользователей информационных систем. 3. Коммуникационные каналы – линии связи, по которым данные передаются между отправителем и получателем информации. Коммуникационные каналы используют различные типы среды передачи данных: телефонные линии, волоконно-оптический кабель, коаксиальный кабель, беспроводные и другие каналы связи. 4. Активное оборудование – модемы, сетевые адаптеры, концентраторы, коммутаторы, маршрутизаторы и проч. Эти устройства необходимы для передачи и приема данных. 5. Сетевое программное обеспечение, управляющее процессом передачи и приема данных и контролирующее работу отдельных частей коммуникационной системы. Функции телекоммуникационной системы Чтобы передать информацию из одного пункта и получить ее в другом, телекоммуникационной системе нужно выполнить некоторые операции, которые главным образом скрыты от пользователей. Прежде, чем телекоммуникационная система передаст информацию, ей необходимо установить соединение между передающей (sender) и принимающей (receiver) сторонами. Затем рассчитать оптимальный маршрут передачи данных, выполнить первичную обработку передаваемой информации (например, необходимо проверить, что ваше сообщение передается именно тому, кому вы его отослали) и преобразовать скорость передачи компьютера в скорость, поддерживаемую линией связи. Наконец, телекоммуникационная система управляет потоком передаваемой информации. Сетевые устройства и средства коммуникаций. В качестве средств коммуникации наиболее часто используются витая пара, коаксиальный кабель, оптоволоконные линии. При выборе типа кабеля учитывают следующие показатели: • стоимость монтажа и обслуживания, • скорость передачи информации, • ограничения на величину расстояния передачи информации без дополнительных усилителей-повторителей (репитеров), • безопасность передачи данных. Главная проблема заключается в одновременном обеспечении этих показателей, например, наивысшая скорость передачи данных ограничена максимально возможным расстоянием передачи данных, при котором еще обеспечивается требуемый уровень защиты данных. Легкая наращиваемость и простота расширения кабельной системы влияют на ее стоимость. 3. Типы телекоммуникационных сетей. Существуют различные способы организации совместной работы активного и пассивного сетевого оборудования, и поэтому, есть множество способов классификации сетей. Сети можно классифицировать по конфигурации, или топологии (network topology). По своим географическим размерам сети подразделяются на глобальные и локальные. Глобальные сети, как правило, охватываю достаточно большие площади – от 1-2 до сотен тысяч километров. Локальные сети объединяют компьютерные ресурсы одного или нескольких зданий. В этой части вы познакомитесь с различными видами компьютерных сетей. Локальные сети Локальная сеть, ЛС (иногда используется название локальная вычислительная сеть, ЛВС) – Local Area Network, LAN – охватывает небольшие пространства, обычно одно здание или несколько близко стоящих зданий. Большинство локальных сетей связывают компьютеры, находящиеся друг от друга на расстоянии не более 600 м. Локальные сети нуждаются в своих собственных телекоммуникационных каналах (чаще всего применяется витая пара или коаксиальный кабель). Локальные сети нашли широкое применение в бизнесе. Благодаря им организации могут применять приложения, способствующие значительному повышению производительности и эффективности управления. К таким приложениям относятся, прежде всего, все виды электронной почты (обычная, текстовая, голосовая и видеопочта), теле и видеоконференции, интернет-технологии. Сегодня трудно представить себе офис, не оснащенный локальной сетью. Локальные сети позволяют организациям совместно использовать программное обеспечение и дорогостоящее оборудование. Например, пользователи нескольких компьютеров, объединенных локальной сетью, могут совместно пользоваться одним лазерным или струйным принтером, подсоединенным к сети. Сети применяются для работы с приложениями коллективного планирования, а также для организации распределенных вычислений. Без сетей было бы невозможным совместное использование в организациях доступа к Интернет. Обычно в организациях только один компьютер напрямую подключен к поставщику услуг Интернет (провайдеру). Чтобы пользователи остальных компьютеров могли работать с Всемирной сетью, на компьютер, выполняющий функцию шлюза, устанавливается специальное программное обеспечение, выполняющее от имени пользователей запросы к Интернет. Персонал отделения Michelin Corporation в Милане использует локальную сеть в основном для обмена электронной почтой, а также для совместной обработки текстовой и графической информации. Кабельная система, построенная на базе кабеля UTP5, связывает несколько концентраторов, с которыми соединены более 200 компьютеров. В сети используются серверы Compaq ProLiant с мощными процессорами и емкими жесткими дисками, а также рабочие станции и персональные компьютеры Olivetti. В каждом офисе установлен сетевой лазерный принтер. Ночью, когда в здании нет сотрудников, вся важнейшая информация копируется системой резервного копирования, которой оснащен один из серверов – это снижает риск потери жизненно важных данных. К Интернету все миланское отделение Michelin Corporation подключено через один из компьютеров, работающий как шлюз между локальной сетью компании и оптоволоконным каналом связи с Интернет-провайдером. Благодаря постоянной связи с Интернет, миланское отделение корпорации Michelin может в любой момент установить связь с мэйнфреймом, который находится в здании штаб-квартиры Michelin Corporation в Турине. 4. Топологии вычислительной сети. Топология типа звезда. Концепция топологии сети в виде звезды пришла из области больших ЭВМ, в которой головная машина получает и обрабатывает все данные с периферийных устройств как активный узел обработки данных. Этот принцип применяется в системах передачи данных, например, в электронной почте RELCOM. Вся информация между двумя периферийными рабочими местами проходит через центральный узел вычислительной сети. Пропускная способность сети определяется вычислительной мощностью узла и гарантируется для каждой рабочей станции. Коллизий (столкновений) данных не возникает. Топология в виде звезды является наиболее надежной из всех топологий вычислительных сетей, поскольку передача данных между рабочими станциями проходит через центральный узел (при его хорошей производительности) по отдельным линиям, используемым только этими рабочими станциями. Кольцевая топология. При кольцевой топологии сети рабочие станции связаны одна с другой по кругу, т.е. рабочая станция 1 с рабочей станцией 2, рабочая станция 3 с рабочей станцией 4 и т.д. Последняя рабочая станция связана с первой. Коммуникационная связь замыкается в кольцо. Прокладка кабелей от одной рабочей станции до другой может быть довольно сложной и дорогостоящей, особенно если географически рабочие станции расположены далеко от кольца (например, в линию). Основная проблема при кольцевой топологии заключается в том, что каждая рабочая станция должна активно участвовать в пересылке информации, и в случае выхода из строя хотя бы одной из них вся сеть парализуется. Специальной формой кольцевой топологии является логическая кольцевая сеть. Физически она монтируется как соединение звездных топологий. Шинная топология. При шинной топологии среда передачи информации представляется в форме коммуникационного пути, доступного дня всех рабочих станций, к которому они все должны быть подключены. Все рабочие станции могут непосредственно вступать в контакт с любой рабочей станцией, имеющейся в сети. Рабочие станции в любое время, без прерывания работы всей вычислительной сети, могут быть подключены к ней или отключены. Функционирование вычислительной сети не зависит от состояния отдельной рабочей станции. В стандартной ситуации для шинной сети Ethernet часто используют тонкий кабель или Cheapernet-кaбeль с тройниковым соединителем. Выключение и особенно подключение к такой сети требуют разрыва шины, что вызывает нарушение циркулирующего потока информации и зависание системы. Древовидная структура ЛВС. Наряду с известными топологиями вычислительных сетей кольцо, звезда и шина, на практике применяется и комбинированная, на пример древовидна структура. Она образуется в основном в виде комбинаций вышеназванных топологий вычислительных сетей. Основание дерева вычислительной сети располагается в точке (корень), в которой собираются коммуникационные линии информации (ветви дерева). Вычислительные сети с древовидной структурой применяются там, где невозможно непосредственное применение базовых сетевых структур в чистом виде. Для подключения большого числа рабочих станций соответственно адаптерным платам применяют сетевые усилители или коммутаторы. Коммутатор, обладающий одновременно и функциями усилителя, называют активным концентратором. 5. Модем Для связи удаленных компьютеров друг с другом используются в основном обычные телефонные сети, которые покрывают более или менее обширные территории большинства государств - PSTN (Public Switchable Tele-phone Network). Единственная проблема в этом случае - преобразование цифровых (дискретных) сигналов, которыми оперирует компьютер, в аналоговые (непрерывные). Для решения этой задачи и предназначены устройства, именуемые модемами. Модем - это периферийное устройство, предназначенное для обмена информацией с другими компьютерами через телефонную сеть. По терминологии ГОСТа они называются УПС (устройства преобразования сигналов). По сути, модем образован двумя узлами - модулятором и демодулятором; он выполняет модуляцию и демодуляцию информационных сигналов. Собственно слово "модем" - сокращение от двух других: Модулятор/Демодулятор. Другими словами, модулятор модема преобразует поток битов из компьютера в аналоговые сигналы, пригодные для передачи по телефонному каналу связи; демодулятор модема осуществляет обратную задачу - преобразует сигналы звуковой частоты в цифровую форму, чтобы они могли быть восприняты компьютером. Таким образом, данные, подлежащие передаче, преобразуются в аналоговый сигнал модулятором модема <передающего> компьютера. Принимающий модем, находящийся на противоположном конце линии, <слушает> передаваемый сигнал и преобразует его обратно в цифровой при помощи демодулятора. Следовательно, модем является устройством, способным как передавать, так и принимать данные. Благодаря тому, что в качестве среды передачи данных используются телефонные линии связи, оказывается возможным связываться с любой точкой земного шара. Современные модемы выполнены на базе специализированных БИС (больших интегральных схем), выполняющих практически все функции модема. Это обеспечивает малые габариты, высокую надёжность и простоту использования модемов. В последние годы наиболее широко применяются модемы на скорости передачи 2400, 9600 и 14400 бит/с., в то же время указанные виды модемов допускают передачу на пониженных скоростях (1200, 4800, 7200, 12000 бит/с.), а также взаимодействие с основной массой модемов более ранних годов выпуска. В настоящее время в состав задач, выполняемых модемом, введены функции защиты от ошибок при передаче и функция сжатия данных, что позволило радикально увеличить достоверность и скорость передачи информации. Благодаря сжатию данных фактическая скорость передачи цифровой информации с помощью модемов может быть доведена до 40-60 Кбит/с. В последнее время модемы становятся неотъемлемой частью компьютера. Установив модем на свой компьютер, вы фактически открываете для себя новый мир. Ваш компьютер превращается из обособленного компьютера в звеноглобальной сети. Список использованной литературы. 1. Сухман С.М., Бернов А.В., Шевкопляс Б.В. Компоненты телекоммуникационных систем. Анализ инженерных решений. – М.: МИЭТ, 2002.– 220 с. 2. Компьютер Пресс. – 1998г. – №8 3. Компьютер Пресс. – 1999г. – №1 4. Сайт в Internet: www.iXBT.ru. Ссылка – «коммуникации». Лекция 28. Эталонная модель взаимодействия открытых систем. Введение. В данной лекции дается разъяснение основных концепций объединения сетей. Представленная здесь основополагающая информация поможет студентам понять тот технический материал, из которого составлена большая часть данной лекции В главу включены разделы, касающиеся эталонной модели OSI, важные термины и концепции, а также перечень основных организаций по стандартизации сетей. Эталонная модель Перемещение информации между компьютерами различных схем является чрезвычайно сложной задачей. В начале 1980 гг. Международная Организация по Стандартизации (ISO) и Международный Консультативный Комитет по Телеграфии и Телефонии (МККТТ), переименованный позже в Международный Союз Электросвязи (МСЭ-Т) осознали необходимость в создании модели сети, которая могла бы помочь поставщикам создавать реализации взаимодействующих сетей. В тесном сотрудничестве была разработана эталонная модель "Взаимодействие Открытых Систем" (ЭМ ВОС). Эта модель была описана в рекомендациях Х.200 (МККТТ) и ISO 7498 (ISO). ЭМВОС быстро стала основной архитектурной моделью для передачи межкомпьютерных сообщений. Несмотря на то, что были разработаны другие архитектурные модели (в основном патентованные), большинство поставщиков сетей, когда им необходимо предоставить обучающую информацию пользователям поставляемых ими изделий, ссылаются на них как на изделия для сети, соответствующей эталонной модели. И действительно, эта модель является самым лучшим средством, имеющемся в распоряжении тех, кто надеется изучить технологию сетей. Дальнейшее описание ЭМВОС будет базироваться на модели ISO. Иерарахическая связь. Эталонная модель OSI делит проблему перемещения информации между компьютерами через среду сети на семь менее крупных, и следовательно, более легко разрешимых проблем. Каждая из этих семи проблем выбрана потому, что она относительно автономна, и следовательно, ее легче решить без чрезмерной опоры на внешнюю информацию. Каждая из семи областей проблемы решалась с помощью одного из уровней модели. Большинство устройств сети реализует все семь уровней. Однако в режиме потока информации некоторые реализации сети пропускают один или более уровней. Два самых низших уровня OSI реализуются аппаратным и программным обеспечением; остальные пять высших уровней, как правило, реализуются программным обеспечением. Справочная модель OSI описывает, каким образом информация проделывает путь через среду сети (например, провода) от одной прикладной программы (например, программы обработки крупноформатных таблиц) до другой прикладной программы, находящейся в другом компьютере. Т.к.информация, которая должна быть отослана, проходит вниз через уровни системы, по мере этого продвижения она становится все меньше похожей на человеческий язык и все больше похожей на ту информацию, которую понимают компьютеры, а именно "единицы" и "нули". В качестве примера связи типа OSI предположим, что Система А на Рис. 1-1 имеет информацию для отправки в Систему В. Прикладная программа Системы А сообщается с Уровнем 7 Системы А (верхний уровень), который сообщается с Уровнем 6 Системы А, который в свою очередь сообщается с Уровнем 5 Системы А, и т.д. до Уровня 1 Системы А. Задача Уровня 1 - отдавать (а также забирать) информацию в физическую среду сети. После того, как информация проходит через физическую среду сети и поглащается Системой В, она поднимается через слои Системы В в обратном порядке (сначала Уровень 1 , затем Уровень 2 и т.д.), пока она наконец не достигнет прикладную программу Системы В. Хотя каждый из уровней Системы А может сообщаться со смежными уровнями этой системы, их главной задачей является сообщение с соответствующими уровнями Системы В. Т.е. главной задачей Уровня 1 Системы А является связь с Уровнем 1 Системы В; Уровень 2 Системы А сообщается с Уровнем 2 Системы В и т.д. Это необходимо потому, что каждый уровень Системы имеет свои определенные задачи, которые он должен выполнять. Чтобы выполнить эти задачи, он должен сообщаться с соответствующим уровнем в другой системе. Уровневая модель OSI исключает прямую связь между соответствующими уровнями других систем. Следовательно, каждый уровень Системы А должен полагаться на услуги, предоставляемые ему смежными уровнями Системы А, чтобы помочь осуществить связь с соответствующим ему уровнем Системы В. Взаимоотношения между смежными уровнями отдельной системы показаны на Рис.1-2. Предположим, что Уровень 4 Системы А должен связаться с Уровнем 4 Системы В. Чтобы выполнить эту задачу, Уровень 4 Системы А должен воспользоваться услугами Уровня 3 Системы А. Уровень 4 называется "пользователем услуг", а Уровень 3 - "источником услуг". Услуги Уровня 3 обеспечиваются Уровню 4 в "точке доступа к услугам" (SAP), которая представляет собой просто местоположение, в котором Уровень 4 может запросить услуги Уровня 3. Как видно из рисунка, Уровень 3 может предоставлять свои услуги множеству об'ектов Уровня 4. Форматы информации. Каким образом Уровень 4 Системы В узнает о том, что необходимо Уровню 4 Системы А? Специфичные запросы Уровня А запоминаются как управляющая информация, которая передается между соответствующими уровнями в блоке, называемом заголовком; заголовок предшествуют фактической прикладной информации. Например, предположим, что Система А хочет отправить в Систему В следующий текст (называемый "данные" или "информация"): The small grey cat ran up the wall to try to catch the red bird. Этот текст передается из прикладной программы Системы А в верхний уровень этой системы. Прикладной уровень Системы А должен передать определенную информацию в прикладной уровень Системы В, поэтому он помещает управляющую информацию (в форме кодированного заголовка) перед фактическим текстом, который должен быть передан. Этот информационный блок передается в Уровень 6 Системы А, который может предварить его своей собственной управляющей информацией. Размеры сообщения увеличиваются по мере того, как оно проходит вниз через уровни до тех пор, пока не достигнет сети, где оригинальный текст и вся связанная с ним управляющая информация перемещаются к Системе В, где они поглащаются Уровнем 1 Системы В. Уровень 1 Системы В отделяет заголовок уровня 1 и прочитывает его, после чего он знает, как обрабатывать данный информационный блок. Слегка уменьшенный в размерах информационный блок передается в Уровень 2, который отделяет заголовок Уровня 2, анализирует его, чтобы узнать о действиях, которые он должен выполнить, и т.д. Когда информационный блок наконец доходит до прикладной программы Системы В, он должен содержать только оригинальный текст. Концепция заголовка и собственно данных относительна и зависит от перспективы того уровня, который в данный момент анализирует информационный блок. Например, в Уровне 3 информационный блок состоит из заголовка Уровня 3 и следующими за ним данными. Однако данные Уровня 3 могут содержать заголовки Уровней 4, 5, 6 и 7. Кроме того, заголовок Уровня 3 является просто данными для Уровня 2. Эта концепция иллюстрируется на Рис. 1-3. И наконец, не все уровни нуждаются в присоединении заголовков. Некоторые уровни просто выполняют трансформацию фактических данных, которые они получают, чтобы сделать их более или менее читаемыми для смежных с ними уровней. Проблемы совместимости. Эталонная модель OSI не является реализацией сети. Она только определяет функции каждого уровня. В этом отношении она напоминает план для постройки корабля. Точно также, как для выполнения фактической работы по плану могут быть заключены контракты с любым количеством кораблестроительных компаний, любое число поставщиков сети могут построить протокол реализации по спецификации протокола. И если этот план не будет предельно понятным, корабли, построенные различными компаниями, пользующимися одним и тем же планом, пусть незначительно, но будут отличаться друг от друга. Примером самого незначительного отличия могут быть гвозди, забитые в разных местах. Чем объясняется разница в реализациях одного и того же плана корабля (или спецификации протокола)? Частично эта разница вызвана неспособностью любой спецификации учесть все возможные детали реализации. Кроме того, разные люди, реализующие один и тот же проект, всегда интерпретируют его немного по-разному. И наконец, неизбежные ошибки реализации приводят к тому, что изделия разных реализаций отличаются исполнением. Этим объясняется то, что реализация протокола Х одной компании не всегда взаимодействует с реализацией этого протокола, осуществленной другой компанией. Уровни OSI. После того, как стали понятными основные особенности принципа деления на уровни модели OSI, можно приступить к обсуждению каждого отдельного уровня и его функций. Каждый уровень имеет заранее заданный набор функций, которые он должен выполнить для того, чтобы связь могла состояться. Прикладной уровень Прикладной уровень - это самый близкий к пользователю уровень OSI. Он отличается от других уровней тем, что не обеспечивает услуг ни одному из других уровней OSI; однако он обеспечивает ими прикладные процессы, лежащие за пределами масштаба модели OSI. Примерами таких прикладных процессов могут служить программы обработки крупномасштабных таблиц, программы обработки слов, программы банковских терминалов и т.д. Прикладной уровень идентифицирует и устанавливает наличие предполагаемых партнеров для связи, синхронизирует совместно работающие прикладные программы, а также устанавливает соглашение по процедурам устранения ошибок и управления целостностью информации. Прикладной уровень также определяет, имеется ли в наличии достаточно ресурсов для предполагаемой связи. Представительный уровень Представительный уровень отвечает за то, чтобы информация, посылаемая из прикладного уровня одной системы, была читаемой для прикладного уровня другой системы. При необходимости представительный уровень осуществляет трансляцию между множеством форматов представления информации путем использования общего формата представления информации. Представительный уровень занят не только форматом и представлением фактических данных пользователя, но также структурами данных, которые используют программы. Поэтому кроме трансформации формата фактических данных (если она необходима), представительный уровень согласует синтаксис передачи данных для прикладного уровня. Сеансовый уровень Как указывает его название, сеансовый уровень устанавливает, управляет и завершает сеансы взаимодействия между прикладными задачами. Сеансы состоят из диалога между двумя или более об'ектами представления (как вы помните, сеансовый уровень обеспечивает своими услугами представительный уровень). Сеансовый уровень синхронизирует диалог между об'ектами представительного уровня и управляет обменом информации между ними. В дополнение к основной регуляции диалогов (сеансов) сеансовый уровень предоставляет средства для отправки информации, класса услуг и уведомления в исключительных ситуациях о проблемах сеансового, представительного и прикладного уровней. Транспортный уровень Граница между сеансовым и транспортным уровнями может быть представлена как граница между протоколами прикладного уровня и протоколами низших уровней. В то время как прикладной, представительный и сеансовый уровни заняты прикладными вопросами, четыре низших уровня решают проблемы транспортировки данных. Транспортный уровень пытается обеспечить услуги по транспортировке данных, которые избавляют высшие слои от необходимости вникать в ее детали. В частности, заботой транспортного уровня является решение таких вопросов, как выполнение надежной транспортировки данных через об'единенную сеть. Предоставляя надежные услуги, транспортный уровень обеспечивает механизмы для установки, поддержания и упорядоченного завершения действия виртуальных каналов, систем обнаружения и устранения неисправностей транспортировки и управления информационным потоком (с целью предотвращения переполнения системы данными из другой системы). Сетевой уровень Сетевой уровень - это комплексный уровень, который обеспечивает возможность соединения и выбор маршрута между двумя конечными системами, подключенными к разным "подсетям", которые могут находиться в разных географических пунктах. В данном случае "подсеть" - это по сути независимый сетевой кабель (иногда называемый сегментом). Т.к. две конечные системы, желающие организовать связь, может разделять значительное географическое расстояние и множество подсетей, сетевой уровень является доменом маршрутизации. Протоколы маршрутизации выбирают оптимальные маршруты через последовательность соединенных между собой подсетей. Традиционные протоколы сетевого уровня передают информацию вдоль этих маршрутов. Канальный уровень Канальный уровень (формально называемый информационно-канальным уровнем или уровнем звена передачи данных) обеспечивает надежный транзит данных через физический канал. Выполняя эту задачу, канальный уровень решает вопросы физической адресации (в противоположность сетевой или логической адресации), топологии сети, линейной дисциплины (каким образом конечной системе использовать сетевой канал), уведомления о неисправностях, упорядоченной доставки блоков данных и управления потоком информации. Физический уровень Физический уровень определяет электротехнические, механические, процедурные и функциональные характеристики активации, поддержания и дезактивации физического канала между конечными системами. Спецификации физического уровня определяют такие характеристики, как уровни напряжений, синхронизацию изменения напряжений, скорость передачи физической информации, максимальные расстояния передачи информации, физические соединители и другие аналогичные характеристики. Важнейшие термины и концепции. Наука об объединении сетей, как и другие науки, имеет свою собственную терминологию и научную базу. К сожалению, ввиду того, что наука об объединении сетей очень молода, пока что не достигнуто единое соглашение о значении концепций и терминов объединенных сетей. По мере дальнейшего совершенствования индустрии объединенных сетей определение и использование терминов будут более четкими. Адресация Существенным компонентом любой системы сети является определение местонахождения компьютерных систем. Существуют различные схемы адресации, используемые для этой цели, которые зависят от используемого семейства протоколов. Другими словами, адресация AppleTalk отличается от адресации TCP/IP, которая в свою очередь отличается от адресации OSI, и т.д. Двумя важными типами адресов являются адреса канального уровня и адреса сетевого уровня. Адреса канального уровня (называемые также физическими или аппаратными адресами), как правило, уникальны для каждого сетевого соединения. У большинства локальных сетей (LAN) адреса канального уровня размещены в схеме интерфейса; они назначаются той организацией, которая определяет стандарт протокола, представленный этим интерфейсом. Т.к. большинство компьютерных систем имеют одно физическое сетевое соединение, они имеют только один адрес канального уровня. Роутеры и другие системы, соединенные с множеством физических сетей, могут иметь множество адресов канального уровня. В соответствии с названием, адреса канального уровня существуют на Уровне 2 эталонной модели ISO. Aдреса сетевого уровня (называемые также виртуальными или логическими адресами) существуют на Уровне 3 эталонной модели OSI. В отличие от адресов канального уровня, которые обычно существуют в пределах плоского адресного пространства, адреса сетевого уровня обычно иерархические. Другими словами, они похожи на почтовые адреса, которые описывают местонахождение человека, указывая страну, штат, почтовый индекс, город, улицу, адрес на этой улице и наконец, имя. Хорошим примером одноуровневой адресации является номерная система социальной безопасности США, в соответствии с которой каждый человек имеет один уникальный номер, присвоенный ему службой безопасности. Иерархические адреса делают сортировку адресов и повторный вызов более легкими путем исключения крупных блоков логически схожих адресов в процессе последовательности операций сравнения. Например, можно исключить все другие страны, если в адресе указана страна "Ирландия". Легкость сортировки и повторного вызова являются причиной того, что роутеры используют адреса сетевого уровня в качестве базиса маршрутизации. Адреса сетевого уровня различаются в зависимости от используемого семейства протоколов, однако они, как правило, используют соответствующие логические разделы для нахождения компьютерных систем в объединенной сети. Некоторые из этих логических разделов базируются на физических характеристиках сети (таких, как сегмент сети, в котором находится какая-нибудь система); другие логические разделы базируются на группировках, не имеющих физического базиса (например, "зона" AppleTalk). Блоки данных, пакеты и сообщения После того, как по адресам установили местоположение компьютерных систем, может быть произведен обмен информацией между двумя или более системами. В литературе по объединенным сетям наблюдается непоследовательность в наименовании логически сгруппированных блоков информации, которая перемещается между компьютерными системами. "блок данных", "пакет", "блок данных протокола", "PDU", "сегмент", "сообщение" - используются все эти и другие термины, в зависимости от прихоти тех, кто пишет спецификации протоколов. В настоящей работе термин "блок данных" (frame) обозначает блок информации, источником и пунктом назначения которого являются объекты канального уровня. Термин "пакет" (packet) обозначает блок информации, у которого источник и пункт назначения - объекты сетевого уровня. И наконец, термин "сообщение" (message) oбoзначает информационный блок, у которого объекты источника и места назначения находятся выше сетевого уровня. Термин "сообщение" используется также для обозначения отдельных информационных блоков низших уровней, которые имеют специальное, хорошо сформулированное назначение. Основные организации, занимающиеся стандартизацией объединенных сетей Без услуг нескольких основных организаций по стандартизации, в области объединенных сетей было бы значительно больше хаоса, чем его имеется в настоящее время. Организации по стандартизации обеспечивают форум для дискуссий, помогают превратить результаты дискуссий в официальные спецификации, а также распространяют эти спецификации после завершения процесса стандартизации. Большинство организаций по стандартизации выполняют специфичные процессы, чтобы превратить идеи в официальные стандарты. И хотя у различных организаций эти процессы немного отличаются, они схожи в том, что проходят через несколько раундов организации идей, обсуждения этих идей, разработки проектов стандартов, голосования по всем или некоторым аспектам этих стандартов и наконец, официального выпуска завершенных стандартов. Источники: http://cdo.bseu.by/ http://cdo.bseu.by/library/ibs1/net_l/iso/model.htm Лекция 29. Локальные вычислительные сети. Общие понятия компьютерных сетей [3][4]Компьютерная сеть – совокупность программно-технических средств, обеспечивающих обмен информацией между двумя и более пользователями, работающими на разных (автономных) компьютерах, соединенных между собой. Компьютерные сети создаются для того, чтобы дать возможность территориально разобщенным пользователям обмениваться информацией между собой, использовать одинаковые программы, общие информационные и аппаратные ресурсы. Под ресурсами понимаются данные, приложения (программы), различные периферийные устройства (принтеры, модемы, сканеры, жесткие и гибкие диски и т.д.). По некоторым оценкам, более половины действующих ЭВМ подключены к сетям. Использование компьютерных сетей имеет множество преимуществ: Снижение затрат за счет коллективного использования разнообразных баз данных и аппаратных средств; Стандартизация приложений – все пользователи работают на одном и том же ПО (программном обеспечении), «говорят на одном языке»; Оперативность получения информации без отрыва от рабочих мест; Эффективное взаимодействие и планирование рабочего времени (проведении дискуссий, оперативных совещаний без отрыва от рабочих мест) Общими компонентами всех сетей являются: Серверы (server) – компьютеры, предоставляющие свои ресурсы сетевым пользователям; Клиенты (client), рабочие станции – компьютеры, осуществляющие доступ к сетевым ресурсам, предоставляемыми сервером (серверами); Среда (media) – средства передачи информации; Совместно используемые данные – файлы, передаваемые серверами по сети; Совместно используемые периферийные устройства. Сети появились в результате творческого сотрудничества специалистов вычислительной техники и техники связи. Вычислительные сети подразделяются на два вида: локальные и глобальные. Для создания единого информационного пространства, способного охватить всех пользователей предприятия и предоставления им информационно созданную в разное время и в разном программном обеспечении используют локальную вычислительную сеть (ЛВС). Под ЛВС понимают совместное подключение нескольких отдельных компьютерных рабочих мест (рабочих станций) к единому каналу передачи данных. Самая простая сеть (англ. Network) состоит как минимум из двух компьютеров, соединенных друг с другом кабелем. Это позволяет им использовать данные совместно. Все сети (независимо от сложности) основываются именно на этом простом принципе. Рождение компьютерных сетей было вызвано практическими потребностями - иметь возможность для совместного использования данных. Понятие локальная вычислительная сеть (англ. LAN-Local Area Network) относится к географически ограниченным (территориально или производственно) аппаратно-программным реализациям, в которых несколько компьютерных систем связанны друг с другом с помощью соответствующих средств коммуникаций. Благодаря такому соединению пользователь может взаимодействовать с другими рабочими станциями, подключенными с этой ЛВС. Существует два основных типа сетей: одноранговые и сети на основе сервера. В одноранговой сети все компьютеры равноправны т.е. нет иерархии среди компьютеров и нет выделенного (англ. dedicated) сервера. Как правило, каждый компьютер функционирует и как клиент, и как сервер; иначе говоря, нет отдельного компьютера, ответственного за администрирование всей сети. Все пользователи самостоятельно решают, какие данные на своем компьютере сделать общедоступным по сети. На сегодняшний день одноранговые сети бесперспективны. Если к сети подключено более 10 пользователей, то одноранговая сеть, где компьютеры выступают в роли и клиентов, и серверов, может оказаться недостаточно производительной. Поэтому большинство сетей используют выделенные серверы. Выделенным называется такой сервер, который функционирует только как сервер (исключая функции клиента или рабочей станции). Они специально оптимизированы для быстрой обработки запросов от сетевых клиентов и для управления защитой файлов и каталогов. Сети на основе сервера стали промышленным стандартом. Существуют и комбинированные типы сетей, совмещающие лучшие качества одноранговых сетей и сетей на основе сервера. В производственной практике ЛВС играют очень большую роль. Посредством ЛВС в систему объединяются персональные компьютеры, расположенные на многих удаленных рабочих местах, которые используют совместно оборудование, программные средства и информацию. Рабочие места сотрудников перестают быть изолированными и объединяются в единую систему. Все ЛВС работают в одном стандарте, принятом для компьютерных сетей - в стандарте Open Systems Interconnection (OSI). Глобальные сети. В настоящее время в мире зарегистрировано более 200 глобальных сетей. Глобальные сети (как и локальные) состоят из компьютеров, соединенных каналами связи. Глобальные вычислительные сети (ГВС) всего мира объедены между собой с помощью Internet. Для работы в ГВС пользователю необходимо иметь соответствующее аппаратное и программное обеспечение. В простейшем случае из аппаратных средств нужно дополнительно установить модем, с помощью которого осуществляется связь по телефонной линии (например, из квартиры). Программное обеспечение делится на два класса: • программы-серверы, размещенные на том узле сети, который обслуживает компьютер пользователя; • программы-клиенты, которые находятся на компьютере пользователя и пользуются услугами сервера. Глобальные сети предоставляют пользователям разнообразные услуги: • работа с распределенными базами данных, • электронная почта, • телеконференции, • общение в реальном масштабе времени, • пересылка файлов и т.д. Каждая услуга (иногда говорят служба, сервис) работает по определенным правилам (протоколам). Для реализации каждой сетевой услуги требуются своя программа-сервер и своя программа-клиент. Например, существуют почтовые серверы и клиенты, серверы и клиенты телеконференций (новостей). В то же время современные программы-навигаторы (исследователи, браузеры, обозреватели) постепенно берут на себя функции отдельных служб глобальной сети и становятся “универсальными” клиентами. Термин “сервер” имеет второе значение. Сервером называют также и компьютер, на котором установлены программы-серверы. На одном сервере-компьютере может работать сразу несколько программ-серверов. Проводные сети (Ethenet) [7] Для объединения компьютеров в локальную четь требуется вставить в каждый подключаемый к сети компьютер сетевой контроллер(адаптер), который позволяет компьютеру получать информацию из локальной сети и передавать данные в сеть, а также соединить компьютеры кабелями, по которым происходит передача данных между компьютерами, а также другими подключенными к сети устройствами (принтерами, сканерами и т.д.). В некоторых типах сетей кабели соединяют компьютеры непосредственно, в других соединение кабелей осуществляется через специальные устройства – концентраторы (или хабы), коммутаторы и др. В небольших сетях обычно компьютеры сети соединяются кабелями с концентратором, который и передает сигналы от одних подключенных к нему компьютеров к другим. В зависимости от способа соединения различают следующие топологии: Топологии -Общая шина: Рис. 1 Все компьютеры подключаются к одному кабелю (шине данных). На  концах кабеля устанавливаются терминаторы, служащие для гашения сигнала. Рис. 2 Их наличие для сетей Ethernet обязательно. По такой топологии строятся 10 Мегабитные сети 10Base-2 и10Base-5. В качестве кабеля используется коаксиальный кабель. Повреждение общего кабеля или любого из двух терминаторов приводит к выходу из строя участка сети между этими терминаторами (сегмента сети). Отключение любого из подключенных устройств на работу сети никакого влияния не оказывает. 10Base-2 или тонкий Ethenet Основная используемая топология общая шина Используемый провод коаксиальный кабель 50 Ом, тонкий Максимальная длина сегмента 185 метров Минимальное расстояние между точками подключения 0,5 метра Максимальное количество точек подключения к сегменту 30 Максимальное количество сегментов в сети 5 1 - сетевая карта, установленная в компьютере 2 - Т-коннектор 3 - разъемы на концах кабеля 4 - терминатор 10Base-5 или толстый Ethenet Используемая топология Общая шина Используемый провод Коаксиальный кабель толстый (так называемый "желтый") с волновым сопротивлением 50 Ом. Максимальная длина сегмента (отрезок сети без повторителя, ограниченный терминаторами) 500метров (1640 футов) Минимальное расстояние между точками подключения 2,5 метра (8,2 фута) Максимальное количество точек подключения к сегменту 100 Максимальное количество сегментов сети 5 Устройства подключаются к сети посредством устанавливаемого на кабель трансивера (transceiver - MAU(Media Access Unit)). Максимальная длина трансиверного кабеля (длина кабеля между трансивером и устройством) 25 метров -Звезда рис. 3 Для построения сети с звездообразной архитектурой в центре сети необходимо разместить концентратор(hub) или коммутатор(switch). Его основная функция - обеспечение связи между компьютерами, входящими в сеть. То есть все компьютеры, включая файл-сервер, не связываются непосредственно друг с другом, а присоединяются к концентрато­ру. Такая структура надежнее, поскольку в случае выхода из строя одной из рабо­чих станций все остальные сохраняют работоспособность. В сетях же с шинной топологией в случае повреждения кабеля хотя бы в одном месте происходит раз­рыв единственного физического канала, необходимого для движения сигнала. Кроме того, сети с звездообразной топологией поддерживают технологии Fast Ethernet и Gigabit Ethernet, что позволяет увеличить пропускную способность сети в десятки и даже сотни раз (разумеется при использовании соответствующих сетевых адап­теров и кабелей). 100 и 1000 Мбитные сети строятся по топологии "Звезда". 2.2.2. Компоненты сети -Концентратор и коммутатор Концентратор и коммутатор относятся к разным типам активного сетевого оборудования, которое используется для соединения устройств сети. Они отличаются способом передачи в сеть тех данных (трафика), которые к ним поступают. Термин концентратор иногда используется для обозначения любого сетевого устройства, которое служит для объединения всех ПК сети, но на самом деле концентратор - это многопортовый повторитель. Устройства этого типа просто передают (повторяют) всю информацию, которую они получают. То есть все устройства, подключенные к портам концентратора, получают одну и ту же информацию. Концентраторы используются для расширения сети. Однако чрезмерное увлечение концентраторами может привести к большому количеству ненужного трафика, который поступает на сетевые устройства. Ведь концентраторы передают трафик в сеть, не определяя реальный пункт назначения данных. ПК, которые получают пакеты данных, используют адреса назначения, имеющиеся в каждом пакете, для определения, им предназначен пакет или нет. В небольших сетях это не является проблемой, но даже в сетях среднего размера с интенсивным трафиком следует использовать коммутаторы, которые минимизируют количество необязательного трафика. Коммутаторы контролируют и управляют сетевым трафиком, анализируя адреса назначения каждого пакета. Коммутатор знает, какие устройства соединены с его портами, и направляет пакеты только на необходимые порты. Это дает возможность одновременно работать с несколькими портами, расширяя тем самым полосу пропускания. Таким образом, коммутация уменьшает количество лишнего трафика, который возникает, когда одна и та же информация передается всем портам. Коммутаторы и концентраторы часто используются в одной и той же сети; концентраторы расширяют сеть, увеличивая число портов, а коммутаторы разбивают сеть на небольшие менее перегруженные сегменты. В небольшой сети (до 20 рабочих мест) концентратор или группа концентраторов вполне могут справиться с сетевым трафиком. В этом случае концентратор просто служит для соединения всех пользователей сети. В сети большего размера (более 25 пользователей) может появиться необходимость использовать коммутаторы для разделения сети на сегменты, чтобы уменьшить количество необязательного трафика. Если Вы используете концентратор или коммутатор с индикаторами, показывающими степень загруженности сети, то, анализируя их показания, можно сделать определенные выводы. Так в том случае, если трафик постоянно велик, следует использовать коммутатор для разделения сети на сегменты. передняя панель задняя панель рис. 4 -Кабели Витая пара Кабель "Twisted Pair" - "Витая паpа", состоит из "паp" проводов, закрученных вокруг друг друга и одновременно закрученных вокруг других паp, в пределах одной оболочки. Каждая паpа состоит из провода, именуемого "Ring" и провода  "Tip". ( Названия произошли из телефонии). Каждая паpа в оболочке имеет свой номер, таким образом, каждый провод можно идентифицировать как Ring1, Tip1, Ring2,Tip2,... . Дополнительно к нумерации проводов каждая паpа имеет свою уникальную цветовую схему. Кабель делится на категории: 3 категория - используется для передачи данных со скорость до 10Мбит в секунду (Mbps) включительно. Применяется в сетях 10Base-T. 5 категория - используется для передачи данных со скорость до 100 Мбит в секунду (Mbps) включительно. Применяется в сетях 100Base-TX и других, требующих такую скорость. Рис. 5 Коаксиальный кабель Коаксиальный кабель (от латинского co - совместно и axis - ось), представляет собой два соосных гибких металлических цилиндра, разделенных диэлектриком. Скорость передачи информации от 1 до 10 Мбит/с   1- центральный провод (жила) 2- изолятор центрального провода 3- экранирующий проводник (экран) 4- внешний изолятор и защитная оболочка рис. 6 -Адаптеры [2]Вне зависимости от используемого кабеля для каждой рабочей станции необходимо иметь сетевой адаптер. Сетевой адаптер – это плата, которая вставляется в материнскую плату компьютера. Она имеет два разъема для подключения к сетевому кабелю. Некоторые ПК поставляются с заранее установленным сетевым адаптером. При выборе сетевого адаптера для ПК необходимо учитывать: • скорость концентратором, коммутатора или принт-сервера, к которому ПК подключается: 10 Мбит/с (Ethernet) и 100 Мбит/с Fast Ethernet. • Тип соединения: RJ-45 - для витой пары, BNC - для коаксиального кабеля. • Тип слота ПК, предназначенный для установки сетевого адаптера: ISA или PCI. -Серверы Для обеспечения функционирования локальной сети часто выделяется специальный компьютер – сервер, или несколько таких компьютеров. На дисках серверов располагаются совместно используемые программы, базы данных и т.д. Остальные компьютеры локальной сети часто называются рабочими станциями. На тех рабочих станциях, где требуется обрабатывать только данные на сервере, часто для экономии, не устанавливают жестких дисков. В сетях, состоящих более чем из 20-25 компьютеров, наличие сервера обязательно – иначе, как правило, производительность сети будет неудовлетворительной. Сервер необходим и при совместной интенсивной работе с какой –либо базой данных. Используя вышесказанное можно организовать проводную сеть в умном доме 2.2.3. Проводная сеть в умном доме(LexCom Home) [5]LexCom Home — это решение, которое делает домашнюю сеть гибкой и современной, способно удовлетворить любые будущие потребности с использованием широкополосной цифровой связи и, в то же время, работающее с более старыми системами. Система LexCom Home имеет полосу пропускания 862 МГц, что позволяет использовать ее для передачи телевизионных, телефонных сигналов и компьютерных коммуникаций. Все виды входящих сигналов распределяются через общую кабельную систему к универсальным абонентским розеткам, к любой из которых можно подключить компьютер, телефон, факс, телевизор и т.п.. Таким образом, розетка может изменить свою функцию за 10 секунд и Вы больше не стеснены в перемещениях по своему дому! Решения LexCom Home позволяют передавать данные, аудио- и видеосигналы, сигналы телефонной линии (как аналоговые, так и ISDN), да и практически любые другие виды сигналов по одному и тому же кабелю. Используя эту технологию, вы получаете поистине неограниченные возможности: можете перемещать в своем доме телефоны, компьютеры, телевизоры, тюнеры, СD- и DVD-проигрыватели, не задумываясь о том, как подключить их к источникам сигналов или соединить между собой. Более того, у вас будет возможность не только передавать данные с компьютера на компьютер, но и, например, смотреть видеоролики или слушать любимые MP3-записи с вашего компьютера при помощи ТВ или FM-тюнера, установленного в любой из комнат. Вы сможете, пользуясь одним пультом дистанционного управления для всей вашей техники (включая также системы управления освещением и микроклиматом), передавать через кабельную систему сигналы управления устройствами, расположенными в другой части вашего дома. LexCom Home — звездообразная сеть, которая распределяет сигналы в каждую комнату, тем самым соединяя все комнаты в единую сеть. Можно создать несколько сетей для покрытия больших площадей, в домах с несколькими этажами. Сеть LexCom Home основана на структурированной кабельной системе с применением широкополосного кабеля витой пары. С помощью этого кабеля все розетки в помещениях подключаются к распределительному центру – к патч-модулям или патч - панели. Входными коммуникациями для распределительного центра являются кабели от поставщика услуг телефонной связи, интернета, телевизионная антенна и т.п. Используя патч-кабель, любую розетку можно подключить к любому источнику сигнала. Распределительный центр — сердце сети: Сюда приходят входящие кабели Здесь подключаются кабели от настенных розеток Связи между источниками и приемниками устанавливаются с помощью патч-кордов Структура системы — модульная Простое расширение Универсальные розетки Экранированный монтажный кабель, восемь проводников Распределительный щит, где входящие кабели от антенны, кабельное TV, телефон и широкополосная сеть подключаются к домашней сети Соединительные кабели для простого подключения сигнала к настенной розетке Универсальные коммутационные модули Распределительный модуль с восемью точками подключения телефона/ISDN/факса/модема Концентратор с четырьмя точками подключения для компьютеров Антенный усилитель для четырех телевизионных подключений Домашняя кабельная сеть (LexCom Home) Требования Предполагается, что в квартире должна быть установлена кабельная сеть общей емкостью 14 розеток для подключения ТВ, видео, DVD, телефона и компьютера в любую из них, и в любое время без перекладки кабелей и вызова специалистов. Кроме того, сеть должна распространять сигналы от DVD, видео и спутникового телевидения ко всем телевизорам установленным в квартире с возможностью дистанционного управления вышеперечисленными приборами из любой комнаты. Выбор системы Для реализации перечисленных требований как нельзя лучше подходит система LexCom Home производимая компанией LEXEL. LexCom Home это решение, которое делает домашнюю сеть гибкой и современной. Система LexCom Home имеет полосу пропускания 962 МГц, что позволяет использовать ее для передачи телевизионных, телефонных сигналов и компьютерных коммуникаций. Система устроена так, что все абонентские розетки универсальны. К любой из них можно подключить компьютер, телефон, телевизор и т.д. LexCom™ Home основана на структурированной кабельной системе с применением широкополосного кабеля витой пары. С помощью этого кабеля все розетки в помещениях подключаются к распределительному центру, к патч-модулям или патч-панелям. Входными коммуникациями для распределительного центра являются кабели от поставщика услуг телефонной связи, интернета, телевизионной антенны и т.п. Используя патч-кабель, любую розетку можно подключить к любому источнику сигнала. Выбор компонентов Пассивные компоненты Розетки Располагаются в комнатах в необходимых местах. Имеют 2 гнезда RJ45. Функция порта розетки устанавливается в распределительном шкафу. Она может быть показана с помощью маркировки. Кабель витой пары соединяет розетки и патч-модули в распределительном центре. Кабель экранированный, 4 пары, каждая пара в экране. Полоса пропускания кабеля 900 МГц . Материал оболочки кабеля — без использования галогенов. Максимальный радиус изгиба кабеля без потерь, 3 диаметра кабеля. Распределительный центр стандартный центр имеет 9–18 слотов — мест для расположения модулей LexCom™ Home. Размеры типичного модуля — 72 х 86 х 37. Патч-кабели Используются только в распределительном центре для подключения розеток к источникам сигнала. Экранированные кабели витой пары RJ45-RJ45. Поставляется набор 24.5, 28 и 32 см. Патч-модули (Patch Module P100) Устанавливаются в распределительном центре. К ним подключаются кабели от розеток. Выполнены в стандарте DIN. Имеют 4 порта RJ45 с полосой пропускания 862 МГц . Активные компоненты LexCom™ Home Телевизионный модуль (TV/Radio Module) Телевизионный модуль A110 Монтируется на DIN-рейку. Имеет обратный канал, обеспечивает передачу инфракрасного сигнала и аудио /видео (А /V) канал. На лицевой стороне имеет 7 портов RJ45, светодиод питания и потенциометр для регулировки усиления. 2 из 7 портов кроме прямого канала имеют обратный канал. Все 6 портов , имеющих прямой канал могут принимать ИК сигнал. 1 порт предназначен для AV канала. Модуль имеет порт для подключения ИК передатчика. Антенный вход – F-коннектор. Модуль имеет встроенный усилитель. Усиление от 10 дБ до 34 дБ на 860 МГц . Позволяет подключить 6 телевизоров . Напряжение питания – 12 В . Телефонный модуль (Telephone Module) Телефонный модуль (Telephone Module) T105. Монтируется на DIN-рейку. Имеет 8 портов RJ45 и распределяет входные сигналы на 8 направлений . Порты включены последовательно с защитой. Входные сигналы: две аналоговые телефонные линии и одна линия ISDN от NT терминала (S0 bus). В случае использования ISDN можно дополнительно использовать только одну аналоговую линию. Модуль данных (Data module) H100 Ethernet хаб 10Base-T с 4 портами RJ45. Монтируется на DIN-рейку. Имеет порт RJ45 дляподключения к внешним коммуникациям . Дополнительные устройства AV модулятор. Используется когда требуется распределить видео сигнал по системе LexCom™ Home. Устройство переводит видео сигнал на частоту телевизионного сигнала. Подключив модулятор к AV входу телевизионного модуля А 110, сигнал будет распространен по сети LexCom™ Home. Модулятор имеет вход для ИК связи и встроенный усилитель Выпускаются 2 модификации – 1 AV порт , 4 AV порта. Модуль связи с внешним коммуникационным оборудованием (Uplink Module) Адаптер для связи хаба Н 100 с внешним коммуникационным оборудованием имеет разъем RJ45 для подключения к хабу . Выпускаются 2 версии: 10Base-T адаптер имеет RJ45 для подключения к внешней сети, 10Base-F имеет 2 ST-коннектора для подключения к внешней сети. ИК приемники и ИК передатчики Используется для организации дистанционного управления через сеть LexCom™ Home. Лекция 30. Беспроводные сети на основе службы GPRS. GPRS (General Packet Radio Service) [1]— технология пакетной передачи данных посредством сотовой связи. Суть услуги заключается в организации постоянного подключения через GPRS-телефон или GPRS модем к сети интернет. Для работы в Сети можно использовать компьютер, ноутбук или электронный органайзер (Palm Pilot, Psion, Cassiopea). При этом Вы сможете просматривать HTML-страницы, перекачивать файлы, работать с электронной почтой и любыми другими ресурсами Интернета. Чем привлекательна эта технология? • GPRS предоставляет немедленный доступ к услугам, без необходимости дозваниваться к интернет-провайдеру. • Пользователи GPRS получают доступ к Интернету в полном объеме, как при проводном соединении. • Можно работать с WAP-сайтами непосредственно с телефонного аппарата GPRS. • Оплачивается только объем посланной/полученной информации, а не эфирное время. До сих пор в сотовых сетях для передачи или приема данных абонентом занимался целый канал на время от установления соединения до его разрыва, которое оплачивалось вне зависимости от его загрузки. • В GPRS максимально возможная скорость передачи данных составляет 171,2 Кбит/с — это более чем в 3 раза быстрее, чем режим работы проводных линий, и почти в 12 раз быстрее работы передачи данных в обычных сетях GSM (9,6 кбит/с). Уже сегодня доступна скорость до 33 Кбит/с. Передача данных: GPRS и GSM В настоящее время передача данных по GSM каналам организована следующим образом: абоненту выделяется отдельный канал, используемый системой для передачи голоса, посредством модема, встроенного в мобильный терминал, происходит передача данных через этот канал, при этом в промежутках между передачей данных канал остается занятым. GPRS (General packet Radio Service) - это система, которая реализует и поддерживает протокол пакетной передачи информации в рамках сети сотовой связи GSM. При использовании системы GPRS информация собирается в пакеты и передается в эфир, они заполняют те "пустоты" (не используемые в данный момент голосовые каналы), которые всегда есть в промежутках между разговорами абонентов, а использование сразу нескольких голосовых каналов обеспечивает высокие скорости передачи данных. При этом этап установления соединения занимает несколько секунд. В этом и заключается принципиальное отличие режима пакетной передачи данных. В результате у абонента появляется возможность передавать данные, не занимая каналы в промежутках между передачей данных, более эффективно используются ресурсы сети. Что дает абоненту технология GPRS? GPRS позволит ввести принципиально новые услуги, которые раньше не были доступны. Прежде всего это мобильный доступ к ресурсам Интернета с удовлетворяющей потребителя скоростью, мгновенным соединением и с очень выгодной системой тарификации. Например, при просмотре с помощью системы GPRS WEb-страницы в Интернете, мы можем изучать содержимое столько, сколько нам необходимо, поскольку платим только за принятую информацию и не платим за время нахождения в сети Интеренет (не передавая данные, мы не занимаем каналы сети). При введении повременной оплаты на фиксированных телефонных линиях, тарифы на доступ в Интернет с мобильного GPRS-телефона будут еще более конкурентоспособны. Технология GPRS позволит быстро передавать и получать большие объемы данных, видеоизображения, музыкальные файлы стандарта Mp-3 и другую мультимедийную информацию. Для тех абонентов, кто уже оценил удобство использования телефонов с WAP - броузером, внедрение технологии GPRS означает практически мгновенную загрузку WAP - страниц на экране телефона и более выгодную систему тарификации. Для корпоративных пользователей система GPRS может послужить отличным инструментом для обеспечения безопасного и быстрого доступа сотрудников к корпоративным сетям предприятий, к почтовым, информационным серверам, удаленным базам данных. При этом появится возможность получать доступ к корпоративным сетям даже если абонент находится в сети другого GSM оператора, с которым организован GPRS-роуминг. Технологии GPRS может применяться в системах телеметрии: устройство может быть все время подключено, не занимая при этом отдельный канал. Такая услуга может быть востребована службами охраны, банками для подключения банкоматов и в других областях, в том числе и промышленных. Принципы построения системы GPRS На структурном уровне систему GPRS можно разделить на 2 части: подсистему базовых станций и ядро сети GPRS (GPRS Core Network). В подсистему базовых станций входят все контроллеры и базовые станции системы GSM, которые поддерживают пакетную передачу данных на программном и аппаратном уровне. Ядро сети GPRS включает в себя совершенно новые сетевые элементы, предназначенные для обработки пакетов данных и обеспечения связи с сетью Интернет. Основным сетевым элементом является пакетный коммутатор - SGSN (Serving GPRS Support Node). Данный сетевой элемент берет на себя все функции обработки пакетной информации и преобразования кадров GSM в форматы, используемые протоколами TCp/Ip глобальной компьютерной сети Internet. Пакетный коммутатор призван разгрузить GSM коммутатор, обеспечивая обработку пакетной информации, оставляя обычному коммутатору лишь голосовой трафик. Вторым важным сетевым элементом является GPRS шлюз - GGSN (Gataway GPRS Support Node). Он обеспечивает связь системы GPRS с пакетными сетями передачи данных: Internet, Intranet, X.25 и др. GGSN содержит всю необходимую информацию о сетях, куда абоненты GPRS могут получать доступ, а также параметры соединения. Кроме упомянутых элементов в GPRS Core входят другие элементы: DNS (Сервер доменных имен), Charging Gateway (Шлюз для связи с системой тарификации), border Gateway (Пограничный шлюз) и другие вспомогательные элементы. Следует отметить широкие возможности масштабирования системы GPRS. При быстром увеличении количества абонентов, пользующихся услугой пакетной передачи данных возможно увеличение емкости системы GPRS за счет расширения или установки дополнительных пакетных коммутаторов (SGSN). При увеличении суммарного объема данных, передаваемых абонентами (при несущественном увеличении числа абонентов), возможна установка дополнительных GPRS - шлюзов, которые обеспечат большую суммарную пропускную способность всей системы, а также расширение системы базовых станций. Таким образом, наращивая систему GPRS, оператор сможет обеспечивать высокое качество услуг, основанных на пакетной передаче данных. Терминальное оборудование GPRS Для того, чтобы использовать возможность передачи данных посредством системы GPRS, требуется специальные терминалы, поддерживающие работу в режиме GPRS. Стандартами определены 3-класса GPRS терминалов: • класс А - терминал позволяет осуществлять одновременно голосовое соединение и работу в режиме GPRS; • класс В (сотовые телефоны) - терминал поддерживает и голосовое соединения и передачу данных в пакетном режиме (GPRS), но эти режимы используются не одновременно (во время передачи данных через GPRS абонент не может совершать и принимать голосовые звонки и наоборот); • класс С - терминал обеспечивает только передачу данных в пакетном режиме. Наиболее вероятное исполнение - pCMCIA карта устанавливаемая в портативный компьютер - ноутбук. Ожидается, что первыми доступными на рынке станут терминалы класса b. Эти терминалы буду поддерживать различные скорости приема и передачи информации. Терминалы класса В с поддержкой GPRS можно будет использовать в качестве модема для передачи данных и доступа в Интернет (при подключении телефона к компьютеру через порт RS-232 или инфракрасный порт), для приема и передачи SMS (при этом стандартное ограничение на длину короткого сообщения -160 символов будет снято), а также для скоростного доступа к WAP-серверам с экрана своего мобильного телефона. Скорости передачи в системе GPRS В сетях, поддерживающих GPRS, предусмотрен поэтапный путь наращивания скорости передачи данных; максимальная реальная скорость приема и передачи, которую на первом этапе сможет поддерживать система GPRS, равна 107 Кбит/с. Сегодня основные ограничения накладывают абонентские терминалы. Скорость приема и передачи информации, которую может обеспечить мобильный терминал, зависит от количества каналов, которые терминал поддерживает на прием и передачу. Один канал поддерживает передачу информации с максимальной скоростью 13.4 кбит/с. Таким образом, количество каналов, которые будет поддерживать конкретная модель терминала будет определять максимальные возможные скорости, на которых возможна передача и прием информации. Абонентские терминалы GPRS, предполагаемые к выпуску в ближайшее время, будут поддерживать от 2 до 4 каналов для приема информации и до 2 каналов для передачи, что позволяет получить максимальную скорость приема до 53,6 кбит/с и передачи до 26.8 кбит/с. В последующем ожидается появление моделей GPRS терминалов, поддерживающих большее количество каналов (до 7). При использовании системы пакетной передачи абонент получает и отправляет данные с переменной скоростью, которая определяется условиями распространения сигнала и наличием свободных каналов в пределах заданной соты. При этом динамическое выделение каналов производится исходя из приоритета голосовых каналов, т. е. система автоматически выделяет под пакетную передачу все каналы, не занятые передачей голоса. Таким образом, реальная скорость приема и передачи будет во многом зависеть от загруженности голосовых каналов в пределах каждой конкретной соты. Перспектива появления новых аппаратов с поддержкой большого количества каналов, а значит, работающих на максимально возможных скоростях передачи данных (до 115 Кбит/с), вызывает определенное беспокойство у некоторых специалистов. Дело в том, что потенциально устройства GPRS при работе на высоких частотах могут выходить за рамки максимально допустимого уровня радиационного излучения. Повторим еще раз, речь идет только о высоких скоростях обмена, поскольку, например, канал GPRS, работающий со скоростью 30-40 Кбит/с (а именно такая скорость нам светит в ближайшем будущем), излучает максимум 0.75 Вт. Это конечно больше, чем фактическое излучение терминала стандарта GSM, но в пределах нормы. Средний уровень мощности излучения еще ниже, поскольку передатчик работает только тогда, когда передаются данные, а в остальное время он выключен. При передаче файла из телефона в базовую станцию передатчик работает постоянно; при передаче текстовых сообщений или во время веб-браузинга он включается редко, что снижает мощность излучения до нескольких милливатт. Перспективы развития услуг на базе GPRS Появление технология GPRS должно значительно ускорить развитие мобильной передачи данных во всех областях человеческой деятельности. Во многом это связано с появлением новых услуг, развитие которых было затруднено из-за низкой скорости и высокой стоимости передачи данных через голосовые каналы GSM. Технология GPRS позволит абонентам получать доступ в глобальную сеть из любой точки, где существует покрытие сети, при этом цена такой передачи будет чрезвычайно привлекательной, а при введении повременной оплаты на фиксированных телефонных линиях, тарифы на доступ в Интернет с мобильного GPRS-телефона будут еще более конкурентоспособны. Для корпоративных пользователей появление услуг на основе технологии GPRS будет означать реализацию давней мечты полностью мобильного офиса с доступом как в глобальную, так и в корпоративную сеть своей фирмы, с гарантией безопасного соединения. Практически исчезнет проблема доступа к корпоративной сети во время командировок, в том числе и зарубежных, поскольку GPRS-роуминг, организация которого планируется в ближайшее время, обеспечит безопасный, дешевый и высокоскоростной доступ к любому ресурсу корпоративной сети. Существуют идеи промышленного применения данной технологии для различных задач подвижного мониторинга и контроля состояния объектов. Не стоит забывать и о том, что GPRS является идеальным транспортом для WAP-приложений, практически все телефоны с поддержкой GPRS будут иметь встроенный WAP-броузер, что позволит их владельцам не только передавать данные, но и получать оперативную информацию с различных WAP-серверов. Перспективы пакетной передачи данных Система GPRS является первым шагом на пути развития сетей беспроводной пакетной передачи данных. Первоначально услуги на основе GPRS будут предоставляться на ограниченной территории действия сотовой связи. В дальнейшем зона, где возможно использование технологии GPRS будет расти и, в результате, в ближайшем будущем услуги на основе GPRS будут предоставляться на всей территории действия сети сотовой связи. Также планируется увеличение скоростей приема и передачи информации за счет улучшения характеристик мобильных терминалов и инфраструктуры GPRS. Следующим шагом на пути развития сетей пакетной передачи данных будет внедрение технологии EDGE, которая позволит достичь скорости передачи информации до 385 Кбит/с, при этом базой для развертывания технологии EDGE частично будет служить система GPRS. Таким образом, будет плавно осуществлен переход от систем с коммутацией каналов к системам пакетной передачи данных, которые найдут свою конечную реализацию в системах передачи информации третьего поколения. При этом для абонента станет возможной скорость передачи до 2 Мбит/с. GPRS модемы для Ноутбуков, КПК и ПК На сегодняшний день на рынке из наиболее доступных GPRS устройств для покупателей доступны 2 вида терминалов. Это, собственно говоря, телефоны, поддерживающие GPRS и GSM / GPRS карты. Для пользования услугами GPRS посредством сотового телефона, необходимо установить связь между телефоном и компьютером. Это можно сделать при помощи интерфейсного кабеля, инфракрасного порта или по беспроводному протоколу Bluetooth. Естественно, необходимо будет установить соответствующее програмное обеспечение, которое должно идти в комплекте с телефоном. Далее, нужно будет настроить само GPRS-соединение. Другой итересный и самый мобильный способ установления GPRS-соединения - это использование GPRS модемов. Это решение позволит создать настоящий мобильный офис в любой точке планеты, где бы Вы не находились (лишь бы там работала сотовая связь). Чтобы получить доступ к услугам GPRS, Вам необходимо вставить такую карту в Ваш ноутбук (кпк или компьютер) и установить идущее в комплекте програмное обеспечение. Кроме того, установив эту карту, Вы получите возможность использования всех функций мобильного телефона. GPRS модемы существуют в нескольких исполнениях: • PCMCIA карта (Nokia D211; SonyEricsson GC75), • Compact Flash / PCMCIA карта (Audiovox RTM-8000; EagleTec), • GPRS устройства для USB порта (Billionton USB). Выбор того или иного устройства будет зависеть от того, к чему Вы будете его подключать. А именно: к ноутбуку, КПК или настольному компьютеру. Nokia D211 Nokia D211 - многорежимная PCMCIA-радиокарта для ноутбуков, позволяющая получать доступ к сети через GPRS, HSCSD или беспроводную локальную сеть (w-lan). Постоянное сетевое соединение За пределами офиса вы сможете установить постоянное GPRS-соединение при помощи совместимого ноутбука. Вы сможете отправлять и получать сообщения по электронной почте, пользоваться интернетом и всеми услугами, которые доступны в вашей офисной сети. Вам не нужно откладывать работу до тех пор, пока вы доберетесь до офиса. Вы можете заниматься своими делами тогда, когда хотите. Быстро, просто и удобно, с постоянным сетевым соединением. Сеть может быть еще быстрее Вы можете установить связь с беспроводной локальной сетью со скоростью до 11 Мб/сек, при которой можно отправлять и получать файлы большого размера, читать сообщения электронной почты с приложениями, смотреть видео с веб-страниц или участвовать в видеоконференциях. Установив беспроводное сетевое соединение, вы сможете выполнять те же самые операции, что и в фиксированной сети вашего офиса или домашней ADSL. Беспроводный доступ к сети предоставляется сегодня в некоторых аэропортах, интернет-кафе, отелях, лыжных курортах и корпоративных офисах. Работа с SMS и факсимильными сообщениями при помощи ноутбука Nokia D211 обладает приложением для работы с текстовыми сообщениями, которое позволит вам посылать текстовые сообщения с вашего ноутбука. Вы также можете организовать SMS-чат с вашими коллегами и друзьями. Теперь вам не обязательно возвращаться в офис, чтобы отправить факс. Вы можете отправлять и получать факсы при помощи ноутбука где бы вы ни находились.            Список литературы 1. Максименко В.Н., Мамзелев С.И. Оценка качества услуг в сетях пакетной передачи данных.Учебное пособие Лекция 31. Беспроводные сети Radio-Ethernet. Radio-Ethernet [6]Радиосистемы, использующие расширение спектра методом прямой последовательности (так называемые RadioEthernet) на сегодняшний день уже достаточно хорошо опробованы для связи локальных сетей, удаленных друг от друга на расстояния в десятки километров. Кроме того, эти системы позволяют строить сети типа точка-многоточка, которые описываются и характеризуются как сети микросотовой связи, в которых абоненты имеют фиксированное положение. Беспроводная сеть передачи данных состоит из базовых станций, увязанных между собой в единую инфраструктуру и соединенных с информационным центром – источником информации для потребителей, являющихся абонентами этой сети. Структура сети обеспечивает двунаправленный обмен информацией между абонентом и информационным центром (Internet провайдером) либо другим абонентом, подключенным к сети. Таким образом, имеется постоянная связь одного либо нескольких офисов с информационным центром либо другим офисом. Структура сохраняется даже при смене местоположения абонента, главное установить связь с сетью, что возможно из любой точки города. Рассмотрим характеристики микросотовой системы связи, использующей оборудование, присутствующее сегодня на рынке и имеющее скорость до 11Мбит/с. Наиболее распространены сегодня устройства, производимые компаниями Aironet Wireless Technology Inc., Lucent Technologies, BreezeCom. В ряду устройств, позволяющих построить систему передачи данных, есть как радиобриджи – устройства, подключаемые к компьютерам с помощью стандартных сетевых средств, так и радиокарты – предназначенные для использования как платы расширения стандартных персональных компьютеров. При этом система допускает использование в режиме базовых станций только радиобриджи, а в режиме клиента – и радиобриджи, и радиокарты. Базовая станция, как и в системах сотовой связи, устанавливается так, чтобы обеспечивать покрытие определенной зоны обслуживания. При этом применяются различные типы антенн – от простейших штыревых с круговой диаграммой направленности, до сложных систем секторных антенн, позволяющих изменять диаграмму направленности излучения в зависимости от потребностей. Каждый радиобридж, работающий в режиме базовой станции на скорости 2Мбит/с, позволяет обслуживать 10-15 абонентов, при этом средняя скорость работы каждого из абонентов будет не ниже 64Кбит/с. Увеличение количества абонентов допустимо, но приводит к деградации скоростных характеристик канала. Кроме того, в непосредственной близости, на одной крыше без применения специальных технических мер можно устанавливать до трех комплектов сотообразующего оборудования, а с применением этих мер – до шести. Таким образом, количество обслуживаемых абонентов одной базовой станцией может достигать 45 или даже 90. Взаимоувязка базовых станций между собой, а также привязка их к информационным ресурсам – поставщикам информации может осуществляться самыми различными способами, как традиционными оптоволоконными или проводными, так и радиосредствами. Применение самого быстродействующего оборудования, работающего со скоростью 11Мбит/с в сочетании с увеличением плотности расположения базовых станций позволит существенно увеличить количество абонентов и скорость доступа для каждого из них. Radio-Ethernet - это стандарт организации беспроводных коммуникаций на ограниченной территории в режиме локальной сети, т.е. когда несколько абонентов имеют равноправный доступ к общему каналу передачи информации. Радиоканалы, согласно этому стандарту, могут быть организованы на основе технологий широкополосного сигнала (ШПС) по методу прямой последовательности (DSSS) или частотных скачков (FHSS) Радиомодули, реализующие технологию ШПС (DSSS и FHSS) функционируют в соответствии со стандартом IEEE 802.11 – Radio Ethernet в диапазоне частот 2,4 ГГц. В режиме FHSS весь диапазон 2,4 ГГц используется как одна широкая полоса (с 79 подканалами). В режиме DSSS этот же диапазон разбит на несколько широких DSSS-каналов, так что до трех таких каналов может использоваться независимо и одновременно на одной территории (дополнительные каналы определены в перехлест с основными тремя, чтобы иметь возможность отстроиться от помех, если они все же возникли). Номинальная скорость каждого канала 2 Мбит/с В режиме DSSS максимальная скорость передачи данных достигает 11 Мбит/с. В режиме FHSS скорость передачи данных не превышает 4 Мбит/с. Пропускная способность базовых станций может быть повышена в 3-6 раз за счет применения нескольких одновременно работающих устройств. Метод доступа к общему каналу - коллизионный, но, в отличие от обыкновенного кабельного Ethernet'а, имеется фаза предварительного резервирования канала, так что коллизии между абонентами допускаются только при резервировании (в процессе "соревнования" за занятие канала), а собственно передача данных начинается уже без возможности коллизий. Такой метод называется CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) и описан в стандарте 802.11 Системы ШПС или Spread Spectrum (распределенный спектр) первоначально разрабатывались как в США, так и в России, преимущественно для применения в военных целях для обеспечения повышенной защищенности от помех, а также достижения высокого уровня секретности при передаче сообщений. Принцип работы устройств ШПС состоит в "размазывании" радиосигнала в широкой полосе частот с использованием специальных алгоритмов распределения. Генерация ШПС осуществляется при помощи псевдослучайной последовательности (Pseudorandom Number, PN), задающей алгоритм распределения. Каждое приемное устройство для декодирования сообщения должно знать кодирующую последовательность. Устройства имеющие различные PN фактически не "слышат" друг друга. Поскольку мощность сигнала распределяется по широкой полосе, он оказывается "спрятанным" в шумах и по своим спектральным характеристикам также напоминает шум в радиоканале. Это обстоятельство и дало название методу - шумоподобные сигналы. В методе FHSS приемник и передатчик синхронно каждые несколько миллисекунд перестраиваются на различные несущие частоты в соответствии с алгоритмом, задаваемым псевдослучайной последовательностью. Лишь приемник, использующий ту же самую последовательность может принять сообщение. При этом предполагается, что другие системы работающие в том же частотном диапазоне используют иную последовательность и поэтому практически не мешают друг другу. Для тех случаев, когда два передатчика пытаются использовать ту же самую частоту одновременно, предусмотрен протокол разрешения столкновений по которому передатчик делает попытку повторно послать данные на следующей в последовательности частоте. В методе DHSS в передаваемый в радиоканале сигнал вносится значительная избыточность путем передачи каждого бита информации одновременно в нескольких (порядка 10) частотных каналах. Обратное сжатие в приемнике осуществляется при помощи коррелятора, использующего ту же самую кодовую последовательность. После коррелятора сигнал может быть подвергнут дополнительной узкополосной фильтрации, улучшающей отстройку от мешающих передатчиков. С повышением избыточности кодирования увеличивается соотношение сигнал/шум. Сравнивая методы широкополосной передачи, можно увидеть, что каждый имеет свои сильные и слабые стороны. Метод DSSS позволяет достигать значительно большей производительности (до 11 Мбит/с) и, кроме того, обеспечивают большую устойчивость к узкополосным помехам (поскольку выбором поддиапазона для передачи часто удается отстроиться от помех) и большую дальность связи. Оборудование DSSS несколько сложнее и дороже FHSS. Продукция для FHSS выпускается значительно большим количеством компаний, она проще и дешевле, однако и пропускная способность ее ниже. Еще одно достоинство FHSS-устройств состоит в том, что они, в отличие от DSSS, могут сохранять работоспособность в условиях широкополосных помех - например, создаваемых DSSS-передатчиками; но это оборачивается тем, что сами они мешают обычным узкополосным устройствам. Сравнивая эти два метода, можно видеть, что вариант со скачками по частоте в общем случае обеспечивает лучшую избирательность по соседнему каналу. DSSS сигнал имеет меньшую мощность на заданной частоте, чем более узкополосный FHSS сигнал. Потенциально более низкое соотношение сигнал-шум в методе DSSS компенсируется высоким усилением в канале обработки сигнала. Системы с прямой последовательностью в состоянии принимать и осуществлять корреляционную обработку сигнала с мощностью ниже среднего уровня шумов в канале. Преимущества радиооборудования, выполненного по технологии Spread Spectrum очевидны: • высокая скорость передачи информации - до 11 Мбит/cек на одно устройство • малая интегральная мощность, обеспечивающая санитарную  безопасность и малые помехи для других пользователей эфира • высокая помехоустойчивость, обусловленная избыточностью данных в радиоканале • качество связи, практически не зависящее от погодных условий  • возможность работы нескольких сетей в одной полосе частот с малым влиянием одной на другую • высокая конфиденциальность передачи данных. Таблица. Коды сканирования клавиш 83-клавишной клавиатуры Клавиша Код сканирования Клавиша Код сканирования Esc 1 \ | 43 1 ! 2 Z 44 2 @ 3 X 45 3 # 4 C 46 4 $ 5 V 47 5 % 6 B 48 6 ^ 7 N 49 7 & 8 M 50 8 * 9 , < 51 9 ( 10 . > 52 0 ) 11 / ? 53 - _ 12 Shift (правая) 54 = + 13 PrtScr 55 Backspace 14 Alt 56 Tab 15 Space 57 Q 16 Caps Lock 58 W 17 F1 59 E 18 F2 60 R 19 F3 61 T 20 F4 62 Y 21 F5 63 U 22 F6 64 I 23 F7 65 O 24 F8 66 P 25 F9 67 [ { 26 F10 68 ] } 27 Num Lock 69 Enter 28 Scroll Lock 70 Ctrl 29 Home 7 71 A 30 ↑ 8 72 S 31 PgUp 9 73 D 32 - (на малой цифр. клав-ре) 74 F 33 ← 4 75 G 34 5 (на малой цифр. клав-ре) 76 H 35 → 6 77 J 36 + (на малой цифр. клав-ре) 78 K 37 End 1 79 L 38 ↓ 2 80 ; : 39 PgDown 3 81 ‘ “ 40 Ins 0 82 ` ~ 41 Del . 83 Shift (левая) 42 Драйвер клавиатуры различает следующие типы клавиш: 1. клавиши-переключатели; 2. кодовые клавиши. Клавиши-переключатели служат для изменения состояния клавиатуры. К клавишам-переключателям относятся клавиши Ins, Caps Lock, Num Lock, Scroll Lock, Alt, Ctrl, Shift (левая и правая), а также комбинация Ctrl+NumLock. Для хранения статуса (состояния) клавиш-переключателей в области данных BIOS, находящейся в ОЗУ, зарезервировано два байта. Если драйвер клавиатуры получил код нажатия (отпускания) клавиши-переключателя, то соответствующий бит статуса устанавливается в единицу (нуль). В результате появляется возможность распознать одновременное нажатие клавиши-переключателя и какой-либо другой клавиши. Дополнительно к этому за каждой логически фиксирующейся клавишей-переключателем (Ins, Caps Lock и Num Lock) закреплен еще один бит в статусе, содержимое которого определяет состояние соответствующего режима (вставки, ввода прописных букв и фиксации цифр). При включении режима указанный бит устанавливается драйвером клавиатуры в единицу, а при выключении – сбрасывается. К кодовым клавишам относятся все остальные клавиши. Они служат для непосредственного ввода символов. При считывании драйвером клавиатуры нажатия такой клавиши в компьютер передается двухбайтовый код, называемый двухбайтовым кодом символа. Структура этого кода определяется в соответствии с расширенным кодом ASCII. Если была нажата клавиша на клавиатуре пишущей машинки и клавиатура находится только на нижнем или верхнем регистре, а также если была нажата клавиша на малой цифровой клавиатуре (только в режиме фиксации цифр), то первым (младшим) байтом двухбайтового кода символа будет расширенный код ASCII соответствующего символа, а вторым (старшим ) – код сканирования соответствующей клавиши. В противном случае, т.е. когда нажатой клавише или комбинации клавиш не соответствует никакой расширенный код ASCII (с учетом состояния клавиатуры - регистра), будет сформирован двухбайтовый код, называемый расширенным кодом клавиши. Расширенный код клавиши в первом (младшем) байте содержит нулевой код (ASCII-код символа NUL), а во втором (старшем) – двоичное число, однозначно определяющее нажатую клавишу (или комбинацию клавиш). Последнее число часто совпадает с кодом сканирования клавиши. К клавишам, после обработки нажатий которых выдается расширенный код клавиши, относятся функциональные клавиши, клавиши малой цифровой клавиатуры в режиме управления курсором, а также комбинации различных клавиш с Alt, Shift и Ctrl. Заключение Таким образом, клавиатура компьютера является весьма совершенным устройством ввода информации. На всех клавиатурах компьютера расположение буквенных клавиш стандартно. В настоящее время повсеместно применяется стандарт QWERTY. Ему соответствует отечественный стандарт расположения клавиш кириллицы, практически аналогичный расположению клавиш на пишущей машинке. Стандартизация в размере и расположении клавиш нужна для того, чтобы пользователь на любой клавиатуре мог без переучивания работать “слепым методом“. Слепой десятипальцевый метод работы является наиболее продуктивным, профессиональным и эффективным. Увы, клавиатура из-за низкой производительности пользователя оказывается сегодня самым “узким местом “ быстродействующей вычислительной системы. Помимо стандартной клавиатуры распространены специализированные клавиатуры. Среди специализированных клавиатур можно упомянуть специальные клавиатуры для слепых с осязаемыми точками на клавишах; клавиатуры для магазинов и складов, снабженные устройствами для считывания штрихового кода или для считывания магнитных карт; промышленные клавиатуры- сенсорные, имеющие в качестве защиты от вредных воздействий (стружек, пепла и т.д.) дополнительное покрытие клавиш специальной сенсорной фольгой; клавиатура для медицинских учреждений с устройствами для считывания информации со страховых карт. В настоящее время появились клавиатуры с дополнительными клавишами для удобства работы с той или иной операционной системой, например, клавиатура для Windows 95. Таким образом, выбор клавиатуры во многом зависит от операционной системы, с которой предполагается работать. Лекция 32. Беспроводные локальные сети на основе Wi-Fi - технологии. Введение. Во всем мире стремительно растет потребность в беспроводных соединениях, особенно в сфере бизнеса. Пользователи с беспроводным доступом к информации — всегда и везде могут работать гораздо более производительно и эффективно, чем их коллеги, привязанные к проводным телефонным и компьютерным сетям. Обычно беспроводные сетевые технологии группируются в три типа, различающиеся по масштабу действия их радиосистем, но все они с успехом применяются в бизнесе. PAN (персональные сети) — короткодействующие, радиусом до 10 м сети, которые связывают ПК и другие устройства — КПК, мобильные телефоны, принтеры и т. п. С помощью таких сетей реализуется простая синхронизация данных, устраняются проблемы с обилием кабелей в офисах, реализуется простой обмен информацией в небольших рабочих группах. Наиболее перспективный стандарт для PAN — это Bluetooth. WLAN (беспроводные локальные сети) — радиус действия до 100 м. С их помощью реализуется беспроводной доступ к групповым ресурсам в здании, университетском кампусе и т. п. Обычно такие сети используются для продолжения проводных корпоративных локальных сетей. В небольших компаниях WLAN могут полностью заменить проводные соединения. Основной стандарт для WLAN — 802.11. WWAN (беспроводные сети широкого действия) — беспроводная связь, которая обеспечивает мобильным пользователям доступ к их корпоративным сетям и Интернету. Пока здесь нет доминирующего стандарта, но наиболее активно внедряется технология GPRS — быстрее всего в Европе и с некоторым отставанием в США. На современном этапе развития сетевых технологий, технология беспроводных сетей Wi-Fi является наиболее удобной в условиях требующих мобильность, простоту установки и использования. Wi-Fi (от англ. wireless fidelity - беспроводная связь) - стандарт широкополосной беспроводной связи семейства 802.11 разработанный в 1997г. Как правило, технология Wi-Fi используется для организации беспроводных локальных компьютерных сетей, а также создания так называемых горячих точек высокоскоростного доступа в Интернет. Беспроводные ЛВС — самый динамичный сектор коммуникационных технологий. Архитектура, компоненты сети и стандарты Стандарт RadioEthernet IEEE 802.11 - это стандарт организации беспроводных коммуникаций на ограниченной территории в режиме локальной сети, т.е. когда несколько абонентов имеют равноправный доступ к общему каналу передач. 802.11 - первый промышленный стандарт для беспроводных локальных сетей (Wireless Local Area Networks ), или WLAN. Стандарт был разработан Institute of Electrical and Electronics Engineers (IEEE), 802.11 может быть сравнен со стандартом 802.3 для обычных проводных Ethernet сетей. Стандарт RadioEthernet IEEE 802.11 определяет порядок организации беспроводных сетей на уровне управления доступом к среде (MAC-уровне) и физическом (PHY) уровне. В стандарте определен один вариант MAC (Medium Access Control) уровня и три типа физических каналов. Подобно проводному Ethernet, IEEE 802.11 определяет протокол использования единой среды передачи, получивший название carrier sense multiple access collision avoidance (CSMA/CA). Вероятность коллизий беспроводных узлов минимизируется путем предварительной посылки короткого сообщения, называемого ready to send (RTS), оно информирует другие узлы о продолжительности предстоящей передачи и адресате. Это позволяет другим узлам задержать передачу на время, равное объявленной длительности сообщения. Приемная станция должна ответить на RTS посылкой clear to send (CTS). Это позволяет передающему узлу узнать, свободна ли среда и готов ли приемный узел к приему. После получения пакета данных приемный узел должен передать подтверждение (ACK) факта безошибочного приема. Если ACK не получено, попытка передачи пакета данных будет повторена. В стандарте предусмотрено обеспечение безопасности данных, которое включает аутентификацию для проверки того, что узел, входящий в сеть, авторизован в ней, а также шифрование для защиты от подслушивания. На физическом уровне стандарт предусматривает два типа радиоканалов и один инфракрасного диапазона. В основу стандарта 802.11 положена сотовая архитектура. Сеть может состоять из одной или нескольких ячеек (сот). Каждая сота управляется базовой станцией, называемой точкой доступа (Access Point, AP). Точка доступа и находящиеся в пределах радиуса ее действия рабочие станции образуют базовую зону обслуживания (Basic Service Set, BSS). Точки доступа многосотовой сети взаимодействуют между собой через распределительную систему (Distribution System, DS), представляющую собой эквивалент магистрального сегмента кабельных ЛС. Вся инфраструктура, включающая точки доступа и распределительную систему, образует расширенную зону обслуживания (Extended Service Set). Стандартом предусмотрен также односотовый вариант беспроводной сети, который может быть реализован и без точки доступа, при этом часть ее функций выполняется непосредственно рабочими станциями. В настоящее время существует множество стандартов семейства IEEE 802.11: 1. 802.11 - первоначальный основополагающий стандарт. Поддерживает передачу данных по радиоканалу со скоростями 1 и 2 (опционально) Мбит/с. 2. 802.11a - высокоскоростной стандарт WLAN. Поддерживает передачу данных со скоростями до 54 Мбит/с по радиоканалу в диапазоне около 5 ГГц. 3. 802.11b - самый распространенный стандарт. Поддерживает передачу данных со скоростями до 11 Мбит/с по радиоканалу в диапазоне около 2,4 ГГц. 4. 802.11c - Стандарт, регламентирующий работу беспроводных мостов. Данная спецификация используется производителями беспроводных устройств при разработке точек доступа. 5. 802.11d - Стандарт определял требования к физическим параметрам каналов (мощность излучения и диапазоны частот) и устройств беспроводных сетей с целью обеспечения их соответствия законодательным нормам различных стран. 6. 802.11e - Создание данного стандарта связано с использованием средств мультимедиа. Он определяет механизм назначения приоритетов разным видам трафика - таким, как аудио- и видеоприложения. Требование качества запроса, необходимое для всех радио интерфейсов IEEE WLAN. 7. 802.11f - Данный стандарт, связанный с аутентификацией, определяет механизм взаимодействия точек связи между собой при перемещении клиента между сегментами сети. Другое название стандарта - Inter Access Point Protocol. Стандарт, описывающий порядок связи между равнозначными точками доступа. 8. 802.11g - устанавливает дополнительную технику модуляции для частоты 2,4 ГГц. Предназначен, для обеспечения скоростей передачи данных до 54 Мбит/с по радиоканалу в диапазоне около 2,4 ГГц. 9. 802.11h – Разработка данного стандарта связана с проблемами при использовании 802.11а в Европе, где в диапазоне 5 ГГц работают некоторые системы спутниковой связи. Для предотвращения взаимных помех стандарт 802.11h имеет механизм "квазиинтеллектуального" управления мощностью излучения и выбором несущей частоты передачи. Стандарт, описывающий управление спектром частоты 5 ГГц для использования в Европе и Азии. 10. 802.11i (WPA2) – Целью создания данной спецификации является повышение уровня безопасности беспроводных сетей. В ней реализован набор защитных функций при обмене информацией через беспроводные сети - в частности, технология AES (Advanced Encryption Standard) - алгоритм шифрования, поддерживающий ключи длиной 128, 192 и 256 бит. Предусматривается совместимость всех используемых в данное время устройств - в частности, Intel Centrino - с 802.11i-сетями. Затрагивает протоколы 802.1X, TKIP и AES. 11. 802.11j - Спецификация предназначена для Японии и расширяет стандарт 802.11а добавочным каналом 4,9 ГГц. 12. 802.11n - Перспективный стандарт, находящийся на сегодняшний день в разработке, который позволит поднять пропускную способность сетей до 100 Мбит/сек. 13. 802.11r - Данный стандарт предусматривает создание универсальной и совместимой системы роуминга для возможности перехода пользователя из зоны действия одной сети в зону действия другой. Из всех существующих стандартов беспроводной передачи данных IEEE 802.11, на практике наиболее часто используются всего три, определенных Инженерным институтом электротехники и радиоэлектроники (IEEE), это: 802.11b, 802.11g и 802.11a. Сравнение стандартов беспроводной передачи данных: Стандарт 802.11b 802.11g 802.11a Количество используемых радиоканалов 3 не перекрывающихся 3 не перекрывающихся 8 не перекрывающихся Частотный диапазон 2.4 ГГц 2.4 ГГц 5 ГГц Макс. скорость передачи данных 11 Мб/с 54 Мб/с 54 Мб/с Примерная дальность действия 30 м при 11 Мб/с 100 м при 1 Мб/с 15 м при 54 Мб/с 50 м при 11 Мб/с 12 м при 54 Мб/с 100 м при 6 Мб/с 802.11b. В окончательной редакции широко распространенный стандарт 802.11b был принят в 1999 г. и благодаря ориентации на свободный от лицензирования диапазон 2,4 ГГц завоевал наибольшую популярность у производителей оборудования. Пропускная способность (теоретическая 11 Мбит/с, реальная — от 1 до 6 Мбит/с) отвечает требованиям большинства приложений. Поскольку оборудование 802.11b, работающее на максимальной скорости 11 Мбит/с, имеет меньший радиус действия, чем на более низких скоростях, то стандартом 802.11b предусмотрено автоматическое понижение скорости при ухудшении качества сигнала. К началу 2004 года в эксплуатации находилось около 15 млн. радиоустройств 802.11b. В конце 2001-го появился - стандарт беспроводных локальных сетей 802.11a, функционирующих в частотном диапазоне 5 ГГц (диапазон ISM). Беспроводные ЛВС стандарта IEEE 802.11a обеспечивают скорость передачи данных до 54 Мбит/с, т. е. примерно в пять раз быстрее сетей 802.11b, и позволяют передавать большие объемы данных, чем сети IEEE 802.11b. К недостаткам 802.11а относятся большая потребляемая мощность радиопередатчиков для частот 5 ГГц, а также меньший радиус действия (оборудование для 2,4 ГГц может работать на расстоянии до 300 м, а для 5 ГГц — около 100 м). Кроме того, устройства для 802.11а дороже, но со временем ценовой разрыв между продуктами 802.11b и 802.11a будет уменьшаться. 802.11g является новым стандартом, регламентирующим метод построения WLAN, функционирующих в нелицензируемом частотном диапазоне 2,4 ГГц. Максимальная скорость передачи данных в беспроводных сетях IEEE 802.11g составляет 54 Мбит/с. Стандарт 802.11g представляет собой развитие 802.11b и обратно совместим с 802.11b. Соответственно ноутбук с картой 802.11g сможет подключаться и к уже действующим точкам доступа 802.11b, и ко вновь создаваемым 802.11g. Теоретически 802.11g обладает достоинствами двух своих предшественников. В числе преимуществ 802.11g надо отметить низкую потребляемую мощность, большую дальность действия и высокую проникающую способность сигнала. Можно надеяться и на разумную стоимость оборудования, поскольку низкочастотные устройства проще в изготовлении. Организация сети Стандарт IEEE 802.11 работает на двух нижних уровнях модели ISO/OSI: физическом и канальном. Другими словами, использовать оборудование Wi-Fi так же просто, как и Ethernet: протокол TCP/IP накладывается поверх протокола, описывающего передачу информации по каналу связи. Расширение IEEE 802.11b не затрагивает канальный уровень и вносит изменения в IEEE 802.11 только на физическом уровне. В беспроводной локальной сети есть два типа оборудования: клиент (обычно это компьютер, укомплектованный беспроводной сетевой картой, но может быть и иное устройство) и точка доступа, которая выполняет роль моста между беспроводной и проводной сетями. Точка доступа содержит приемопередатчик, интерфейс проводной сети, а также встроенный микрокомпьютер и программное обеспечение для обработки данных. Физический уровень IEEE 802.11 Стандарт IEEE 802.11 предусматривает передачу сигнала одним из двух методов - прямой последовательности (Direct Sequence Spread Spectrum, DSSS) и частотных скачков (Frequency Hopping Spread Spectrum, FHSS) различающиеся способом модуляции, но использующие одну и ту же технологию расширения спектра. Основной принцип технологии расширения спектра (Spread Spectrum, SS) заключается в том, чтобы от узкополосного спектра сигнала, возникающего при обычном потенциальном кодировании, перейти к широкополосному спектру, что позволяет значительно повысить помехоустойчивость передаваемых данных. Метод FHSS предусматривает изменение несущей частоты сигнала при передаче информации. Для повышения помехоустойчивости нужно увеличить спектр передаваемого сигнала, для чего несущая частота меняется по псевдослучайному закону, и каждый пакет данных передается на своей несущей частоте. При использовании FHSS конструкция приемопередатчика получается очень простой, но этот метод применим, только если пропускная способность не превышает 2 Мбит/с, так что в дополнении IEEE 802.11b остался один DSSS. Из этого следует, что совместно с устройствами IEEE 802.11b может применяться только то оборудование стандарта IEEE 802.11, которое поддерживает DSSS, при этом скорость передачи не превысит максимальной скорости в "узком месте" (2 Мбит/с), коим является оборудование, использующее старый стандарт без расширения. В основе метода DSSS лежит принцип фазовой манипуляции (т.е. передачи информации скачкообразным изменением начальной фазы сигнала). Для расширения спектра передаваемого сигнала применяется преобразование передаваемой информации в так называемый код Баркера, являющийся псевдослучайной последовательностью. На каждый передаваемый бит приходится 11 бит в последовательности Баркера. Различают прямую и инверсную последовательности Баркера. Из-за большой избыточности при кодировании вероятность того, что действие помехи превратит прямую последовательность Баркера в инверсную, близка к нулю. Единичные биты передаются прямым кодом Баркера, а нулевые - инверсным. Под беспроводные компьютерные сети в диапазоне 2,4 ГГц отведен довольно узкий "коридор" шириной 83 МГц, разделенный на 14 каналов. Для исключения взаимных помех между каналами необходимо, чтобы их полосы отстояли друг от друга на 25 МГц. Несложный подсчет показывает, что в одной зоне одновременно могут использоваться только три канала. В таких условиях невозможно решить проблему отстройки от помех автоматическим изменением частоты, вот почему в беспроводных локальных сетях используется кодирование с высокой избыточностью. В ситуации, когда и эта мера не позволяет обеспечить заданную достоверность передачи, скорость с максимального значения 11 Мбит/с последовательно снижается до одного из следующих фиксированных значений: 5,5; 2; 1 Мбит/с. Снижение скорости происходит не только при высоком уровне помех, но и если расстояние между элементами беспроводной сети достаточно велико. Канальный уровень IEEE 802.11 Подобно проводной сети Ethernet, в беспроводных компьютерных сетях Wi-Fi канальный уровень включает в себя подуровни управления логическим соединением (Logical Link Control, LLC) и управления доступом к среде передачи (Media Access Control, MAC). У Ethernet и IEEE 802.11 один и тот же LLC, что значительно упрощает объединение проводных и беспроводных сетей. MAC у обоих стандартов имеет много общего, однако есть некоторые тонкие различия, принципиальные для сравнения проводных и беспроводных сетей. В Ethernet для обеспечения возможности множественного доступа к общей среде передачи (в данном случае кабелю) используется протокол CSMA/CD, обеспечивающий выявление и обработку коллизий (в терминологии компьютерных сетей так называются ситуации, когда несколько устройств пытаются начать передачу одновременно). В сетях IEEE 802.11 используется полудуплексный режим передачи, т.е. в каждый момент времени станция может либо принимать, либо передавать информацию, поэтому обнаружить коллизию в процессе передачи невозможно. Для IEEE 802.11 был разработан модифицированный вариант протокола CSMA/CD, получивший название CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Работает он следующим образом. Станция, которая собирается передавать информацию, сначала "слушает эфир". Если не обнаружено активности на рабочей частоте, станция сначала ожидает в течение некоторого случайного промежутка времени, потом снова "слушает эфир" и, если среда передачи данных все еще свободна, осуществляет передачу. Наличие случайной задержки необходимо для того, чтобы сеть не зависла, если несколько станций одновременно захотят получить доступ к частоте. Если информационный пакет приходит без искажений, принимающая станция посылает обратно подтверждение. Целостность пакета проверяется методом контрольной суммы. Получив подтверждение, передающая станция считает процесс передачи данного информационного пакета завершенным. Если подтверждение не получено, станция считает, что произошла коллизия, и пакет передается снова через случайный промежуток времени. Еще одна специфичная для беспроводных сетей проблема - две клиентские станции имеют плохую связь друг с другом, но при этом качество связи каждой из них с точкой доступа хорошее. В таком случае передающая клиентская станция может послать на точку доступа запрос на очистку эфира. Тогда по команде с точки доступа другие клиентские станции прекращают передачу на время "общения" двух точек с плохой связью. Режим принудительной очистки эфира (протокол Request to Send/Clear to Send - RTS/CTS) реализован далеко не во всех моделях оборудования IEEE 802.11 и, если он есть, то включается лишь в крайних случаях. В Ethernet при передаче потоковых данных используется управление доступом к каналу связи, распределенное между всеми станциями. Напротив, в IEEE 802.11 в таких случаях применяется централизованное управление с точки доступа. Клиентские станции последовательно опрашиваются на предмет передачи потоковых данных. Если какая-нибудь из станций сообщает, что она будет передавать потоковые данные, точка доступа выделяет ей промежуток времени, в который из всех станций сети будет передавать только она. Следует отметить, что принудительная очистка эфира снижает эффективность работы беспроводной сети, поскольку связана с передачей дополнительной служебной информации и кратковременными перерывами связи. Кроме этого, в проводных сетях Ethernet при необходимости можно реализовать не только полудуплексный, но и дуплексный вариант передачи, когда коллизия обнаруживается в процессе передачи (это повышает реальную пропускную способность сети). Поэтому, увы, при прочих равных условиях реальная пропускная способность беспроводной сети IEEE 802.11b будет ниже, чем у проводного Ethernet. Таким образом, если сетям Ethernet 10 Мбит/с и IEEE 802.11b (максимальная скорость передачи информации 11 Мбит/с) с одинаковым числом пользователей давать одинаковую нагрузку, постепенно увеличивая ее, то, начиная с некоторого порога, сеть IEEE 802.11b начнет "тормозить", а Ethernet все еще будет функционировать нормально. Поскольку клиентские станции могут быть мобильными устройствами с автономным питанием, в стандарте IEEE 802.11 большое внимание уделено вопросам управления питанием. В частности, предусмотрен режим, когда клиентская станция через определенные промежутки времени "просыпается", чтобы принять сигнал включения, который, возможно, передает точка доступа. Если этот сигнал принят, клиентское устройство включается, в противном случае оно снова "засыпает" до следующего цикла приема информации. Типы и разновидности соединений 1. Соединение Ad-Hoc (точка-точка). Все компьютеры оснащены беспроводными картами (клиентами) и соединяются напрямую друг с другом по радиоканалу работающему по стандарту 802.11b и обеспечивающих скорость обмена 11 Mбит/с, чего вполне достаточно для нормальной работы. 2. Инфраструктурное соединение. Все компьютеры оснащены беспроводными картами и подключаются к точке доступа. Которая, в свою очередь, имеет возможность подключения к проводной сети. Данная модель используется когда необходимо соединить больше двух компьютеров. Сервер с точкой доступа может выполнять роль роутера и самостоятельно распределять интернет-канал. 3. Точка доступа, с использованием роутера и модема. Точка доступа включается в роутер, роутер — в модем (эти устройства могут быть объединены в два или даже в одно). Теперь на каждом компьютере в зоне действия Wi-Fi , в котором есть адаптер Wi-Fi, будет работать интернет. 4. Клиентская точка. В этом режиме точка доступа работает как клиент и может соединятся с точкой доступа работающей в инфраструктурном режиме. Но к ней можно подключить только один МАС-адрес. Здесь задача состоит в том, чтобы объединить только два компьютера. Два Wi-Fi-адаптера могут работать друг с другом напрямую без центральных антенн. 5. Соединение мост. Компьютеры объединены в проводную сеть. К каждой группе сетей подключены точки доступа, которые соединяются друг с другом по радио каналу. Этот режим предназначен для объединения двух и более проводных сетей. Подключение беспроводных клиентов к точке доступа, работающей в режиме моста невозможно. 6. Репитер. Точка доступа просто расширяет радиус действия другой точки доступа, работающей в инфраструктурном режиме. Список использованной литературы: 1. http://esnet.ru/estelecom/resh.shtml?base=&news=9 2. http://www.ultra-net.ru/dostup.html 3. http://www.winzone.ru/articles/169/ 4. http://www.winzone.ru/articles/304/ 5. http://rmt.ru/articles64 6. http://www.dataexpress.ru/review/ccc/2/ 7. http://www.intel.com/ru/update/contents/st08031.htm 8. http://www.thg.ru/network/20030828/print.html 9. http://www.thg.ru/network/20030828/802_11-04.html
«Вычислительные машины системы и сети» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 462 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot