|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Коды условия используются при сравнении и в условных переходахСодержимое флагового регистра меняется от машины к машине. Дополнительные поля указывают режим машины (например, пользовательский или привилегированный), трассовый бит (который используется для отладки), уровень приоритета процессора, а также статус разрешения прерываний. 2.6.5. Режимы процессора. Расширение системы команд продолжается во всех новых моделях, в каждой новой модели вводятся дополнительные архитектурные решения такие как: · встроенный блок управления ОП, работающий в виртуальном режиме (что позволило увеличить предельно допустимый объем виртуальной памяти до 4 Гбайт при 16 Мбайт физической); · блоки, позволяющие реализовать мультизадачность; · блок защиты ОП; · блок проверки уровня привилегий, присваиваемых каждой задаче; · конвейер команд; · встроенный блок управления ОП; · микропрограммное управление операциями; · прогнозирование переходов по командам условной передачи управления; · скалярная архитектура ЦП (арифметический конвейер) и мультискалярная архитектура (несколько параллельно работающих арифметических конвейеров, одновременно выполняющих несколько машинных операций, благодаря чему появляется возможность за один такт МП выполнять более одной машинной операции) и т.д. Все эти усовершенствования позволяют сделать ВМ мультипрограммной, многопользовательской и многозадачной. Процессоры разных типов значительно отличаются друг от друга по количеству и размерности регистров, размерности адресных шин. Для совмещения программ, написанных для разных типов процессоров, стали использовать несколько режимов работы процессора. Pentium II имеет 3 операционных режима, в двух из которых он работает как 8086. Все 32-разрядные процессоры Intel (и совместимые с ними), начиная с 80386-го, могут выполнять программы в нескольких режимах. В зависимости от режима процессора изменяется схема управления памятью системы и задачами. Процессоры могут работать в трёх режимах: · реальном; · виртуальном; · защищённом. Реальный режим. В первых IBM PC использовался процессор i8086, который мог использовать 16-разрядные внутренние регистры, выполнять 16-разрядные команды и адресовать 1 Мбайт (220 байт) памяти, используя 20 разрядов для адреса. Всё программное обеспечение разрабатывалось с учётом этих аппаратных особенностей. Последующие процессоры, начиная с i80286, имеют увеличенную ширину адресной шины (24, 32 и 64 разряда) и 32-х (64) - разрядные внутренние регистры, но все они обязаны поддерживать данный режим, т.е. использовать только 16-разрядные команды и 20 разрядные адреса. В реальном режиме все особенности, которые были добавлены к процессорам со времён системы 8088, отключаются и PentiumII работает как простой компьютер 8088. Для программного обеспечения этого типа обычно используется однозадачный режим (одновременно может выполняться только одна задача), нет встроенной защиты памяти (при выполнении нескольких задач одна программа может испортить код или данные другой программы). Если программа совершает ошибку, то происходит полный отказ системы. В реальном режиме вся основная память (ОП) делится на сегменты (длина сегмента - 64 Кбайта). Адрес ОП разделяется на две части: номер сегмента в ОП (база сегмента) и номер ячейки внутри данного сегмента (смещение относительно начала сегмента). Базовый адрес сегмента образуется добавлением к номеру сегмента справа четырех нулей. Поскольку последние четыре разряда абсолютного (физического) адреса сегмента всегда нулевые, то они отбрасываются, при этом сегмент может начинаться не с любой ячейки ОП, а только с «параграфа» - начала 16-байтного блока ОП. Номер ячейки внутри сегмента (смещение) называется также исполнительным адресом. В большинстве случаев в адресной части команды указывается именно исполнительный адрес - номер сегмента чаще всего подразумевается по умолчанию. Однако допускается указание и полного адреса ОП в виде префиксной структуры: «сегмент: смещение». Если сегмент в команде не указывается, значит, работа ведется внутри текущего сегмента (характер выполняемой работы и какой из сегментных регистров определяет текущую базу сегмента, зависят от вида выполняемой команды). Номер сегмента так же, как и смещение, имеет длину 2 байта. При вычислении физического адреса ОП сегмент и смещение суммируются, но сегмент перед суммированием сдвигается влево на 4 бита. В результате суммирования образуется физический адрес ОП длиной 20 бит. Виртуальный режим. На следующей ступени находится виртуальный режим 8086, который делает возможным выполнение старых программ, написанных для 8088, с защитой. Чтобы запустить старую программу 8088, операционная система создаёт специальную изолированную среду, которая работает как процессор 8088, за исключением того, что если программа даёт сбой, операционной системе передается соответствующая информация и полного отказа системы не происходит. Когда пользователь WINDOWS начинает работу с MS-DOS, то программа, которая действует там, запускает в виртуальном режиме 8086, чтобы программа WINDOWS не могла вмешаться в программы MS-DOS. Механизм страничной виртуальной памяти позволяет разместить часть оперативной памяти на диске. При этом размер виртуальной памяти, предоставляемый программам, ограничивается размером свободной памяти на диске. Защищённый режим. Начиная с процессора 80286, появляется возможность работать в защищённом режиме, имеется аппаратная поддержка многозадачных операционных систем, значительно ускоряющая и упрощающая процесс переключения задач. Это поддержка активно используется всеми мультизадачными операционными системами и оболочками, разработанными для компьютера IBM PC. Для увеличения адресного пространства до 16 Мбайт в процессоре 80286 пришлось добавить ещё 4 адресные линии (24) и линии управления для них. Новый метод адресации позволил изолировать адресные пространства отдельных задач друг от друга. При этом прикладная программа, работающая в среде операционной системы, не может случайно или намерено разрушить целостность самой операционной системы. В защищённом режиме программа может записывать данные только в те области, которые выделены ей операционной системой. Процессоры 80386 и выше имеют 32- разрядные регистры, число адресных линий увеличено до 32(4 Гбайт), в них реализована концепция страничной виртуальной памяти, возможной только в защищённом режиме. В этом режиме доступны 4 уровня привилегий, которые управляются битами во флаговом регистре. Уровень 0 соответствует привилегированному режиму на других компьютерах и имеет полный доступ к машине. Этот уровень используется операционной системой. Уровень 3 предназначен для пользовательских программ. Он блокирует доступ к определённым командам и регистрам управления, чтобы ошибки какой-нибудь пользовательской программы не привели к поломке всей машины. Уровни 1 и 2 используются редко. Pentium II имеет огромное адресное пространство. Память разделена на 16384 сегмента, каждый из которых идёт от адреса 0 до адреса 232-1. Однако большинство операционных систем (включая UNIX и все версии WINDOWS) поддерживают только один сегмент, поэтому большинство прикладных программ видят линейное адресное пространство в 232 байтов, а иногда часть этого пространства занимает сама операционная система. Каждый байт в адресном пространстве имеет свой адрес. Слова состоят из 32 битов. Байты нумеруются справа налево, то есть самый первый адрес соответствует младшему байту. В защищенном режиме базовые адреса сегментов хранятся в дескрипторных таблицах и имеют длину 24 или 32 бита (в зависимости от типа МП). В сегментных же регистрах хранится селектор, содержащий номер дескрипторной таблицы и дескрипторное смещение, т.е. порядковый номер дескриптора (в котором и хранится базовый адрес сегмента) в данной дескрипторной таблице. 2.6.6. Компьютерные шины. Характеристики шин. · Шина – набор параллельно соединенных проводов для связи компонентов компьютера, по которым передаются адреса, данные и сигналы. Шины можно разделить на две группы в соответствии с выполняемыми функциями: · внутренние - используются для передачи данных в АЛУ и из АЛУ; · внешние - связывают процессор с памятью и УВВы.
Первые ПК имели одну внешнюю шину, которая называлась системной шиной. Она состояла из нескольких медных проводов (от 50 до 100), которые встраивались в материнскую плату. На материнской плате находились разъемы на одинаковом расстоянии друг от друга для микросхем памяти и УВВы. Современные ПК обычно содержат специальную шину между центральным процессором и памятью и, по крайней мере, ещё одну шину для УВВы (рис. 2.28). Часть шин скрыта внутри интегральной схемы или доступна только в пределах печатной платы. Некоторые шины имеют выходы, доступные для подключения дополнительных устройств (гнезда подключения соответствуют определенным стандартам для возможности подсоединения к шине устройств различных производителей). На схемах шины изображают в виде широких стрелок, указывая тем самым, что информация передается одновременно по параллельным проводам. Английский эквивалент термина «шина» - «bus» восходит к латинскому слову omnibus, означающему «для всего»[8]. Этим стремятся подчеркнуть, что шина является магистралью, способной обеспечить всевозможные виды трафика. Упрощенно шину можно представить как совокупность сигнальных линий, объединенных по их назначению (данные, адреса, управление). Каждая линия способна передавать сигналы, представляющие двоичные цифры 1 и 0. При совместном использовании несколько линий могут обеспечить одновременную (параллельную) передачу двоичных чисел. Физически линии шины реализуются в виде отдельных проводников, как полоски проводящего материала на монтажной плате либо как алюминиевые или медные проводящие дорожки на кристалле микросхемы. Операции на шине называются транзакциями. Шинная транзакция состоит из двух частей: посылку адреса и прием (или посылку) данных. Устройство, инициировавшее обмен и управляющее им, называют ведущим (bus master). Устройство, необладающее свойством инициирования транзакции, называется ведомым. Шины характеризуются следующими основными параметрами: 1. Ширина шины - количество адресных и управляющих линий в шине. Ширина шины адреса определяет максимально возможный размер адресного пространства. Чем больше адресных линий, тем к большему объёму памяти может обращаться процессор. Если шина содержит n адресных линий, тогда процессор может использовать её для обращения к 2n различным ячейкам памяти. Для памяти большой ёмкости необходимо много адресных линий. Чем больше ширина шины, тем больше требуется проводов и физического пространства (разъёмы большего размера). Ширина шины данных определяет количество битов информации, которое может быть передано по шине за одну транзакцию (цикл шины). Типовая ширина шины данных 32, 64 или 128 бит, т.е. кратная целому числу байтов. 2. Синхронизация шин. Синхронная шина содержит линию, которая запускается кварцевым генератором. Синхронная передача быстрая. Синхронные протоколы требуют меньше сигнальных линий, проще для реализации и тестирования, но привязаны к конкретной максимальной тактовой частоте и из-за проблемы перекоса синхросигналов не могут быть длинными. По синхронному протоколу обычно работают шины «процессор-память». Недостатком синхронной шины можно считать то, что если шина соединяет ряд устройств, работающих с разной скоростью, то шина подстраивается под самое медленное устройство и более быстрые не могут использовать свой полный потенциал. Асинхронная шина не содержит задающего генератора. Начало очередного события на шине определяется не тактовым импульсом, а предшествующим событием и следует непосредственно за этим событием. Каждая совокупность сигналов, помещаемых на шину, сопровождается соответствующим синхронизирующим сигналом, называемым стробом. Скорость асинхронной пересылки данных диктуется ведомым. Асинхронные протоколы по своей сути являются самосинхронизирующимися, поэтому шину могут совместно использовать устройства с различным быстродействием, построенные на базе старых или новых технологий. Шины ввода/вывода обычно реализуются как асинхронные. 3. Арбитраж шин – определение порядка обработки прерываний от микросхем ввода/вывода, центрального процессора. 4. Принципы работы шины. Шины могут работать с использованием нескольких типов циклов работы. Обычно задающее устройство (обычно центральный процессор) считывает информацию из подчиненного устройства (обычно из памяти) или записывает в него информацию, при этом за раз передаётся одно слово. При использовании кэш-памяти вызывается вся строка КЭШа (16последовательных 32-битных слов), появляются новые дополнительные сигналы. Другим важным циклом является цикл обработки прерываний (работа с контроллером прерываний), когда при работе с устройствами ввода-вывода центральный процессор ожидает прерывания после завершения работы. Существуют чёткие правила работы шины – протокол шины, а также технические требования на платы, выпускаемые различными производителями 2.6.7. Типы шин Системные шины. Локальные шины По целевому назначению шины подразделяются на три группы: · шины «процессор-память»; · шины ввода/вывода; · системные шины. Шина «процессор-память» обеспечивает непосредственную связь между центральным процессором и основной памятью. Эту шину часто называют шиной переднего плана FSB (Front-Side Bus). Интенсивный обмен информацией между процессором и памятью требует, чтобы полоса пропускания шины (количество информации, походящей по шине в единицу времени) была наибольшей. Роль этой шины иногда выполняет системная шина, но выгоднее, если обмен между ЦП и ОП ведется по отдельной шине. Для связи процессора с кэш-памятью второго уровня используется шина заднего плана – BSB (Back-Side Bus), позволяющая вести обмен с большей скоростью, чем FSB. Шина ввода/вывода служит для соединения процессора (памяти) с устройствами ввода/вывода (УВВ). Ввиду разнообразия таких устройств шины ввода/вывода унифицируются и стандартизируются. Связи с большинством УВВ (кроме видеосистем) не требуют от шины высокой пропускной способности, учитывается стоимость конструктива и соединительных разъемов. В шинах используется меньше линий, длина линий может быть весьма большой.
Системная шина служит для физического и логического объединения всех устройств вычислительной машины. Основные устройства машины, как правило, размещаются на одной монтажной плате. Системная шина состоит из нескольких сотен линий, которые можно подразделить на три функциональные группы (рис. 2.29): шину адреса, шину данных и шину управления. Для передачи данных от одного модуля к другому модуль должен получить в свое распоряжение шину и передать по ней данные. Для получения модулем данных от другого модуля он должен получить доступ к шине, с помощью соответствующих линий управления и адреса передать в другой модуль запрос, ожидать данных от запрашиваемого модуля. Физически системная шина представляет собой совокупность параллельных электрических проводников (металлические полоски на печатной плате). Шина подводится ко всем модулям, каждый из них подсоединяется ко всем или некоторым ее линиям. Если ВМ конструктивно выполнена на нескольких платах, то все линии шины выводятся на разъемы, объединяемые проводниками на общем шасси. Среди стандартизованных системных шин универсальных ВМ наиболее известны шины Unibus, Fastbus, Futurebus, VME, NuBus, Multibus-II. Персональные компьютеры, как правило, строятся на основе системной шины в стандартах ISA, EISA или MCA. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.) |