USB (Universal Serial Bus) — новая универсальная последовательная шина. Она появилась в 1996 году и призвана заменить такие устаревшие интерфейсы, как RS-232 (СОМ-порт) и параллельный интерфейс IEEE 1284 (LPT-порт), то есть заменить последовательные и параллельные, клавиатурные и мышиные порты — все устройства подключаются к одному разъему, допускающему установку многочисленных устройств с легкостью технологии Plug & Play. Технология Plug & Play позволяет производить «горячую» замену без необходимости выключения и перезагрузки компьютера. После физического подсоединения устройства правильно опознаются и автоматически конфигурируются: USB самостоятельно определяет, что именно подключили к компьютеру, какой драйвер и ресурсы понадобятся устройству, после чего все это выделяет без вмешательства пользователя. Для адекватной работы шины необходима операционная система, которая корректно с ней работает. В данном случае такой ОС является Windows 95 и выше. К шине USB можно одновременно подключить до 127 устройств: мониторы, принтеры, сканеры, клавиатуры и т. д. Каждое устройство, подключенное на первом уровне, может работать в качестве коммутатора — то есть к нему, при наличии соответствующих разъемов, могут подключаться еще несколько устройств. Обмен по интерфейсу — пакетный, скорость обмена — 12 Мбит/с. На современных системных платах обычно имеется два канала на контроллер.
IEEE1394 (Institute of Electrical and Electronic Engineers1394 — стандарт Института инженеров по электротехнике и электронике 1394) — новый и перспективный последовательный интерфейс, предназначенный для подключения внутренних компонентов компьютера и внешних устройств. IEEE 1394 известен также под именем FireWire — «огненный провод». Цифровой последовательный интерфейс FireWire характеризуется высокой надежностью и качеством передачи данных, его протокол поддерживает гарантированную передачу критичной по времени информации, обеспечивая прохождение видео- и аудиосигналов в реальном масштабе времени без заметных искажений. При помощи шины FireWire можно подсоединить друг к другу огромное количество различных устройств по технологии Plug & Play и практически в любой конфигурации, чем она выгодно отличается от названных ранее трудноконфигурируемых шин типа SCSI. К одному контроллеру возможно подключение до 127 устройств с помощью единого шестижильного кабеля. Пропускная способность интерфейса составляет 50-400 Мбит/с, а в будущем ожидается даже 800 Мбит/с. Этот интерфейс будет использоваться для подключения жестких дисков, дисководов CD-ROM и DVD-ROM, а также высокоскоростных внешних устройств, таких как цифровые видеокамеры, видеомагнитофоны и т. д.
PCMCIA (Personal Computer Memory Card International Association— Ассоциация производителей плат памяти для персональных компьютеров) — внешняя шина компьютеров класса ноутбук. Другое название модуля PCMCIA — PC Card. Шина имееет разрядность 16/26 (адресное пространство — 64 Мбайт), поддерживает автоконфигурацию, возможно подключение и отключение устройств в процессе работы компьютера. Конструктив — миниатюрный 68-контактный разъем. Контакты питания сделаны более длинными, что позволяет вставлять и вынимать карту при включенном питании компьютера.
ACPI (Advanced Configuration Power Interface— расширенный интерфейс конфигурирования и питания) — интерфейс, представляющий собой единую систему управления питанием для всех компонентов компьютера. Поддерживается новейшими модификациями BIOS материнских плат.
10. Размещение информации в основной памяти IBM PC
Адресуемой единицей информации основной памяти IBM PC является байт. Это означает, что каждый байт, записанный в ОП, имеет уникальный номер (адрес). При работе в реальном режиме (для которого характерно использование 20-битной шины адреса системной магистрали) абсолютный (физический) адрес каждого байта является пятиразрядным шестнадцатеричным числом, принимающим значения от 00000 до FFFFF. В младших адресах (рис. 4.3) располагаются блоки операционной системы (вектора прерываний, зарезервированная область памяти BIOS), в этой же части могут размещаться драйверы устройств, дополнительные обработчики прерываний DOS и BIOS, командный процессор операционной системы.
Затем располагается область памяти, отведенная пользователю. Область памяти пользователя заканчивается адресом 9FFFF. Этот адрес является физической границей оперативного ЗУ, последним адресом 640 Кбайтной основной памяти. Остальное адресное пространство (128 Кбайт с адреса ООО по BFFFF) отведено под видеопамять, которая физически размещается не в ОП, а в адаптере дисплея. После видеопамяти расположено адресное пространство (256 Кбайт) постоянного запоминающего устройства (ПЗУ), хранящего программы базовой системы ввода-вывода (BIOS - Basic Input - Output System). Эта часть ОП еще называется ROM-BIOS. Из отведенных 256 Кбайт непосредственно ПЗУ занимает 64 Кбайта, а остальные 192 Кбайт оставлены для расширения ПЗУ. Поскольку большая часть оставленной для расширения BIOS части адресного пространства не используется, в этих адресах часто располагается информация, необходимая для работы сетевых карт, графических расширителей и др.
Прочитать любой байт основной памяти можно с помощью стандартных отладчиков машинных команд операционной системы Windows - debug.exe (только для реального режима) или ntsd.exe.
11. Расширение основной памяти IBM PC
Рабочая концепция фирмы IBM при создании IBM PC содержала гипотезу, что объем основной памяти ЭВМ, предназначенной для персонального использования не должен превышать 640 Кбайт. Поэтому в базовую модель IBM PC заложили 20-разрядную шину адреса системной магистрали. Наличие 20 линий в шине адреса позволяло адресовать память большего объема, чем было предусмотрено концепцией (220 = 1 Мбайт). «Излишек» адресного пространства в 384 Кбайт был поделен между видеопамятью (128 Кбайт) и ПЗУ (256 Кбайт).
Чтобы физически увеличить объем памяти необходимо подключить к системной магистрали дополнительные модули. Каждый байт дополнительной памяти должен иметь уникальный адрес, а адресного пространства для дополнительной памяти нет.
Существует несколько способов разрешения таких проблем. Один из них - банкирование памяти: вся память делится на блоки (банки), емкость которых не выходит за пределы допустимого адресного пространства; во время работы специальными командами можно переключать банки, делая активным любой из них или осуществляя групповую перепись информации из одного банка в другой.
В IBM PC XT фирма IBM применила другой способ: 256 Кбайт было сначала оставлено для ПЗУ, в котором размещалась базовая система ввода-вывода (BIOS). Анализ программ BIOS показал, что в оставленном для ПЗУ адресном пространстве (UMB - Upper Memory Block) имеются «окна» - неиспользуемые участки. Четыре таких участка (paqe frames) по 16 Кбайт были выделены и их адреса стали использоваться для адресации дополнительной памяти, подключенной к системной магистрали. Таким образом, общий объем ОП удалось увеличить на 64 Кбайта. Специальная программа (драйвер дополнительной памяти) «перехватывала» обращение к «окнам» ПЗУ и вместо них «подставляла» дополнительный модуль памяти (Expended Memory).
Дополнительная память не обязательно должна была иметь объем 64 Кбайта. Ее объем мог быть и большим (фирма IBM выпускала модули дополнительной памяти объемом 8 и 32 Мбайта). При этом драйвер дополнительной памяти делил ее на блоки по 16 Кбайт и «отображал» каждое окно UMB на один из блоков Expended Memory. Из-за этого память такого вида получила название отображаемой.
Но развитие персональных ЭВМ привело к необходимости более серьезной корректировки рабочей концепции. Поэтому в IBM AT с микропроцессором i80286 разрядность шины адреса увеличили до 24, что позволило увеличить объем ОП до 16 Мбайт. В МП i80386 разрядность шины адреса и адресных регистров микропроцессора увеличена до 32, в результате чего допустимый объем ОП увеличился до 4 Гбайт. Изменился принцип формирования абсолютного адреса ОП, в результате чего утрачена совместимость с программным обеспечением, разработанным для IBM PC XT. Чтобы обеспечить совместимость AT с XT, было решено реализовать два режима работы микропроцессоров, имеющих номер, больший 80286: реальный и защищенный.
В реальном режиме работают только 20 шин адреса системной магистрали, а дополнительные разряды шины адреса заблокированы, что обеспечивает совместимость с микропроцессором i8086 и позволяет использовать операционную систему MS DOS и программное обеспечение, разработанное для XT. Но при этом остается неиспользованной вся дополнительная память, находящаяся за пределами 1 Мбайта.
В защищенном режиме применяется другой принцип формирования абсолютного адреса ОП, благодаря чему возможно использование всей имеющейся в наличии дополнительной (расширенной) памяти, но возникают трудности с использованием программного обеспечения, разработанным для MS DOS.
В IBM PC XT 20-битный адрес формировался из двух машинных слов: базового адреса сегмента (16 бит) и смещения (16 бит). Это было связано с тем, что вся ОП делилась на сегменты емкостью по 64 Кбайта. Адресация байтов внутри сегмента начиналась с О и заканчивалась адресом FFFF. Внутрисегментный адрес байта называется смещением (т.е. смещением относительно начала сегмента). Начало же сегмента (т.е. его базовый 20-битный адрес) однозначно определялся 16-битным адресом, который преобразовывался в 20-битный адрес дописыванием справа четырех нулей. В машинных командах абсолютный (физический) адрес задавался либо прямым указанием базового адреса сегмента и смещения (которые разделялись двоеточием, например, 0A12:F4B2, где 0А120 - 20-битный адрес начала сегмента; F4B2 - 16-битное смещение внутри сегмента), либо по умолчанию (базовые адреса сегментов программы, данных, стека запоминаются в специальных регистрах микропроцессора), либо указанием регистра, в котором содержится необходимый базовый адрес (например, если регистр называется CS, то абсолютный адрес в машинной команде может быть задан в виде: CS: F4B2).
Начиная с МП i80386 благодаря увеличению длины всех регистров для смещений до 32 бит реализована возможность работы «с плоской памятью», не разделяемой на сегменты. Это допускает адресацию 232 байт или 4 Гбайт ОП. Физический адрес основной памяти при этом стал иметь длину 4 байта (или 8 шестнадцатеричных символов, например 729bd000).
Желание использовать в реальном режиме всю фактически имеющуюся в наличии дополнительную память привело к созданию двух виртуальных режимов, один из которых - стандарт EMS (Expended Memory Specifications - спецификация расширенной памяти), реализующий принцип банкирования дополнительной памяти. Вся дополнительная память делится на страницы (банки), емкостью по 16 Кбайт; выбираются четыре страницы и объявляются активными. Выбранные активные страницы отображаются на четыре окна UMB, теперь при обращении к одному из окон UMB вместо него подставляется отображенная на него страница дополнительной памяти. Поскольку любое окно UМВ можно отобразить на любую страницу дополнительной памяти (объявив ее активной), то изменяя отображение в процессе работы, можно использовать всю дополнительную память любого объема.
Стандарт EMS реализуется программным путем - с помощью драйвера дополнительной памяти, который «перехватывает» каждое обращение к окну, имеющемуся в адресном пространстве ПЗУ и «подставляет» вместо ПЗУ соответствующий участок дополнительной памяти.
В соответствии с этим стандартом работают драйверы XMA2EMS.SYS, EMM386.SYS и др.
Стандарт EMS несколько снижает производительность системы, но не накладывает никаких ограничений на размещение в дополнительной памяти программ и данных.
Другой виртуальный режим основан на том, что за счет разблокирования на время дополнительных (по сравнению с XT) линий шины адреса системной магистрали удается увеличить доступное MS DOS адресное пространство еще почти на 64 Кбайта, начиная с адреса FFFFF (т.е. за пределами адресного пространства 1 Мбайт). Эта область адресного пространства (64 Кбайта, начиная с 1 Мбайта) получила название НМА (Hiqh Memory Area) старшая область памяти. Ее также можно использовать, работая в MS DOS, для хранения и программ, и данных.
Блоки памяти, расположенные выше границы НМА, называются ЕМВ (Extended Memory Blocks) дополнительные блоки памяти, хотя часто дополнительной памятью (ЕМ - Extended Memory) называют всю дополнительную память, расположенную в адресном пространстве выше 1 Мбайта, иногда выделяя в ней область НМА.
Кратковременное разблокирование дополнительных линий шины адреса системной магистрали позволяет реализовать стандарт XMS (extended Memory Specification - спецификация дополнительной памяти), при котором разделенная на страницы ЕМ отображается на НМА, но в этом стандарте программные модули могут располагаться только в НМА, а остальная память может использоваться лишь для хранения данных. Стандарт ХМА реализуется драйвером HIMEM.SYS, который способен работать с шиной адреса, имеющей до 32 линий.
12. Особенности управления основной памятью ЭВМ
Для выполнения программы при ее загрузке в основную память ей выделяется часть машинных ресурсов ~ они необходимы для размещения команд, данных, управляющих таблиц и областей ввода-вывода, т.е. производится трансляция адресного пространства откомпилированной программы в местоположение в реальной памяти.
Выделение ресурсов может быть осуществлено самим программистом (особенно если он работает на языке, близком машинному), но может производиться и операционной системой.
Если выделение ресурсов производится перед выполнением программы, такой процесс называется статическим перемещением, в результате которого программа «привязывается» к определенному месту в памяти вычислительной машины. Если же ресурсы выделяются в процессе выполнения программы, это называется динамическим перемещением, в этом случае программа не привязана к определенному месту в реальной памяти. Динамический режим можно реализовать только с помощью операционной системы.
Статическое перемещение.
Адреса в каждом сегменте начинаются с 0-го. При статическом перемещении программы в процессе загрузки ее в основную память адреса должны быть привязаны к конкретному месту в памяти, на что уходит много времени, отвлекаются вычислительные ресурсы.
При статическом перемещении может встретиться два случая.
1. Реальная память больше требуемого адресного пространства программы.
В этом случае загрузка программы в реальную память производится начиная с нулевого адреса.
Загружаемая программа А является абсолютной программой, так как никакого изменения адресов в адресном пространстве, подготовленном компилятором, при загрузке в основную память не происходит - программа располагается с нулевого адреса реальной памяти.
2. Реальная память меньше требуемого адресного пространства программы.
В этом случае программист (или операционная система) вынужден решать проблему, как организовать выполнение программы. Методы решения: можно создать оверлейную структуру (т.е. разбить программу на части, вызываемые в ОП по мере необходимости), сделать модули программы реентерабельными (т.е. допускающими одновременную работу модуля по нескольким обращениям из разных частей программы или из различных программ) и так далее.
В некоторых операционных системах адреса откомпилированной (с 0-го адреса) программы могут быть преобразованы в адреса реальной памяти, отличные от 0-го. При этом создается абсолютный модуль, который требует размещения его в памяти всегда с одного и того же адреса.
Тогда при мультипрограммном режиме, если имеем программы А, В и С, для которых известно, что программа А выполняется при размещении в памяти с адреса 60 Кбайт до 90 Кбайт, В - с 60 Кбайт до 90 Кбайт, С - с 50 Кбайт до 120 Кбайт, организовать их совместное выполнение невозможно, так как им необходим один и тот же участок реальной памяти. Эти программы будут ждать друг друга либо их нужно заново редактировать с другого адреса.
При работе в мультипрограммном режиме может сложиться ситуация, когда между программами образуются незанятые участки памяти. Такое состояние называется фрагментацией реальной памяти. Оно характерно для систем со статическим перемещением.
Динамическое перемещение.
Динамическая трансляция адресов (ДТА), заключается в том, что сегменты загружаются в основную память без трансляции адресного пространства (т.е. без изменения адресов в программе с учетом физического размещения в памяти команд и данных), а трансляция адресов каждой команды производится в процессе ее выполнения. Этот тип трансляции называется динамическим перемещением и осуществляется специальными аппаратными средствами ДТА.
В системах с динамическим перемещением программ перемещающий загрузчик размещает программу в свободной части памяти и допускает использование несмежных ее участков. В этом случае имеется больше возможностей для организации мультипрограммной работы, а следовательно и для более эффективного использования временных ресурсов ЭВМ.
При больших размерах реализуемых программ возникают некоторые противоречия при организации мультипрограммного режима работы, трудности динамического распределения ресурсов.
В настоящее время разработано несколько способов решения: для борьбы с фрагментацией основной памяти адресное пространство программы может быть разбито на отдельные сегменты, слабо связанные между собой. Тогда программа, имеющая длину, превышающую размеры свободных участков памяти, может быть представлена в виде ряда сегментов, загружаемых в различные области ОП. Это позволяет использовать реальную память, теряемую из-за фрагментации.
Для динамической трансляции адресов (т.е. при определении абсолютных адресов по известным относительным, содержащим номер сегмента и смещение) операционная система строит специальные таблицы, устанавливающие соответствие между сегментируемым адресным пространством программы и действительными адресами сегментов в реальной памяти.
Каждая строка таблицы сегментов содержит адрес начала сегмента в реальной памяти. Для каждого сегмента имеется одна строка таблицы.
Таблицу сегментов содержит каждая выполняемая программа.
В дополнение к таблице сегментов для динамической трансляции адреса используется специальный управляющий регистр, называемый регистром начала таблицы сегментов (РНТС, или STOR (Segment Table Origin Register)). В этот регистр занесен адрес таблицы сегментов выполняемой в данный момент программы. В МП Pentium в качестве РНТС используются 3 регистра: GDTR, LDTR и IDTR.
Использованием сегментации программ достигается уменьшение фрагментации основной памяти, но полностью фрагментация не устраняется - остаются фрагменты, длина которых меньше длины сегментов программы.
Если сегменты разделить на одну или несколько единиц, называемых страницами, которые имеют фиксированный размер, то поскольку размер страницы достаточно мал по сравнению с обычным размером сегментов, неиспользуемые фрагменты ОП значительно сокращаются в объеме - будет иметь место так называемая фрагментация внутри страниц. Следовательно, потери все-таки останутся, но они будут существенно меньше. Такая организация использования ресурсов называется сегментно-страничной.
Формирование сегментно-страничной структуры выполняется автоматически с помощью операционной системы.
13. Режим виртуальной памяти Организация режима виртуальной памяти.
Виртуальная память (Virtual Memory) представляет собой программно-аппаратное средство расширения пространства памяти, предоставляемой программе в качестве оперативной. Эта память физически реализуется в оперативной и дисковой памяти под управлением соответствующей операционной системы. Требуется так организовать работу процессора с дисковой памяти, чтобы возникала иллюзия работы только с оперативной памятью.
Виртуальная память делит физическую память на блоки и распределяет их между различными задачами. При этом обеспечивается иллюзия того, что каждая задача и в самом деле исполняется на машине с огромным количеством реальной оперативной памяти.
Системы виртуальной памяти можно разделить на два класса: системы с фиксированным размером блоков, называемых страницами, и системы с переменным размером блоков, называемых сегментами.
Виртуальное пространство памяти разбито на страницы фиксированного размера, а в физической оперативной памяти в каждый момент времени присутствует только часть из них. Остальные страницы хранятся на диске, откуда операционная система может "подкачать" их в физическую память, предварительно выгрузив на диск часть неиспользуемых в данный момент модифицированных страниц. Обращение процессора к ячейке виртуальной памяти, присутствующей в физической памяти, происходит обычным способом. Если же затребованная область в данный момент не отображена в физической памяти, процессор вырабатывает исключение (внутреннее прерывание), по которому операционная система программно организует замещение страниц, называемое свопингом (Swapping). Виртуальную память поддерживают процессоры, работающие в защищенном режиме, начиная с 80286, но реально ее широко стали использовать только в операционных системах и оболочках для 32-разрядных процессоров (80386 и далее). Максимальный объем виртуальной памяти определяется размером файла подкачки (Swap File), выделяемом на жестком диске для нужд виртуальной памяти.
При использовании страничной адресации в специальные сегментные регистры процессора загружаются селекторы, базовые адреса которых равны нулю, а размер сегмента составляет 4 Гбайта. И хотя для микропроцессора механизм сегментной адресации продолжает работать, основным механизмом формирования адреса становится страничная адресация. Такая модель памяти и называется плоской (FLAT). Логическая адресация в такой модели определяется только смещением. Для программиста область памяти, адресуемая смещением, находится в полном распоряжении. Это и есть логический адрес, который преобразуется операционной системой в физический.
Применительно к виртуальной памяти различают три адресных пространства: логическое, линейное и физическое.
Логический адрес формируется при обращении к виртуальному адресному пространству.
Блок сегментации транслирует логический адрес в линейный. Физический адрес образуется после преобразования линейного адреса блоком страничной переадресации. И так, выполняемая программа загружается в оперативную память не целиком, а отдельными страницами (рис1.). Страница с которой работает процессор называется активной.
Рис.1. Отражение страниц дискового пространства
на пространство оперативной памяти.
В случае динамического распределения памяти (по запросу программы), адрес содержит номер виртуальной страницы и номер слова в странице. Для защиты памяти от записи и чтения другими процессами необходима соответствующая схема трансляции адреса, которая разрешает доступ к данной области памяти только определенной задаче.
Соответствие между физическим положением данных в памяти и адресом существует только для основной (оперативной) памяти, виртуальная память использует всю иерархическую структуру памяти как непрерывно адресуемую.
Задача управления виртуальной памятью возлагается на операционную систему. Различные операционные системы по-разному решают вопросы управления памятью.
Механизмы управления памятью решают две главные задачи:
1. Трансляцию виртуального адресного пространства процесса на физическую память. Это позволяет ссылаться на конкретные адреса физической памяти потокам процесса, работающим в виртуальном адресном пространстве.
2. Подкачку части содержимого памяти с диска, когда потоки пытаются задействовать больший объем физической памяти, чем тот, который имеется в наличии, и выгрузку страниц обратно по мере необходимости.
14. Интерфейсы внешних запоминающих устройств IBM PC
Для подключения жестких магнитных дисков к микропроцессорному комплекту используется один из 5 типов интерфейсов:
· ST506/412;
· ESDI (Enhanced Small Device Interface);
· SCSI (Small Computer System Interface);
· IDE (Integrated Drive Electronics) известныйтакже, как ATA (AT Attachement);
· EIDE(Enhanced-IDE).
ST506/412.
Интерфейс ST506 поддерживает два способа модуляции при записи-воспроизведении данных: MFM (Modified Frequency Modulation - модифицированная частотная модуляция) и RLL (Run Length Limited - кодирование с ограничением длины поля записи).
Модуляция MFM
Метод MFM является разновидностью обычной частотной модуляции, широко используемой в радиовещании и связи. Отличие заключается в том, что модифицированная модуляция позволяет обеспечить двухкратное повышение плотности записи данных за счет того, что на диск записываются не все сигналы синхронизации и при записи каждого бита учитывается значение предшествующего бита. За один переход (смену направления) намагниченности можно записать от одного до трех бит данных). Сигналы с головки передаются по кабелю данных в аналоговой форме; данные отделяются от сигналов синхронизации с помощью специального устройства - сепаратора, устанавливаемого на плате контроллера.
Основным преимуществом MFM-модуляции является простая бинарная форма записываемого на диск сигнала. При записи на дорожку использовались 17 секторов по 512 байт каждый. Теоретический предел скорости обмена с дисками, использующими MFM, составляет около 4Мбит/сек
Однако реальная скорость обмена в несколько раз меньше, поскольку для таких дисков фактор чередования (Interleave factor) не равен 1.
Модуляция RLL
Использует перекодирование исходной информации с введением избыточности. Метод RLL преобразует данные в шестнадцатибитовые слова, позволяющие записывать за один переход состояния намагниченности диска от 2 до 7 бит (эти цифры и включены в название метода). Использование RLL-модуляции предъявляет более высокие требования к качеству поверхности диска и равномерности его вращения. Кроме того, усилители каналов считывания-записи должны иметь несколько иные характеристики, по сравнению с MFM-модуляцией. Винчестеры с интерфейсом ST506/412, использующие метод RLL, как правило, имеют в своем обозначении суффикс R (например, ST157R). На одну дорожку диска можно записать 26 секторов по 512 байт, что дает теоретическую возможность обмена со скоростью (512*26*8*3600):60=6489760бит/сек.
Метод RLL был развит впоследствии до возможности записи от 3 до 9 бит за один переход намагниченности (3,9 RLL, ARLL, ERLL), что позволило записывать на дорожку 31 сектор и обеспечило теоретический предел скорости обмена с диском 7618560бит/сек.
Диски RLL можно без опаски подключать к контроллерам MFM (правда с потерей емкости), обратная же операция в общем случае некорректна. Многие, наверное, помнят такой метод "увеличения" размера диска, практиковавшийся несколько лет назад, - однако он не позволяет обеспечить достаточную надежность хранения данных.
Сегодня диски с интерфейсом ST506/412 можно встретить только в очень старых компьютерах.
ESDI
Кабели, используемые в спецификации ESDI, внешне не отличаются от кабелей ST506, однако сигналы по ним передаются другие. Сигналы передавались главным образом как синфазные (с общей землей), за исключением данных и синхронизации, для передачи которых использовался дифференциальный метод. Данные передавались через последовательную линию порциями по 16 бит, сопровождаемых битом четности. Обеспечивалась также возможность подтверждения передачи данных.
Сепаратор в соответствии с новой спецификацией устанавливался непосредственно на плате винчестера и по кабелю данных передавались уже не аналоговые сигналы, а реальные данные в цифровой форме, что позволяло подобрать параметры сепаратора к конкретному типу устройства, поскольку искажения сигналов в кабеле уже не имели значения. Такой метод повышал надежность передачи данных и увеличивал скорость обмена с контроллером до 10Мбит/сек за счет передачи по кабелю цифровых сигналов. Кроме того, интерфейс ESDI обеспечивал возможность использования винчестеров большой емкости и оптических накопителей.
Интерфейс ESDI обеспечивал три сигнала выбора устройства, что позволяло подключать к нему до 7 накопителей. Сигналы выбора головки позволяли напрямую адресовать до 16 головок, однако специальная команда Select Head Group позволяла использовать до 256 головок (16 групп по 16 головок в каждой).
SCSI (Small Computer System Interface) - предназначен для подключения к ПК жестких дисков и других периферийных устройств (в т.ч. - сканеров, оптических накопителей, дисководов CD-ROM, принтеров и а также других ПК). В настоящее время используется в мощных микроЭВМ разных типов (преимущественно в файл-серверах) и (реже) в рабочих станциях. Этот интерфейс осуществляет параллельную пересылку данных (побайтно) с контролем по четности, что значительно повышает скорость его работы. Применяется не только в IBM-совместимых ЭВМ, но и в VAX, Macintosh, SPARCstation и др. Он обслуживает одновременно до 8 устройств (одним из которых является основной (хост) адаптер SCSI). Хост-адаптер SCSI имеет свою собственную BIOS, которая занимает 16 Кбайт в верхней области памяти (UMB).
Обмен между устройствами на магистрали SCSI происходит в соответствии с протоколом высокого уровня. Программы управления обменом составляются на CCS (Common Command Set) - это универсальный набор команд, обеспечивающих доступ к данным на логическом уровне (в отличие от ESDI).
Интерфейс IDE (он же ATA, AT-bus, PC/AT, Task File) - недорогая альтернатива интерфейсам ESDI и SCSI. Его отличительная особенность - реализация функций контроллера в самом накопителе. Такое решение позволяет сократить количество сигналов, передаваемых между системной платой и накопителем (остался один 40-жильный кабель), повысить производительность жесткого диска с 5 до 10 Мбит/с. В контроллере используются такие аппаратные средства, как кэш-память, трансляторы физических параметров диска в логические, что позволяет использовать нестандартные параметры накопителя.
Выпуск малогабаритных компьютеров типа “lap-top” и “notebook” потребовал сокращения размеров как самого жесткого диска, так и его контроллера, поэтому новая концепция интерфейса IDE стала в них доминирующей.
EIDE (Enhanced Integrated Drive Electronics) - предназначен для подключения к ПК (PC AT производства фирмы IBM) жестких дисков и других периферийных устройств, (например, - “сканеров “). Является развитием более ранней версии интерфейса подобного назначения - IDE (Integrated Drive Electronics). Интерфейс состоит из аппаратной и программной частей. Для интерфейсов IDE и EIDE по мере их развития (в т.ч. - увеличения быстродействия, количества и видов подключаемых периферийных устройств и т.п.) была разработана и принята серия стандартов ATA [AT Attachment ] в том числе: ATA-1, ATA-2, ATA-3, ATAPI (AT Attachment Packet Interface), ASPI (Advanced SCSI Programming Interface).
15. Основные понятия защищенного режима.
Защищенный режим предназначен для обеспечения независимости выполнения нескольких задач, что подразумевает защиту ресурсов одной задачи от возможного воздействия другой задачи (под задачами подразумеваются как прикладные, так и задачи операционной системы).
Основным защищаемым ресурсом является память, в которой хранятся коды, данные и различные системные таблицы (например, таблица прерываний). Защищать требуется и совместно используемую аппаратуру, обращение к которой обычно происходит через операции ввода-вывода и прерывания.
Защита памяти основана на использовании сегментации. Сегмент — это блок адресного пространства памяти определенного назначения. Сегменты памяти выделяются задачам операционной системой, но в реальном режиме любая задача может переопределить значение сегментных регистров, задающих положение сегмента в пространстве памяти, и “залезть” в чужую область данных или кода. В защищенном режиме сегменты тоже распределяются операционной системой, но прикладная программа сможет использовать только разрешенные для нее сегменты памяти, выбирая их с помощью селекторов из предварительно сформированных таблиц дескрипторов сегментов. Селекторы представляют собой 16-битные указатели, загружаемые в сегментные регистры процессора.
Дескрипторы и привилегии являются основой системы защиты: дескрипторы определяют структуры элементов (без которых невозможно их использование), а привилегии определяют возможность доступа к дескрипторам и выполнения привилегированных инструкций. Любое нарушение защиты приводит к возникновению специальных исключений, обрабатываемых ядром операционной системы.
Дескрипторы — это структуры данных, используемые для определения свойств программных элементов (сегментов, вентилей и таблиц). Дескриптор определяет положение элемента в памяти, размер занимаемой им области (лимит), его назначение и характеристики защиты.
Селектор — число, хранящееся в сегментном регистре; это 16-битная структура данных, которая является идентификатором сегмента. Селектор указывает не на сам сегмент в памяти, а на его дескриптор, в таблице дескрипторов… Селектор «живёт» в сегментном регистре (CS, DS, ES, FS, GS, SS).
Защищенный режим предоставляет средства переключения задач. Состояние каждой задачи (значение всех связанных с ней регистров процессора) может быть сохранено в специальном сегменте состояния задачи (TSS), на который указывает селектор в регистре задачи. При переключении задач достаточно загрузить новый селектор в регистр задачи, и состояние предыдущей задачи автоматически сохранится в ее TSS, а в процессор загрузится состояние новой (возможно, и ранее прерванной) задачи и начнется (продолжится) ее выполнение.
Четырехуровневая иерархическая система привилегий предназначена для управления использованием привилегированных инструкций и доступом к дескрипторам. Уровни привилегий нумеруются от 0 до 3, нулевой уровень соответствует максимальным (неограниченным) возможностям доступа и отводится для ядра операционной системы. Уровень 3 имеет самые ограниченные права и обычно предоставляется прикладным задачам. Сервисы, предоставляемые задачам, могут находиться в разных кольцах защиты. Передача управления между задачами контролируется вентилями (Gate), проверяющими правила использования уровней привилегий. Через вентили задачи могут получить доступ только к разрешенным им сервисам других сегментов.
16. Структура базового микропроцессора.
Основу центрального процессора ЭВМ составляет микропроцессор — обрабатывающее устройство, служащее для арифметических и логических преобразований данных.
Основные функции микропроцессора:
• выборка команд из ОЗУ;
•декодирование команд (т.е. определение назначения команды, способа ее исполнения и адресов операндов);
• выполнение операций, закодированных в командах;
• управление пересылкой информации между своими внутренними регистрами, оперативной памятью и внешними (периферийными) устройствами;
• обработка внутрипроцессорных и программных прерываний;
• обработка сигналов от внешних устройств и реализация соответствующих прерываний;
• управление различными устройствами, входящими в состав компьютера.
Архитектурные особенности
1. В соответствии с архитектурными особенностями, определяющими свойства системы команд, различают:
· Микропроцессоры с CISC архитектурой.
CISC (Complex Instruction Set Computer) - Компьютер со сложной системой команд.
· Микропроцессоры с RISC архитектурой.
RISC (Reduced Instruction Set Computer) - Компьютер с сокращенной системой команд. Упрощена система команд и сокращена до такой степени, что каждая инструкция выполняется за единственный такт. Вследствие этого упростилась структура микропроцессора, и увеличилось его быстродействие.
· Микропроцессоры с MISC архитектурой.
MISC (Minimum Instruction Set Computer) - Компьютер с минимальной системой команд. Последовательность простых инструкций объединяется в пакет, таким образом, программа преобразуется в небольшое количество длинных команд.
2. Разрядность – максимальное количество разрядов двоичного кода, которые могут обрабатываться или передаваться одновременно.
Современные микропроцессоры построены на 32-х битной архитектуре x86 или IA-32 (Intel Architecture 32 bit). Производительность 64-х битных микропроцессоров намного выше.
Разрядность микропроцессора обозначается m/n/k/ и включает:
m - разрядность внутренних регистров, определяет принадлежность к тому или иному классу процессоров;
n - разрядность шины данных, определяет скорость передачи информации;
k - разрядность шины адреса, определяет размер адресного пространства. (Например, микропроцессор i8088 характеризуется значениями m/n/k=16/8/20)
3. Объем адресуемой памяти – максимальный объем памяти, который может обслужить микропроцессор.
4. Набор дополнительных инструкций (Instruction Set) - применяются в современных CISC-микропроцессорах и способны значительно ускорить их работу. MMX расшифровывается как MultiMedia eXtensions (мультимедийные расширения). В основе технологии лежит концепция (микроархитектура) SIMD (Single Instruction Many Data – «одна команда, много данных»), когда при помощи одной инструкции одновременно обрабатывается несколько элементов данных. SSE, SSE2, 3DNow! - дальнейшее развитие этой идеи.
17. Многомашинные и многопроцессорные ВС. Суперкомпьютеры и особенности их архитектуры. Кластерные суперкомпьютеры.
По типу построения вычислительные системы разделяются на:
многомашинные и многопроцессорные
Это значит, что вычислительные системы могут строиться на базе нескольких компьютеров или на базе нескольких процессоров. В первом случая ВС будет многомашинной, во втором — многопроцессорной.
По типу ЭВМ или процессоров, используемых для построения ВС, различают:
Однородная ВС строится на базе однотипных компьютеров или процессоров.
Неоднородная ВС включает в свой состав различные типы компьютеров или процессоров.
По методам управления элементами ВС различают:
В централизованных ВС за управление отвечает главная или диспетчерская ЭВМ (процессор). Ее задачей является распределение нагрузки между элементами, выделение ресурсов, контроль состояния ресурсов, координация взаимодействия.
В децентрализованных системах функции управления распределены между ее элементами.
В системах со смешанным управлением совмещаются процедуры централизованного и децентрализованного управления. Перераспределение функций осуществляется в ходе вычислительного процесса, исходя из сложившейся ситуации.
По принципу закрепления вычислительных функций за отдельными ЭВМ (процессорами) различают системы с жестким и плавающим закреплением функций.
По степени территориальной разобщенности вычислительных модулей ВС делятся на системы:
территориально-сосредоточенные – это когда все компоненты располагаются в непосредственной близости друг от друга;
распределенные – это когда компоненты могут располагаться на значительном расстоянии, например, вычислительные сети;
структурно-одноуровневые – это когда имеется лишь один общий уровень обработки данных;
многоуровневые (иерархические) структуры – это когда в иерархических ВС машины или процессоры распределены по разным уровням обработки информации, некоторые машины (процессоры) могут специализироваться на выполнении определенных функций.
По режиму работы ВС различают системы, работающие в оперативном и неоперативном временных режимах.
Суперкомпьютеры и особенности их архитектуры
К суперкомпьютерам относятся мощные многопроцессорные вычислительные машины с быстродействием сотни миллионов — десятки миллиардов операций в секунду. Создать такие высокопроизводительные компьютеры на одном микропроцессоре (МП) не представляется возможным ввиду ограничения, обусловленного конечным значением скорости распространения электромагнитных волн (300 000 км/с), т.к. время распространения сигнала на расстояние несколько миллиметров (линейный размер стороны МП) при быстродействии 100 млрд операций/с становится соизмеримым со временем выполнения одной операции. Поэтому суперкомпьютеры создаются в виде высокопараллельных многопроцессорных вычислительных систем (МПВС).
Высокопараллельные МПВС имеют несколько разновидностей.
Магистральные (конвейерные) МПВС, у которых процессор одновременно выполняет разные операции над последовательным потоком обрабатываемых данных. По принятой классификации такие МПВС относятся к системам с многократным потоком команд и однократным потоком данных (МКОД или MISD — Multiple Instruction Single Data).
Векторные МПВС, у которых все процессоры одновременно выполняют одну команду над различными данными — однократный поток команд с многократным потоком данных (ОКМД или SIMD — Single Instruction Multiple Data).
Матричные МПВС, у которых микропроцессор одновременно выполняет разные операции над последовательными потоками обрабатываемых данных —многократный поток команд с многократным потоком данных (МКМД или MIMD — Multiple Instruction Multiple Data).
Кластерные суперкомпьютеры и особенности их архитектуры
Существует технология построения больших компьютеров и суперкомпьютеров на базе кластерных решений. По мнению многих специалистов, на смену отдельным, независимым суперкомпьютерам должны прийти группы высокопроизводительных серверов, объединяемых в кластер.
Кластер - это связанный набор полноценных компьютеров, используемый в качестве единого вычислительного ресурса.
Удобство построения кластерных ВС заключается в том, что можно гибко регулировать необходимую производительность системы, подключая к кластеру с помощью специальных аппаратных и программных интерфейсов обычные серийные серверы до тех пор, пока не будет получен суперкомпьютер требуемой мощности.
Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех- процессорные SMP-серверы.
При создании кластеров можно выделить два подхода.
Первый подход применяется при создании небольших кластерных систем.
Второй подход применяется в тех случаях, когда целенаправленно создается мощный вычислительный ресурс.
Основные достоинства кластерных суперкомпьютерных систем:
высокая суммарная производительность; высокая надежность работы системы; наилучшее соотношение производительность/стоимость; возможность динамического перераспределения нагрузок между серверами; легкая масштабируемость, то есть наращивание вычислительной мощности путем подключения дополнительных серверов; удобство управления и контроля работы системы.
недостатки: задержки разработки и принятия общих стандартов; большая доля нестандартных и закрытых разработок различных фирм, затрудняющих их совместное использование; трудности управления одновременным доступом к файлам; сложности с управлением конфигурацией, настройкой, развертыванием, оповещениями серверов о сбоях и т.п.
18. Основные принципы построения компьютерных сетей. Системы телеобработки данных.
Компьютерная сеть – это совокупность компьютеров и различных устройств, обеспечивающих информационный обмен между компьютерами в сети без использования каких-либо промежуточных носителей информации.
Все многообразие компьютерных сетей можно классифицировать по группе признаков:
По территориальной распространенности сети могут быть локальными, глобальными, и региональными. Локальные – это сети, перекрывающие небольшую территорию, региональные – расположенные на территории города или области, глобальные на территории государства или группы государств, например, всемирная сеть Internet.
По принадлежности различают ведомственные и государственные сети. Ведомственные принадлежат одной организации и располагаются на ее территории. Государственные сети – сети, используемые в государственных структурах.
По скорости передачи информации компьютерные сети делятся на низко-, средне- и высокоскоростные.
По типу среды передачи разделяются на сети коаксиальные, на витой паре, оптоволоконные, с передачей информации по радиоканалам, в инфракрасном диапазоне.
Компьютеры могут соединяться кабелями, образуя различную топологию сети (звездная, шинная, кольцевая и др.).
Следует различать компьютерные сети и сети терминалов. Компьютерные сети связывают компьютеры, каждый из которых может работать и автономно. Терминальные сети обычно связывают мощные компьютеры (майнфреймы), а в отдельных случаях и ПК с устройствами (терминалами), которые могут быть достаточно сложны, но вне сети их работа или невозможна, или вообще теряет смысл
В классификации сетей существует два основных термина: LAN и WAN.
LAN (Local Area Network) – локальные сети, имеющие замкнутую инфраструктуру до выхода на поставщиков услуг.
WAN (Wide Area Network) – глобальная сеть, покрывающая большие географические регионы, включающие в себя как локальные сети, так и прочие телекоммуникационные сети и устройства.
Термин «корпоративная сеть» также используется в литературе для обозначения объединения нескольких сетей, каждая из которых может быть построена на различных технических, программных и информационных принципах.
Система телеобработки данных – совокупность технических и программных средств, предназначенная для обработки на ЭВМ данных, передаваемых по каналам связи.
Абонентский пункт систем телеобработки — комплекс оборудования, состоящий из устройства ввода-вывода, устройства управления обменом данными, аппаратуры передачи данных и предназначенный для связи удаленного абонента телеобработки данных с компьютером или другим абонентским пунктом посредством каналов связи. Абонентом системы телеобработки может быть любой пользователь, взаимодействующий с ней посредством устройства ввода-вывода, а также любые технические средства, подключенные к системе телеобработки.
Функций:
- установление и разъединение связи с аппаратурой передачи данных;
- преобразование данных (перекодирование) при приеме информации
- обратные преобразования при передаче информации в компьютер;
- согласование скоростей ввода-вывода и передачи информации;
- обеспечение автономного и рабочего режимов функционирования устройств ввода-вывода и т. д.
Абонентские пункты принято классифицировать по таким признакам как: тип используемых каналов связи; режим и метод передачи данных, тип включенных в их состав устройств ввода-вывода.
В настоящее время наиболее широкое распространение получили абонентские пункты пакетной обработки и диалоговые абонентские пункты. Под абонентским пунктом пакетной обработки подразумевается абонентский пункт телеобработки данных, обеспечивающий обмен сравнительно большими массивами данных.
Диалоговым абонентским пунктом называется абонентский пункт телеобработки данных, осуществляющий обмен сравнительно небольшими массивами данных, как правило, в реальном режиме времени
19. Классификация и архитектура ИВС.
Информационно-вычислительная сеть (возможное название — вычислительные сети), представляет собой систему компьютеров, объединенных каналами передачи данных.
Основное назначение информационно-вычислительных сетей (ИВС) — обеспечение эффективного предоставления различных информационно-вычислительных услуг пользователям сети путем организации удобного и надежного доступа к ресурсам, распределенным в этой сети.
Вычислительная сеть (ВС) – это сложный комплекс взаимосвязанных и согласованно функционирующих аппаратных и программных компонентов. Аппаратными компонентами локальной сети являются компьютеры и различное коммуникационное оборудование (кабельные системы, концентраторы и т. д.). Программными компонентами ВС являются операционные системы (ОС) и сетевые приложения.
Компоновкой сети называется процесс составления аппаратных компонентов с целью достижения нужного результата.
В зависимости от того, как распределены функции между компьютерами сети, они могут выступать в трех разных ролях:
1. Компьютер, занимающийся исключительно обслуживанием запросов других компьютеров, играет роль выделенного сервера сети (рис. 1.4).
2. Компьютер, обращающийся с запросами к ресурсам другой машины, играет роль узла-клиента (рис. 1.5).
3. Компьютер, совмещающий функции клиента и сервера, является одноранговым узлом (рис. 1.6).
Рис. 1.4. Компьютер ‑ выделенный сервер сети
Рис. 1.5. Компьютер в роли узла-клиента
Очевидно, что сеть не может состоять только из клиентских или только из серверных узлов.
Сеть может быть построена по одной из трех схем:
· сеть на основе одноранговых узлов – одноранговая сеть;
· сеть на основе клиентов и серверов – сеть с выделенными серверами;
· сеть, включающая узлы всех типов – гибридная сеть.
Каждая из этих схем имеет свои достоинства и недостатки, определяющие их области применения.
Рис. 1.6. Компьютер ‑ одноранговый узел
В одноранговых сетях один и тот же ПК может быть и сервером, и клиентом, в том числе и клиентом своего клиента. В иерархических сетях разделяемые ресурсы хранятся только на сервере, сам сервер может быть клиентом только другого сервера более высокого уровня иерархии.
При этом каждый из серверов может быть реализован как на отдельном компьютере, так и в небольших по объему ЛВС, быть совмещенным на одном компьютере с каким-либо другим сервером.
Существуют и комбинированные сети, сочетающие лучшие качества одноранговых сетей и сетей на основе сервера. Многие администраторы считают, что такая сеть наиболее полно удовлетворяет их запросы.
Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию, техническое обеспечение, программное обеспечение, описывает методы кодирования. Архитектура также определяет принципы функционирования и интерфейс пользователя.
Далее будет рассмотрено три вида архитектур:
- архитектура терминал-главный компьютер;
- одноранговая архитектура;
- архитектура клиент-сервер.