Сочинение. ЛАБОРАТОРНАЯ РАБОТА 1. Устройство ПК. Лабораторная работа 1 Устройство персонального компьютера Таганрог 2015
Скачать 0.58 Mb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет» Лабораторная работа № 1 Устройство персонального компьютера Таганрог 2015 1.1. Цель работы Приобретение навыков работы с аппаратной конфигурацией персонального компьютера (ПК), освоение основных узлов ПК. Ознакомление с организацией внутренних устройств ПК. В настоящей работе студенты изучают системный блок ПК и составляют отчет об его устройстве. 1.2. Лабораторное задание Рассмотреть конфигурацию любого ПК. Составить отчет, включающий характеристики основных устройств данного ПК, а именно: 1) система BIOS. Назначение и ее настройки; 2) параметры системной шины; 3) процессор; 4) оперативная память; 5) видеоадаптер; 6) шинные интерфейсы; 7) интерфейсы подключения жестких дисков; 8) дополнительные внешние интерфейсы. 2. Теоретические сведения Материнская плата Материнская плата — основная плата персонального компьютера, на которой размещаются: процессор — основная микросхема, выполняющая большинство математических и логических операций; микропроцессорный комплект (чипсет) — набор микросхем, управляющих работой внутренних устройств компьютера и определяющих основные функциональные возможности материнской платы; шины — наборы проводников, по которым происходит обмен сигналами между внутренними устройствами компьютера; оперативная память или оперативное запоминающее устройство (ОЗУ) — набор микросхем, предназначенных для временного хранения данных, когда компьютер включен; постоянное запоминающее устройство (ПЗУ) — микросхема, предназначенная для длительного хранения данных, в том числе и когда компьютер выключен; разъемы (слоты) для подключения дополнительных устройств, в которые вставляются выполненные в виде отдельных плат, например, видеоадаптер, различные контроллеры, сетевой адаптер, звуковая карта и пр. У некоторых персональных компьютеров видеоадаптер, контроллеры и порты могут быть выполнены как части материнской платы. Системы, расположенные на материнской платеЧипсет Основные элементы компьютера: процессор, память, видеокарта и периферия, связаны между собой набором системной логики — «чипсетом». Чипсетом называются две микросхемы — «северный мост» и «южный мост». Мостами их стали называть, потому что они связывают различные устройства между собой, так же как мосты связывают два берега реки. На структурных схемах персональных компьютеров процессор традиционно расположен сверху, а периферия внизу. Связанный с процессором «северный мост» расположен «на севере», «южный мост», отвечающий за работу периферии, располагается внизу схемы. Мосты кроме цепей, связывающих отдельные элементы, могут содержать также и многочисленные контроллеры: контроллер памяти, контроллер дисков и т.п. Местоположение моста определяет степень его влияния на производительность компьютера в целом. «Северный мост» обеспечивает обмен данными между процессором, памятью, видеоадаптером и периферией. Качество разработки именно этого «моста» и определяет разницу в производительности компьютеров с одинаковыми процессорами. «Южный мост» только обеспечивает работу периферии. От него зависит, будет ли компьютер поддерживать работу жестких дисков в различных режимах UDMA133, Serial ATA или SAS, есть ли в компьютере шина USB 2.0 или USB 3.0, Firewire и т.п. Процессор Процессор компьютера — это большая интегральная микросхема. Все команды и данные процессор получает в виде электрических сигналов. Фактически процессор можно рассматривать как огромную совокупность достаточно простых электронных элементов — транзисторов. Транзистор имеет три вывода. На два крайних подается напряжение, необходимое для создание в транзисторе электрического тока, а на средний вывод — напряжение, с помощью которого можно управлять внутренним сопротивлением транзистора, а значит, управлять и током, и напряжением на его выводах. В электронике транзисторы имеют несколько применений. Их используют для создания усилителей, в электронных схемах, обладающих автоколебательными свойствами, и в электронных переключателях. Последний способ и применяется в цифровой вычислительной технике. В процессоре компьютера транзисторы сгруппированы в микроэлементы, называемые триггерами и вентилями. Триггеры имеют два устойчивых состояния (открыт — закрыт) и переключаются из одного состояния в другое электрическими сигналами. Этим устойчивым состояниям соответствуют математические понятия 0 или 1. Вентили немного сложнее — они могут иметь несколько входов (напряжение на выходе зависит от комбинаций напряжений на входах) и служат для простейших арифметических и логических операций. Команды, поступающие в процессор по его шинам, на самом деле являются электрическими сигналами, но и их тоже можно представить как совокупности нулей и единиц, то есть числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. Процессор — основная микросхема компьютера, в которой и производятся все вычисления. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют регистрами. Регистр — это, по существу, ячейка памяти внутри процессора; например, процессор может складывать числа, записанные в двух различных регистрах, а результат сохранять в третьем регистре. Разрядность регистра определяет количество разрядов обрабатываемых процессором данных. Разрядность регистра также определяет характеристики программного обеспечения и команд, выполняемых чипом. Вычислительная мощность современных процессоров для ПК в основном зависит от принятой архитектуры и технологических возможностей изготовления элементов (транзисторов, конденсаторов, резисторов) минимального размера. Архитектура процессоров ныне рассчитана на выполнение 32-разрядного или 64-разрядного программного кода. Есть варианты архитектуры, рассчитанные на выполнение как 32-разрядного, так и 64-разрядного кода. Архитектура центрального процессора Если абстрагироваться от технологических различий в реализации функций, архитектура современного процессора для ПК выглядит достаточно просто: блок управления регистры команд и данных арифметико-логические устройства (АЛУ) блок операций с действительными числами (FPU) буферная память (кэш) первого уровня (отдельно для команд и данных) буферная память (кэш) второго уровня иногда буферная память (кэш) третьего уровня иногда контроллер оперативной памяти интерфейс системной шины. Для ускорения работы процессора используют ряд архитектурных решений, к основным из которых относятся: конвейерное выполнение операций, предсказание (трассировка) дальнейшего хода программы, параллельное исполнение инструкций и многопоточность. Конвейер операций. Операции выборки из оперативной памяти являются самыми медленными, поэтому выборка команд и данных происходит заранее (с упреждением). Буфер выборки с упреждением обычно служит первым блоком конвейера операций. На второй стадии декодируется поступившая команда и определяются состав и тип операндов. На третьей стадии данные вызываются из регистров. На четвертой стадии операнды обрабатываются в тракте данных (включающем АЛУ). На пятой стадии данные записываются обратно в регистр. Все стадии работают параллельно, в результате во время каждого цикла завершается выполнение одной новой команды. Впервые конвейер появился в процессорах Intel 80486. Конвейер операций за счет упрощения отдельных блоков способен быстрее выполнять операции, чем сложное АЛУ. Меньшее число элементов позволяет быстрее переходить из одного состояния в другое. Чем длиннее конвейер, тем выше частотный потенциал процессора. Архитектура процессора Intel Pentium 4 (Celeron) предусматривает конвейер длиной 20 стадий, а конвейер процессора AMD Athlon XP (Duron) реализует 12 стадий. Очевидно, что более длинный конвейер Pentium 4 при прочих равных условиях обеспечивает преимущество над Athlon XP по максимальной рабочей частоте. Для обеспечения непрерывной работы конвейера необходимо снабжать его непрерывным потоком команд и данных. Однако код программ не может содержать только непрерывные последовательности инструкций. В программах часто встречается ветвление алгоритма. Механизм предсказания ветвлений. Единственной возможностью обеспечить непрерывность работы конвейера остается выполнение инструкций, на которое указывает команда перехода, размещения дальше, хотя адрес перехода еще неизвестен (механизм предсказания ветвлений). Архитектура блоков изменения последовательности вычислений и предсказания ветвлений является одной из самых сложных и ответственных в общей архитектуре процессора. В случае ошибки в предсказании приходится очищать весь конвейер и начинать работу заново, что негативно сказывается на производительности. Параллельное исполнение инструкций. Если архитектурой процессора предусмотрено более одного конвейера, ее называют скалярной. Такая архитектура была впервые реализована в процессорах Intel Pentium (два конвейера из пяти стадий каждый). В настоящее время применяют суперскалярную архитектуру, которая предусматривает один конвейер, включающий на одной из стадий несколько параллельных исполнительных блоков. Суперскалярную архитектуру ныне имеют практически все современные процессоры, а первенцем был Intel Pentium II. Многопоточность. Понятие «многопоточность» получило известность благодаря внедрению технологии Hyper Threading в процессорах Intel Pentium 4 (начиная с модификации на ядре Northwood) для настольных систем. Технология предусматривает одновременное исполнение двух потоков (нитей, по терминологии Intel) программы на одном процессоре. Для этого используют особенности архитектуры Pentium 4, имеющей длинный основной конвейер и несколько отдельных исполнительных блоков: для операций над данными с плавающей точкой, для инструкций обработки мультимедийных данных (MMX) и так далее. Пока основной конвейер занят выполнением одного потока программы, другие блоки можно занять выполнением другого потока. Для этого часть регистров процессора выделена отдельно, что с точки зрения операционной системы (ОС) выглядит как второй, независимый процессор. Тем самым программы, написанные в расчете на многопроцессорные системы, будут выполняться быстрее на однопроцессорной, но многопоточной системе. По результатам тестов независимых экспертов технология Hyper Threading дает прирост производительности на реальных (на оптимизированных) задачах 1-3%. На специально оптимизированных приложениях ускорение достигает 30%. Расширенные системы команд. Изготовители процессоров пытаются повысить привлекательность своей продукции для разработчиков программ и пользователей за счет внедрения блоков аппаратного выполнения специализированных инструкций. Эти инструкции обычно ориентированы на обработку мультимедийных данных. Первой ввела расширенный набор команд MMX (Multi Media eXtensions) корпорация Intel в своем процессоре Pentium MMX. Компания AMD ответила внедрением в архитектуру процессоров K6-2 блока 3D Now!, который работал с командами, позволявшими распараллелить обработку однородных данных. В процессорах Pentium III появились блоки поддержки расширенного набора инструкций потоковой обработки SSE (Streaming SIMD Extensions), в процессорах Pentium 4 SSE2. В свою очередь, компания AMD предусмотрела поддержку SSE в процессорах Athlon XP и ввела расширенную систему команд 3D Now! Professional. Надо понимать, что польза от наличия в процессоре блоков MMX, SSE и тому подобных полностью зависит от поддержки таких инструкций в программах. Если при написании приложения расширенные системы команд не использовались, то все блоки их обработки в процессоре будут бездействовать. Объективное «расследование» показывает, что сегодня программным обеспечением в большей мере поддерживаются системы расширенных команд Intel (MMX, SSE, SSE2). По степени поддержки в программах инструкции 3D Now! И 3D Now! Professional компании AMD явно отстают. Организация кэш-памяти. Во всех процессорах, начиная с 486-го, имеется встроенный (первого уровня) кэш-контроллер с кэш-памятью. Буферная память (в англоязычной литературе именуется Cash), она же кэш — это быстродействующая память, предназначенная для временного хранения программного кода и данных. Обращения к встроенной кэш-памяти происходят без состояний ожидания, поскольку ее быстродействие соответствует возможностям процессора, т.е. кэш-память первого уровня (или встроенный кэш) работает на частоте процессора. Благодаря этому обмен данными с относительно медленной системной памятью значительно ускоряется. Процессору не нужно ждать, пока очередная порция программного кода или данных поступит из основной области памяти, а это приводит к ощутимому повышению производительности компьютера. При отсутствии кэш-памяти такие паузы возникали бы довольно часто. Инструкции и данные заранее помещаются в кэш-память в соответствии с командами блока предсказания процессора. Малый объем кэша позволяет практически мгновенно использовать хранящиеся в нем данные, а большой объем увеличивает вероятность нахождения в нем нужных данных. Поэтому кэш разделяют на две части: меньший по объему (обычно 8–128 Кбайт) первого уровня (Level 1, L1) и значительно больший (до 4 Мбайт) второго уровня (Level 2, L2). Если необходимые данные оказались в кэш-памяти, говорят о «попадании», в противном случае о «промахе». В современных процессорах вероятность попадания в кэш составляет 92–98%. Существуют прямая зависимость между общей величиной кэша (L1+L2) и производительностью процессора: при прочих равных параметрах процессор с большим кэшем работает эффективней. Роль кэша в увеличении производительности ярко демонстрирует появление процессора Pentium 4 Extreme Edition, в котором впервые применен кэш третьего уровня (Level 3) объемом 2 Мбайт. В сумме (L1+L2+L3) процессор оснащен кэш-памятью объемом 2,5 Мбайт. Такая архитектура позволила поднять производительность по сравнению с «обычным» процессором примерно 10–15%. В современных процессорах встроенный кэш играет еще более важную роль, потому что он часто является единственным типом памяти во всей системе, который может работать синхронно с процессором. Кэш-память второго уровня изначально работает на частоте системной платы. Для увеличения общей производительности, начиная с процессоров Celeron 300A, не используются внешние микросхемы кэш-памяти второго уровня. Эта память интегрирована с процессором и работает на той же частоте, что повышает производительность системы. В новых процессорах Athlon и Duron кэш-память второго уровня также интегрирована с ядром и работает на той же частоте. Такое конструктивное решение корпуса процессора повлекло за собой изменения разъема. Организация работы кэш-памяти Чтобы понять, как работает кэш, рассмотрим следующий пример. В простейшем случае кэш состоит из одного блока, в который можно загрузить содержимое соответствующего блока основной памяти. Это похоже на закладку, используемую для того, чтобы отметить нужную страницу в книге. Если основная память — это вся книга, то по закладке можно определить, какая страница находится в кэше. Но этого бывает достаточно только в том случае, если все необходимые данные находятся на странице, отмеченной закладкой. Если же вам нужно вернуться к одной из уже прочитанных страниц, то закладка будет бесполезной. Можно воспользоваться несколькими закладками (выписками), отмечая сразу несколько мест в книге. При этом, конечно, усложняется схема процессора, но зато можно проверить сразу несколько закладок. Каждая дополнительная закладка усложняет систему, но вероятность того, что нужная страница уже отмечена (выписана), повышается. Если ограничиться четырьмя отметками-выписками, то можно получить четырехстраничный кэш. Вся кэш-память разбивается на четыре блока, в каждом из которых хранятся копии различных фрагментов основной памяти. Хорошим примером работы процессора сразу с несколькими областями памяти является использование многозадачной операционной системы Windows. Здесь четырехстраничный кэш значительно повышает производительность процессора. Содержимое кэша всегда должно соответствовать содержимому основной памяти, чтобы процессор работал с самыми свежими данными. Поэтому в семействе процессоров 486 используется кэш со сквозной записью (write-through), при которой данные, записанные в кэш, автоматически записываются и в основную память. В процессорах Pentium используется двунаправленный кэш (write-back), который работает при выполнении как операций считывания, так и операций записи. Это позволяет еще больше повысить производительность процессора. Хотя встроенный кэш в процессоре 486 используется только при чтении, внешний кэш в системе может быть двунаправленным. Кроме того, в процессорах 486 предусмотрен дополнительный 4-байтовый буфер, в котором можно хранить данные вплоть до передачи в память. Это необходимо в том случае, если шина памяти занята. Одной из функций встроенного кэш-контроллера является отслеживание состояния системной шины при передаче управления шиной другому устройству. Если устройство, управляющее шиной, записывает что-либо в область памяти, копия которой хранится во встроенном кэше, содержимое кэша перестает соответствовать содержимому основной памяти. В этом случае кэш-контроллер отмечает эти данные как ошибочные и при следующем обращении процессора к памяти обновляет содержимое кэша, поддерживая целостность системы. Внешний кэш (второго уровня) представляет собой быстродействующую статическую память, которая также позволяет сократить время простоя процессора при обращениях к системной памяти. Внешний кэш работает так же, как и встроенный: он хранит информацию, передаваемую в процессор, сокращая потери на ожидание. Время выборки данных из микросхем внешнего кэша обычно не превышает 15 не, что значительно меньше, чем у основной памяти. Вторичный кэш для процессоров Pentium находится на системной плате, а для процессоров Pentium Pro и Pentium II — внутри корпуса процессора. Переместив вторичный кэш в процессор, можно заставить его работать с тактовой частотой, более высокой, чем у системной платы, — такой же, как и у самого процессора. При увеличении тактовой частоты время цикла уменьшается. Для большинства модулей памяти SIMM, используемых сегодня в Pentium и более ранних системах, время цикла должно быть не менее 60 не, что приблизительно соответствует тактовой частоте 16 МГц! На сегодняшний день стандартная тактовая частота системной платы равна 66, 100 или 133 МГц, но некоторые процессоры работают на тактовой частоте 600 МГц или выше. В более новых системах не используется кэш на системной плате, поскольку быстрые модули SDRAM или RDRAM, применяемые в современных системах Pentium II/Celeron/III, могут работать на тактовой частоте системной платы. Итак, два уровня кэша между быстрым центральным процессором и значительно более медленной оперативной памятью помогают сократить время ожидания, которое потребовалось бы процессору для считывания и записи данных в оперативную память. Именно благодаря кэш-памяти процессор может работать с быстродействием, приближенным к истинному. Алгоритм работы процессора. В самом общем виде алгоритм работы процессора можно представить следующим образом. Блок управления загружает из оперативной памяти инструкции и данные, помещая их в кэш второго уровня. Отсюда инструкции поступают в свой кэш первого уровня, а данные в свой. Из кэша первого уровня команды и данные помещаются в регистры. Арифметико-логическое устройство берет из регистров инструкцию (что надо выполнять) и данные (операнды) и выполняет над ними заданные операции. Результат помещается обратно в регистры. Если операция считается законченной, данные перемещаются в кэш первого уровня, затем второго и, наконец, записываются в оперативную память. Такая последовательность работы образует операционный поток процессора. В принципе, есть только два пути улучшать производительность процессоров — повышать частоту и число исполняемых инструкций за такт. Архитектура всех процессоров Intel до 5-го поколения была рассчитана на первый путь, но внедрение технологии Hyper Threading — это переход на второй путь. Появление этой технологии влечет несколько интересных следствий: изменяются программирование приложений, многопроцессорность в массовых системах, увеличивается производительность процессоров. Теоретически ее наличие делает возможной действительно параллельную работу операционной системы и приложений. Основные параметры процессоров Основными параметрами процессора, влияющими на его производительность, считаются: разрядность, рабочая частота, количество инструкций, исполняемых за один цикл (Instructions per Cycle, IPC), поддержка специальных команд, механизм кэширования инструкций и данных, возможности системной шины и шины памяти. Разрядность. Разрядность процессора (измеряется в двоичных разрядах) определяет максимальную длину слова, обрабатываемого за один такт, что прямо влияет на производительность. Кроме того, разрядность определяет и максимальный объем адресуемой памяти. Рабочая частота и длина конвейера. Рабочая частота выступает одним из ключевых параметров, определяющих производительность центрального процессора, но отнюдь не единственным. Недаром в любом серьезном соревновании процессорных архитектур представлены два принципиально различных подхода: один основан на наращивании рабочей частоты, а второй на исполнении максимального количества инструкций за один такт (IPC). В первом случае разработчик принимает все меры, чтобы заставить ядро процессора работать как можно быстрее. Такой подход называется «технологическим». В случае опоры на повышение IPC инженеры больше озабочены совершенствованием механизмов распараллеливания исполнения инструкций, внедрением глубокой предварительной выборки команд, многоступенчатого предсказания ветвлений кода и оснащением процессора другими «интеллектуальными» функциями. Сбалансированность процессора с другими компонентами Сам по себе процессор может быть сколь угодно мощным, но абсолютно бесполезным, если он не может эффективно взаимодействовать с другими компонентами компьютера. Внешняя производительность процессора (то есть скорость обмена данными с другими компонентами) во многом определяется возможностями системной шины и шины памяти. Системная шина связывает процессор с чипсетом материнской платы. По ней проходит весь поток обмена данными. В идеале пропускная способность шины и внутренняя производительность процессора должны совпадать. На практике это не так. Например, процессор Pentium 4 на частоте 3 ГГц обладает внутренней производительностью 12 Гбайт в секунду (3 ГГц умножить на разрядность 4 байта). При частоте 64-разрядной системной шины 533 МГц ее пиковая пропускная способность составляет 4,3 Гбайт/с. Разрыв в пропускной способности около 8 Гбайт/с негативно влияет на эффективность компьютерной системы. Поэтому разработчики стремятся поднять частоты системной шины. В частности, внедрение частот 800 МГц на системной шине позволило увеличить пропускную способность до 6,4 Гбайт/с. Инженеры компании AMD при разработке процессора Athlon 64 решили в качестве системной использовать последовательную шину Hyper Transport с пиковой пропускной способностью 12,8 Гбайт/с, что снизило остроту проблемы. Похожая ситуация складывается и с шиной памяти. Например, стандарты на память DDR SDRAM (40 МГц, 64 бит) обеспечивают пропускную способность шины 3,2 Гбайт/с на один канал. Двухканальные варианты (6,4 Гбайт/с) проблемы не снимают. Поэтому важным становится согласование рабочих частот шины памяти и системной шины, чтобы данные могли передаваться из памяти через чипсет в процессор, по меньшей мере, синхронно. В противном случае их требуется помещать на время ожидания в промежуточный буфер, что негативно сказывается на производительности. Таким образом, эффективным вариантом будет связка процессор — память, точно сбалансированная по рабочим частотам. Процессоры с расширенной и сокращенной системой команд. Чем шире набор системных команд процессора, тем сложнее его архитектура, тем длиннее формальная запись команды (в байтах), тем выше средняя продолжительность исполнения одной команды, измеренная в тактах работы процессора. Так, например, система команд процессоров Intel Pentium насчитывает более тысячи различных команд. Такие процессоры называют процессорами с расширенной системой команд — CISC-процессорами (CISC — Complex Instruction Set Computing). В противоположность CISC-процессорам в середине 80-х годов появились процессоры архитектуры RISC с сокращенной системой команд (RISC — Reduced Instruction Set Computing). При такой архитектуре количество команд в системе намного меньше, и каждая из них выполняется намного быстрее. Таким образом, программы, состоящие из простейших команд, выполняются этими процессорами много быстрее. Оборотная сторона сокращенного набора команд состоит в том, что сложные операции приходится эмулировать далеко не эффективной последовательностью простейших команд сокращенного набора. В результате конкуренции между двумя подходами к архитектуре процессоров сложилось следующее распределение их сфер применения: CISC-процессоры используют в универсальных вычислительных системах; RISC-процессоры используют в специализированных вычислительных системах или устройствах, ориентированных на выполнение единообразных операций. Для персональных компьютеров платформы IBM PC долгое время выпускались только CISC-процессоры, к которым относятся и все процессоры семейства Intel Pentium. Однако у компании AMD существуют процессоры, в основе которых лежит внутреннее ядро, выполненное по RISC-архитектуре, и внешняя структура, выполненная по архитектуре CISC. Таким образом, сегодня появились процессоры, совместимые по системе команд с процессорами х86, но имеющие гибридную архитектуру. RISC- и CISC-подходы к построению процессоров являются не столько взаимоисключающими, сколько разнонаправленными способами разработки оборудования. RISC-подход является следствием устранения избыточного и неэффективно используемого оборудования процессоров. Здесь применяется оптимизационный анализ структуры вычислительной системы. CISC-подход — это следствие решения задач математическими методами и получения скорейших решений. В последнем случае не учитывается относительно неэффективное использование оборудования. Режимы работы процессора Все процессоры ПК, начиная с 3-го поколения, могут работать в нескольких режимах. Режимы процессора предназначены для выполнения программ в различных средах. В разных режимах возможности чипа неодинаковы, потому что команды выполняются по-разному. В зависимости от режима процессора изменяется схема управления памятью системы и активными процессами. Процессоры могут работать в трех режимах: реальном, защищенном и виртуальном реальном режиме (реальном внутри защищенного). Реальный режим В первоначальном IBM PC использовался процессор 8088, который мог выполнять 16-разрядные команды, применяя 16-разрядные внутренние регистры, а адресовать только 1 Мбайт памяти, используя 20 разрядов для адреса. Все программное обеспечение PC первоначально было предназначено для этого процессора; оно было разработано на основе 16-разрядной системы команд и модели памяти объемом 1 Мбайт. Например, операционные системы DOS и Windows 3.x и все приложения для них написаны были в расчете на 16-разрядные команды. Эти 16-разрядные операционные системы и приложения были разработаны для выполнения на первоначальном процессоре 8088. Более поздние процессоры, например 286, могли также выполнять те же самые 16-разрядные команды, что и первоначальный 8088, но намного быстрее. Другими словами, процессор 286 был полностью совместим с первоначальным 8088 и мог выполнять все 16-разрядные программы точно так же, как 8088, но, конечно же, значительно быстрее. Шестнадцатиразрядный режим, в котором выполнялись команды процессоров 8088 и 286, был назван реальным режимом. Все программы, выполняющиеся в реальном режиме, должны использовать только 16-разрядные команды, 20-разрядные адреса и поддерживаться архитектурой памяти, рассчитанной на емкость до 1 Мбайта. Для программного обеспечения этого типа обычно используется однозадачный режим, т.е. одновременно может выполняться только одна программа. Нет никакой встроенной защиты для предотвращения перезаписи ячеек памяти одной программы или даже операционной системы другой программой; это означает, что при выполнении нескольких программ вполне могут быть испорчены данные или код одной из них, а это может привести всю систему к краху (или останову). В современных процессорах этот режим используется при начальной загрузке и отработке программ системы ввода-вывода (BIOS). Защищенный режим Первым 32-разрядным процессором, предназначенным для персональных компьютеров, был 386-й. Этот чип мог выполнять абсолютно новую 32-разрядную систему команд. Чтобы полностью использовать преимущество 32-разрядной системы команд, были необходимы 32-разрядная операционная система и 32-разрядные приложения. Этот новый режим назывался защищенным, так как выполняющиеся в нем программы защищены от перезаписи своих областей памяти другими программами. Такая защита делает систему более надежной, поскольку ни одна программа с ошибками уже не сможет так легко повредить другие программы или операционную систему. Кроме того, программу, «потерпевшую крах», можно довольно просто завершить без ущерба для всей системы. Зная, что разработка новых операционных систем и приложений, использующих преимущества 32-разрядного защищенного режима, займет некоторое время, Intel предусмотрела в процессоре 386 обратно совместимый реальный режим. Благодаря этому процессор 386 мог выполнять немодифицированные 16-разрядные операционные системы и приложения. Причем они выполнялись намного быстрее, чем на любом процессоре предыдущего поколения. Для большинства пользователей этого было достаточно; им не требовалось все 32-разрядное программное обеспечение — достаточно было того, чтобы имевшиеся у них 16-разрядные программы работали быстрее. К сожалению, из-за этого процессор никогда не работал в 32-разрядном защищенном режиме, и все возможности такого режима не использовались, поскольку на тот период времени Microsoft мог предоставить только операционную систему DOS. Первой полностью 32-разрядной операционной системой от Microsoft стала ОС Windows NT. Она развивалась параллельно с другой более популярной среди пользователей линейкой ОС, называемой Windows 9х. Эта система была частично 32-х разрядная и 16-ти разрядная. Некоторые пользователи поначалу сопротивлялись всяческим попыткам перехода к полностью 32-разрядной среде. Из-за этого сопротивления 32-разрядные операционные системы типа UNIX, OS/2 и Windows NT вначале очень вяло продвигались на рынке ПК. Из всех перечисленных систем только Windows NT, вероятно, была близка к коммерческому успеху, да и то благодаря огромной популярности семейства операционных систем Windows 9x. В Microsoft поняли, насколько упрямы пользователи компьютеров, и разработали Windows 95 как промежуточную систему для перехода в 32-разрядный мир. Windows 95 — в основном 32-разрядная операционная система, но в ней можно выполнять старые 16-разрядные приложения. Windows 95 появилась в августе 1995 года, т.е. через 10 лет после появления первого 32-разрядного процессора для ПК. Потребовалось «всего лишь» 10 лет, чтобы внедрить программное обеспечение, которое может полностью использовать процессоры. Виртуальный реальный режим Для обратной совместимости 32-разрядная система Windows 9x использует третий режим в процессоре — виртуальный реальный режим. Виртуальный реальный, по существу, является режимом выполнения 16-разрядной среды (реальный режим), которое реализовано внутри 32-разрядного защищенного режима (т.е. виртуально, а не реально). Выполняя команды в окне подсказки DOS внутри Windows 95/98, вы создаете виртуальный сеанс реального режима. Поскольку защищенный режим является подлинно многозадачным, фактически можно выполнять несколько сеансов реального режима, причем в каждом сеансе собственное программное обеспечение выполняется на виртуальном компьютере. И все эти приложения могут выполняться одновременно, даже во время выполнения других 32-разрядных программ. Итоги Все ОС могут использовать все режимы работы процессора. Все процессоры Intel (а также Intel-совместимые AMD и Cyrix) при включении питания начинают работать в реальном режиме. При загрузке 32-разрядная или 64-разрядная операционная система автоматически переключает процессор в защищенный режим и управляет им. Есть еще одно исключение — первые 64 Кбайт дополнительной памяти в реальном режиме доступны программам. Это результат ошибки в первом компьютере IBM AT, связанной с 21-й линией адреса памяти (A20, поскольку A0 — первая строка адреса). Управляя сигналом на линии A20, программное обеспечение реального режима может получать доступ к первым 64 Кбайт дополнительной памяти — это первые 64 Кбайт памяти, следующие за первым мегабайтом. Эта область памяти называется областью верхних адресов памяти (high memory area — HMA). |