Формирование физического адреса в универсальном микропроцессоре при различных режимах работы. Поиск альтернативы транзисторам

Микропроцессор 80386 является полной 32-разрядной версией предыдущих 16-разрядных микропроцессоров 8086/80286 и символизирует значительное достижение в архитектуре процессоров - поворот от 16-разрядной к 32-разрядной архитектуре. Наряду с увеличением разрядности имеется также много усовершенствований и дополнительных функций. Микропроцессор 80386 обеспечивает: переключение задач, более совершенное управление памятью, управление виртуальной памятью со страничной трансляцией адресов (paging) или без нее, защиту программного обеспечения и возможность использования запоминающей системы большой емкости. Все программное обеспечение, написанное для прежних микропроцессоров 8086/8088 и 80286 совместимо снизу вверх и для микропроцессора 80386. Объем адресуемой памяти процессором увеличился с 1 Мбайта (для микропроцессора 8086/8088) или 16 Мбайт (для микропроцессора 80286) до 4 Гбайт, доступных процессору 80386 в защищенном режиме. Микропроцессор 80386 может переходить из защищенного режима работы в реальный режим без аппаратного сброса микропроцессора, который требует значительных затрат времени и был необходим в случае использования процессора 80286.

Микропроцессор 80486 является улучшенной версией микропроцессора 80386 и выполняет многие его команды за один период тактовых импульсов. Микропроцессор 80486 также имеет внутренний кэш первого уровня емкостью на 8 Кбайт и встроенный высокопроизводительный математический сопроцессор, программно совместимый с сопроцессором 80387. Следует отметить, что процессор 80486DX4 имеет кэш-память емкостью 16 Кбайт. Микропроцессор 80486, работая на такой же тактовой частоте, что и микропроцессор 80386, является на 50% более производительным.

Микропроцессор 80386

Наиболее распространены были две версии микропроцессора 80386: процессор 80386DX, и упрощенный процессор 80386SX с внешней 16-разрядной шиной данных, хотя внутри он использовал 32-разрядную шину.

Процессор 80386DX был помещен в 132-контактный корпус типа PGA (pin grid array), т. е. корпус с матричным расположением штырьковых вы­водов. Более новая версия микропроцессора 80386 - 80386ЕХ содержит в себе: блок управления шиной АТ, блок управления регенерацией динамического ОЗУ, программируемый блок выбора кристалла, контроллер прерываний, контроллер DMA, блок таймеров, блок последовательной передачи данных, 26 выводов шины адреса, 16 выводов шины данных.

Микропроцессор 80386DX, имея 32-разрядную шину данных и 32-разрядную шину адреса, способен адресовать 4 Гбайта физической памяти. Микропроцессор 80386SX, подобно микропроцессору 80286, адресует 16 Мбайт памяти и имеет в своем распоряжении только 24-разрядную шину адреса и 16-разрядную шину данных. Микропроцессор 80386SX был разработан после микропроцессора 80386DX для использования, не требующего полной версии 32-разрядной шины. Микропроцессор 80386SX применялся во многих персональных компьютерах, которые использовали ту же самую системную плату, что и для микропроцессора 80286. В то время, когда большинству приложений, включая Windows, требовалось менее 16 Мбайт памяти, процессор 80386SX был популярной и менее дорогостоящей версией микропроцессора 80386. В дальнейшем, несмотря на то, что процессор 80486 становился все более дешевым для построения новых вычислительных систем, все равно процессор 80386 долгое время оставался востребованным для многих приложений. Например, микропроцессор 80386ЕХ, хотя в персональных компьютерах и не исполь­зовался, но был очень популярен во встраиваемых системах.

Микропроцессору 80386, как и предыдущим версиям семейства микропроцессоров Intel, для работы требуется только один источник питания напряжением +5,0 В. Средний ток потребления процессором 80386 составляет: 550 мА для процессора, работающего на тактовой частоте 25 МГц, 500 мА для процессора с частотой 20 МГц и 450 мА для процессора, работающего на частоте 16 МГц. Кроме того, имелась версия процессора с тактовой частотой 33 МГц, который имел ток потребления, равный 600 мА. Ток потребления микропроцессора 80386ЕХ составляет 320 мА при работе на частоте 33 МГц.

Ток потребления процессора во время некоторых режимов его работы может возрастать до 1,0 А. Это означает, что источник питания и схема разводки питания должны быть рассчитаны на эти всплески тока. Процессор имеет многочисленные выводы V CC и V SS , которые для правильной работы микропроцес­сора должны быть все подключены к источнику постоянного тока с напряжением +5,0 В (V CC) и заземлены (V SS). Некоторые выводы процессора обозначены как N/C (no connection) и не должны быть куда-либо подключены. Помимо названных, были и несколько другие версии микропроцессоров 80386SX и 80386ЕХ, имеющие пониженное напряжение питания +3,3 В. Эти процессоры применялись в портативных блокнотных компьютерах (notebook) или портативных компьютерах (laptop).

Система памяти

Система физической памяти, к которой микропроцессор 80386DX может обращаться, имеет емкость 4 Гбайт. Кроме того, процессор имеет поддержку виртуальной памяти объемом до 64 Тбайт, отображаемой на физическую память с помощью блока управления памятью и дескрипторов. Следует заметить, что виртуальная адресация позволяет использовать программу более 4 Гбайт при наличии метода свопинга (swapping) и при большой емкости винчестера. На рис. 6.4 показана организация системы физической памяти микропроцессора 80386DX.

Память разделена на четыре 8-разрядных банка памяти, с емкостью до 1 Гбайт в каждом. Такая 32-разрядная организация памяти позволяет иметь доступ к байту, слову или двойному слову. Микропроцессор 80386DX способен передать 32-разрядные данные за один цикл памяти, тогда как для этого микропроцессору 8088 требовалось четыре цикла, а микропроцессорам 80286 и 80386SX необходимо два цикла. Большая разрядность данных очень важна, особенно для чисел с плавающей точкой одинарной точности, которые занимают 32 разряда. Достаточно развитое программное обеспечение использует числа с плавающей точкой для хранения данных, поэтому 32-разрядные ячейки памяти ускоряют выполнение программы, если она написана с учетом разрядности памяти.

Адрес каждого байта памяти представляется в шестнадцатеричной системе счисления, как и для прежних версий процессоров. Разница состоит в том, что микропроцессор 80386DX использует 32-разрядную шину адреса с памятью, адресуемой в диапазоне 00000000H-FFFFFFFFH.

Доступ к двум банкам памяти в системе, построенной на микропроцессорах 8086, 80286 и 80386SX, осуществляется посредством сигналов BLE (А0 - на 8086 и 80286) и ВНЕ. Доступ к банкам памяти микропроцессор 80386DX выполняет с помощью четырех сигналов ВЕ3 - BE0 . Такая организация памяти позволяет получить доступ к одному байту при активизации микропроцессором одного разрешающего сигнала.

При активизации двух разрешающих сигналов процессор адресуется к слову. В большинстве случаев при адресации к слову осуществляется обращение к банку 0 и 1 или к банку 2 и 3. Ячейка памяти 00000000Н находится в банке 0, ячейка 00000001Н - в банке 1, ячейка 00000002Н - в банке 2 и ячейка 00000003 - в банке 3. Микропроцессор 80386DX не имеет адресных выводов А0 и A1, поскольку они дешифрируются внутри процессора как сигналы разрешения байтов. Аналогично в 16-разрядном микропроцессоре 80386SX нет адресного вывода А0, поскольку он дешифрируется в сигналы BLE и ВНЕ. Микропроцессор 80386ЕХ адресуется к слову данных, размещаемому в двух банках 16-разрядной системы памяти, при пассивном сигнале BS8 (высоком логическом его уровне) или же к байту в 8-разрядной системе при активизации этого сигнала.

Управляющие регистры

В микропроцессоре 80386, дополнительно к регистру флагов EFLAGS и указателю инструкций EIP, имеются и другие управляющие регистры. Управляющий регистр CR0 (control register) идентичен регистру состояния машины MSW (machine status word) микропроцессора 80286, за исключением того, что он 32-разрядный, а не 16-разрядный регистр. Дополнительными управляющими регистрами являются CR1, CR2 и CR3.

На рис. 6.5. показана структура управляющих регистров микропроцессора 80386.

Управляющий регистр CR1 в микропроцессоре 80386 не используется, однако зарезервирован для будущих изделий. Управляющий регистр CR2 фиксирует линейный адрес, по которому был получен последний отказ страницы памяти. Наконец, управляющий регистр CR3 фиксирует базовый адрес таблицы страниц. Младшие 12 разрядов с 0 по 11 из 32-разрядного регистра содержат нули и объединяются с остальными разрядами регистра, чтобы определить начало таблицы страниц размером 4К.

Регистр CR0 имеет ряд специальных управляющих битов, которые в микропроцессоре 80386 определяются следующим образом:

Бит PG (paging enable) предназначен для выбора преобразования таблицы стра­ниц из линейных адресов в физические адреса при PG = 1. Страничная переадресация памяти позволяет присваивать линейному адресу любую физическую ячейку памяти.

ЕТ

Бит ЕТ (extension type) является индикатором поддержки инструкций математического сопроцессора. Если ЕТ - 0, то выбран сопроцессор 80287, а если ЕТ = 1, то сопроцессор 80387. Этот бит был добавлен, чтобы отражать то обстоятельство, что в данной системе имеется сопроцессор 80387.

Бит TS (task switch) указывает, что микропроцессор выполнил переключение задач (изменение содержимого регистра задачи TR в защищенном режиме устанавливает бит TS). Если бит TS установлен, то команда цифрового сопроцессора приводит к прерыванию типа 7 (сопроцессор недоступен).

ЕМ

Бит ЕМ (emulate coprocessor) устанавливается для вызова прерывания типа 7 при попытке выполнения каждой ESC-команды, т. е. команды, относящейся к сопроцессору. Это часто используется для программной эмуляции сопроцессора. Эмуляция снижает стоимость системы, но для выполнения эмулированных команд сопроцессора часто требуется больше времени, примерно где-то в 100 раз.

Бит MP (monitor coprocessor) устанавливается для вызова прерывания типа 7 при выполнении каждой команды wait, когда установлен бит TS.

РЕ

Бит РЕ (protection enable) устанавливается, чтобы перевести микропроцессор 80386 в защищенный режим. Он может также сбрасываться, чтобы начать довольно длинную последовательность инструкций переключения в реальный режим работы. В микропроцессоре 80286 этот бит может только устанавливаться. Микропроцессор 80286 не способен переходить обратно в реальный режим работы без выполнения аппаратного сброса, что исключает его использование в большинстве систем, использующих защищенный режим.

Дескрипторы и селекторы

Перед тем как перейти к обсуждению блока страничной трансляции адресов, рассмотрим дескрипторы и селекторы микропроцессора 80386. Микропроцессор 80386 использует дескрипторы во многом таким же образом, как и микропроцессор 80286. Дескриптор в обоих микропроцессорах - это последовательность из восьми байтов, которая содержит информацию о сегменте памяти и о его расположении. Селектор (содержимое сегментного регистра) используется для идентификации дескриптора, заданного в таблице дескрипторов. Основное отличие между микропроцессорами 80286 и 80386 состоит в том, что последний имеет два дополнительных селектора (FS и GS), и для микропроцессора 80386 определены два самых старших байта дескриптора. Другое отличие состоит в том, что дескрипторы микропроцессора 80386 используют 32-разрядный базовый адрес сегмента и 20-разрядное поле предела (limit) сегмента вместо 24-разрядного базового адреса и 16-разрядного поля предела сегмента, имеющихся в микропроцессоре 80286.

Микропроцессор 80286 адресуется к области памяти размером 16 Мбайт за счет своего 24-разрядного базового адреса и имеет протяженность сегмента в 64 Кбайт благодаря 16-разрядному полю предела. Микропроцессор 80386 за счет 32-разрядного базового адреса адресуется к области памяти в 4 Гбайт, а размер сегмента определяется благодаря 20-разрядному полю предела, который используется двумя разными способами. Бит гранулярности G (granularity) дескриптора или, иначе, бит дробности определяет единицу измерения для размера сегмента: при G = 0, размер задается в байтах, а если G = 1, то - в страницах по 4К. Таким образом, размер сегмента при 20-разрядном поле предела может составить соответственно 1 Мбайт или 4 Гбайт.

Бит гранулярности G появился в дескрипторе, начиная с микропроцессора 80386. Если бит G = 0, то сохраняемое в поле предела значение трактуется непосредственно, как предельный размер сегмента, позволяющий иметь доступ к любой области 00000Н-FFFFFG сегмента емкостью в 1 Мбайт. Если же бит G = 1, то сохраняемое в поле предела число интерпретируется как 00000XXXH-FFFFFXXXH, где XXX имеет любую величину между 000Н и FFFH. Таким образом обеспечивается доступ к размеру сегмента от 0 байт до 4 Гбайт участками по 4 Кбайт. Значение предела, равное 00001Н, указывает на то, что предельный размер сектора составляет 4 Кбайт, когда бит G = 1 или же 1 байт, когда бит G = 0. Примером может служить сегмент, начинающийся с физического адреса 10000000H. Для значения предела 00001Н и бита G = 0 данный сегмент начинается в 10000000H и заканчивается в 10000001Н. Если же бит G = 1 при этом же значении предела (00001Н), то сегмент начинается в ячейке 100000000Н и заканчивается в 10001FFFH.

На рис. 6.6 показано, как микропроцессор 80386 адресуется к сегменту памяти в защищенном режиме, используя селектор и дескриптор. Приведенная адресация идентична со способом адресации сегмента микропроцессором 80286. Разница состоит в размере доступного для микропроцессора 80386 сегмента. Старшие 13 разрядов (биты 15-3) селектора используются для выбора дескриптора из таблицы дескрипторов. Бит индикатора таблицы TI (table indicator) (бит 2 селектора) указывает на тип таблицы дескрипторов: локальную, если бит TI = 1, или глобальную, если бит TI = 0. Младшие два бита RPL (requested privilege level) (биты 1-0) селектора определяют запрашиваемый уровень привилегий для доступа к сектору.

Поскольку селектор использует 13-разрядный код для доступа к дескриптору, то каждая таблица (локальная или глобальная) содержит не более 8192 дескриптора. Поскольку возможный размер сегмента для микропроцессора 80386 достигает 4 Гбайт, то единовременно можно получить доступ к 16 384 сегментам, используя две таблицы дескрипторов. Все это позволяет микропроцессору 80386 иметь поддержку виртуальной памяти объемом до 64 Тбайт (1 Тбайт = 1024 Мбайт). Разумеется, что реально может существовать система памяти емкостью только до 4 Гбайт. Если же для программы в какой-то момент времени потребуется память более 4 Гбайт, то требуемые данные могут подкачиваться в систему памяти с дисковода или какого-либо другого накопителя большого объема.

Микропроцессор 80386 использует таблицы дескрипторов для глобальных (GDT ) и локальных (LDT) дескрипторов. Третья таблица дескрипторов используется дескрипторами прерываний (GОТ ) или вентилями (gates). Первые шесть байт дескриптора микропроцессора 80386 такие же, как в микропроцессоре 80286, что обеспечивает программную совместимость с ним снизу вверх. Два старших байта дескриптора микропроцессора 80286 были зарезервированы и содержали значение 00H. Дескрипторы для микропроцессоров 80286 и 80386 показаны на рис. 6.7.

Дескриптор микропроцессора 80386 содержит 32-разрядный базовый адрес, 20-разрядное поле предела сегмента и бит гранулярности G, определяющий множитель предела сегмента (1 или 4К раз) или, иначе, в каких единицах задан предел: в байтах (G = 0) или страницах по 4К (G = 1). Далее представлено назначение полей дескриптора микропроцессора 80386:

База (В31-В0)

Поле База (Base) определяет базовый (начальный) 32-разрядный адрес сегмента в физическом 4 Гбайтном адресном пространстве микропроцессора 80386.

Предел (L19-L0)

ПолеПредел (Limit) определяет предельный размер сегмента в байтах, если бит гранулярности G = 0, или в страницах по 4К, если G = 1. Это позволяет иметь любой размер сегмента от 1 байта до 1 Мбайт, если бит G = 0 или от 4 Кбайт до 1 Гбайт, если бит G = 1. Следует напомнить, что предел указывает на последний байт в сегменте.

Права доступа

Поле Права доступа (Access rights) определяет уровень привилегий и другую информацию относительно сегмента. Этот байт различен для разных типов дескрипторов и конкретизируется для каждого из них.

Бит гранулярности G (granularity) выбирает множитель 1 или 4К для поля предела сегмента. Если бит G = 0, то множитель равен 1, если бит G = 0, то множитель равен 4К.

Бит D (default size) определяет разрядность используемых операндов и регистров по умолчанию. Если D = 0, тогда 16 бит, как в микропроцессоре 80286; если D = 1, то 32 бит, как в микропроцессоре 80386. Этот бит определяет, требуются ли префиксы к 32-разрядным данным и индексным регистрам. Если D = 0, тогда требуется префикс для доступа к 32-разрядным регистрам и для использования 32-разрядных указателей. Если D = 1, тогда префикс требуется для доступа к 16-разрядным регистрам и для 16-разрядных указателей. Атрибуты use16 и use32, используемые с директивой segment в языке ассемблера, управляют установкой бита D. Реальный режим работы всегда предполагает, что регистры 16-разрядные, поэтому к любой команде, адресуемой 32-разрядным регистром или указателем, должен применяться префикс.

Бит AVL (available) доступен для операционной системы и может использоваться ею при необходимости. Он не применяется и не анализируется процессором и предназначен для использования прикладными программами.

Имеются две разновидности дескрипторов: дескриптор сегмента кода и данных, а также дескриптор системных сегментов. Первый дескриптор определяет данные, стек и сегменты кода. Дескриптор системных сегментов предназначен для хранения информации о таблицах системы, задачах и вентилях.

Для адресации операндов в физическом адресном пространстве программы используют логическую адресацию. Процессор автоматически транслирует логические адреса в физические, выдаваемые затем на системную шину.

Архитектура компьютера различает физическое адресное пространство (ФАП) и логическое адресное пространство (ЛАП). Физическое адресное пространство представляет собой простой одномерный массив байтов, доступ к которому реализуется аппаратурой памяти по адресу, присутствующему на шине адреса микропроцессорной системы. Логическое адресное пространство организуется самим программистом исходя из конкретных потребностей. Трансляцию логических адресов в физические осуществляет блок управления памятью MMU.

В архитектуре современных микропроцессоров ЛАП представляется в виде набора элементарных структур: байтов, сегментов и страниц. В микропроцессорах используются следующие варианты организации логического адресного пространства:

  • плоское (линейное) ЛАП: состоит из массива байтов, не имеющего определенной структуры; трансляция адреса не требуется, так как логический адрес совпадает с физическим;
  • сегментированное ЛАП: состоит из сегментов - непрерывных областей памяти, содержащих в общем случае переменное число байтов; логический адрес содержит 2 части: идентификатор сегмента и смещение внутри сегмента; трансляцию адреса проводит блок сегментации MMU;
  • страничное ЛАП: состоит из страниц - непрерывных областей памяти, каждая из которых содержит фиксированное число байтов. Логический адрес состоит из номера (идентификатора) страницы и смещения внутри страницы; трансляция логического адреса в физический проводится блоком страничного преобразования MMU;
  • сегментно-страничное ЛАП: состоит из сегментов, которые, в свою очередь, состоят из страниц; логический адрес состоит из идентификатора сегмента и смещения внутри сегмента. Блок сегментного преобразования MMU проводит трансляцию логического адреса в номер страницы и смещение в ней, которые затем транслируются в физический адрес блоком страничного преобразования MMU.

Микропроцессор способен работать в двух режимах: реальном и защищенном.

При работе в реальном режиме возможности процессора ограничены: емкость адресуемой памяти составляет 1 Мбайт, отсутствует страничная организация памяти, сегменты имеют фиксированную длину 216 байт.

Этот режим обычно используется на начальном этапе загрузки компьютера для перехода в защищенный режим.

В реальном режиме сегментные регистры процессора содержат старшие 16 бит физического адреса начала сегмента. Сдвинутый на 4 разряда влево селектор дает 20-разрядный базовый адрес сегмента. Физический адрес получается путем сложения этого адреса с 16-разрядным значением смещения в сегменте, формируемого по заданному режиму адресации для операнда или извлекаемому из регистра EIP для команды (рис. 3.1). По полученному адресу происходит выборка информации из памяти.



Рис. 3.1. Схема получения физического адреса

Наиболее полно возможности микропроцессора по адресации памяти реализуются при работе в защищенном режиме. Объем адресуемой памяти увеличивается до 4 Гбайт, появляется возможность страничного режима адресации. Сегменты могут иметь переменную длину от 1 байта до 4 Гбайт.

Общая схема формирования физического адреса микропроцессором, работающим в защищенном режиме , представлена на рис. 3.2.

Как уже отмечалось, основой формирования физического адреса служит логический адрес. Он состоит из двух частей: селектора и смещения в сегменте .

Селектор содержится в сегментном регистре микропроцессора и позволяет найти описание сегмента (дескриптор) в специальной таблице дескрипторов. Дескрипторы сегментов хранятся в специальных системных объектах глобальной (GDT) и локальных (LDT) таблицах дескрипторов. Дескриптор играет очень важную роль в функционировании микропроцессора, от формирования физического адреса при различной организации адресного пространства и до организации мультипрограммного режима работы. Поэтому рассмотрим его структуру более подробно.

Сегменты микропроцессора, работающего в защищенном режиме , характеризуются большим количеством параметров. Поэтому в универсальных 32-разрядных микропроцессорах информация о сегменте хранится в

Рис. 3.2. Формирование физического адреса при сегментно-страничной организации памяти

специальной 8-байтной структуре данных, называемой дескриптором , а за сегментными регистрами закреплена основная функция - определение местоположения дескриптора.

Структура дескриптора сегмента представлена на рис. 3.3.

Рис. 3.3. Структура дескриптора сегмента

Мы будем рассматривать именно структуру, а не формат дескриптора, так как при переходе от микропроцессора i286 к 32-разрядному МП расположение отдельных полей дескриптора потеряло свою стройность и частично стало иметь вид "заплаток", поставленных с целью механического увеличения разрядности этих полей.

32-разрядное поле базового адреса позволяет определить начальный адрес сегмента в любой точке адресного пространства в 2 32 байт (4 Гбайт).

Поле предела (limit) указывает длину сегмента (точнее, длину сегмента минус 1: если в этом поле записан 0, то это означает, что сегмент имеет длину 1) в адресуемых единицах, то есть максимальный размер сегмента равен 2 20 элементов.

Величина элемента определяется одним из атрибутов дескриптора битом G (Granularity - гранулярность, или дробность):

Таким образом, сегмент может иметь размер с точностью до 1 байта в диапазоне от 1 байта до 1 Мбайт (при G = 0). При объеме страницы в 2 12 = 4 Кбайт можно задать объем сегмента до 4 Гбайт (приG = l):

Так как в архитектуре IA-32 сегмент может начинаться в произвольной точке адресного пространства и иметь произвольную длину, сегменты в памяти могут частично или полностью перекрываться.

Бит размерности (Default size) определяет длину адресов и операндов, используемых в команде по умолчанию:

своему усмотрению. Конечно, этот бит предназначен не для обычного пользователя, а для системного программиста, применяющего его, например, для отметки сегментов для сбора"мусора" или сегментов, базовые адреса которых нельзя модифицировать. Этот бит доступен только программам, работающим на высшем уровне привилегий. Микропроцессор в своей работе его не меняет и не использует.

Байт доступа определяет основные правила обращения с сегментом.

Бит присутствия P (Present) показывает возможность доступа к сегменту. Операционная система (ОС) отмечает сегмент, передаваемый из оперативной во внешнюю память, как временно отсутствующий, уставливая в его дескрипторе P = 0. При P = 1 сегмент находится в физической памяти. Когда выбирается дескриптор с P = 0 (сегмент отсутствует в ОЗУ), поля базового адреса и предела игнорируются. Это естественно: например, как может идти речь о базовом адресе сегмента, если самого сегмента вообще нет в оперативной памяти? В этой ситуации процессор отвергает все последующие попытки использовать дескриптор в командах, и определяемое дескриптором адресное пространство как бы"пропадает".

Возникает особый случай неприсутствия сегмента. При этом операционная система копирует запрошенный сегмент с диска в память (при этом, возможно, удаляя другой сегмент), загружает в дескриптор базовый адрес сегмента, устанавливает P = 1 и осуществляет рестарт той команды, которая обратилась к отсутствовавшему в ОЗУ сегменту.

Двухразрядное поле DPL (Descriptor Privilege Level) указывает один из четырех возможных (от 0 до 3) уровней привилегий дескриптора , определяющий возможность доступа к сегменту со стороны тех или иных программ (уровень 0 соответствует самому высокому уровню привилегий).

Бит обращения A (Accessed) устанавливается в"1" при любом обращении к сегменту. Используется операционной системой для того, чтобы отслеживать сегменты, к которым дольше всего не было обращений.

Пусть, например, 1 раз в секунду операционная система в дескрипторах всех сегментов сбрасывает бит А. Если по прошествии некоторого времени необходимо загрузить в оперативную память новый сегмент, места для которого недостаточно, операционная система определяет"кандидатов" на то, чтобы очистить часть оперативной памяти, среди тех сегментов, в дескрипторах которых бит А до этого момента не был установлен в"1", то есть к которым не было обращения за последнее время.

Поле типа в байте доступа определяет назначение и особенности использования сегмента. Если бит S (System - бит 4 байта доступа) равен 1, то данный дескриптор описывает реальный сегмент памяти. Если S = 0, то этот дескриптор описывает специальный системный объект, который может и не быть сегментом памяти, например, шлюз вызова, используемый при переключении задач, или дескриптор локальной таблицы дескрипторов LDT. Назначение битов <3...0> байта доступа определяется типом сегмента (рис. 3.4).

Рис. 3.4. Формат поля типа байта доступа

В сегменте кода: бит подчинения, или согласования, C (Conforming) определяет дополнительные правила обращения, которые обеспечивают защиту сегментов программ. При C = 1 данный сегмент является подчиненным сегментом кода. В этом случае он намеренно лишается защиты по привилегиям. Такое средство удобно для организации, например, подпрограмм, которые должны быть доступны всем выполняющимся в системе задачам. При C = 0 - это обычный сегмент кода; бит считывания R (Readable) устанавливает, можно ли обращаться к сегменту только на исполнение или на исполнение и считывание, например, констант как данных с помощью префикса замены сегмента. При R = 0 допускается только выборка из сегмента команд для их выполнения. При R = 1 разрешено также чтение данных из сегмента.

Запись в сегмент кода запрещена. При любой попытке записи возникает программное прерывание.

В сегменте данных:

  • ED (Expand Down) - бит направления расширения. При ED = 1 этот сегмент является сегментом стека и смещение в сегменте должно быть больше размера сегмента. При ED = 0 - это сегмент собственно данных (смещение должно быть меньше или равно размеру сегмента);
  • бит разрешения записи W(Writeable). При W = 1 разрешено изменение сегмента. При W = 0 запись в сегмент запрещена, при попытке записи в сегмент возникает программное прерывание.

В случае обращения за операндом смещение в сегменте формируется микропроцессором по режиму адресации операнда, заданному в команде. Смещение в сегменте кода извлекается из регистра - указателя команд EIP.

Сумма извлеченного из дескриптора начального адреса сегмента и сформированного смещения в сегменте дает линейный адрес (ЛА).

Если в микропроцессоре используется только сегментное представление адресного пространства, то полученный линейный адрес является также и физическим.

Если помимо сегментного используется и страничный механизм организации памяти, то линейный адрес представляется в виде двух полей: старшие разряды содержат номер виртуальной страницы, а младшие смещение в странице. Преобразование номера виртуальной страницы в номер физической проводится с помощью специальных системных таблиц: каталога таблиц страниц (КТС) и таблиц страниц (ТС). Положение каталога таблиц страниц в памяти определяется системным регистром CR3. Физический адрес вычисляется как сумма полученного из таблицы страниц адреса физической страницы и смещения в странице, полученного из линейного адреса.

Рассмотрим теперь все этапы преобразования логического адреса в физический более подробно.

А. ШИШЛОВА. По материалам зарубежной печати (“New Scientist”, Annals of the New York Academy of Sciences).

Стремительный прогресс в развитии компьютерной техники за последние десятилетия невольно заставляет задуматься о будущем компьютеров. Останутся ли они прежними или изменятся до неузнаваемо сти? Сегодня много говорят о том, что традиционные полупроводниковые ЭВМ скоро себя исчерпают. Ожидается, что уже через пять-десять лет их потеснят более мощные молекулярные (см. “Наука и жизнь” № ), квантовые (см. “Наука и жизнь” № ), биологические и другие, весьма экзотические, вычислительные устройства. Сет Ллойд, физик из Массачусетского технологического института (США), идет в своих прогнозах дальше всех. Он считает, что компьютер будущего не будет иметь ничего общего ни с одной из ныне существующих или только еще разрабатываемых вычислительных машин. Скорее, он превратится в нечто вроде огненного шара или даже черной дыры.

Изображение черной дыры, полученное космическим телескопом Хаббла.

Наука и жизнь // Иллюстрации

Графики, иллюстрирующие развитие вычислительной техники за последние десятилетия.

Компактность и быстродействие уже существующих и гипотетических вычислительных устройств.

Что за чепуха, - скажете вы, - развеможно поместить на рабочий стол раскаленный шар или черную дыру, да и как они могут производить вычисления?!

Прежде чем прийти к столь экстравагант ным выводам, Ллойд задал себе вопрос: до каких пор будут уменьшаться размеры вычислительных устройств и возрастать их быстродействие? Уже более тридцати лет развитие компьютеров подчиняется эмпирическому закону, сформулирован ному Гордоном Муром в 1965 году, согласно которому плотность транзисторов на микросхеме удваивается за 18 месяцев. С каждым годом следовать “закону Мура” становится все труднее, поэтому его близкий конец предсказывался уже неоднократно. Однако человечес кий гений и изобретательность находят все новые оригинальные выходы из технологических и производственных сложностей, встающих на пути безудержной “компьютерной гонки”. И все же, считает Ллойд, прогресс вычислительной техники не может продолжаться вечно, рано или поздно мы наткнемся на предел, обусловленный законами природы.

Каков же будет самый последний, самый мощный, “предельный” компьютер? Вряд ли сегодня можно предугадать, как именно он будет устроен. Но для нас это не принципиально, говорит Ллойд, технологические детали - задача инженеров будущего. Важно понимать, что любое вычисление - это прежде всего некий физический процесс. Поэтому задачу “о предельном компьютере” следует решать путем рассмотрения основных физических принципов и величин - таких как энергия, температура, объем.

Предел первый: быстродействие

Все логические операции, осуществляемые компьютером, основаны на переключении битов между условными значениями “0” и “1”, которым отвечают два устойчивых физических состояния. Это могут быть, к примеру, большее или меньшее сопротивление проводящего канала в транзисторе (обычный, или полупроводниковый, компьютер), та или иная структура молекулы (молекулярный компьютер), значения спина атома (квантовый компьютер) и т.д. Во всех случаях скорость переключения битов и, следовательно, быстродействие вычислительного устройства определяются тем, насколько быстро протекает соответству траекториях гамма-фотонов и обрабатывалась за счет их столкновений друг с другом, а также больше подвижность электронов в полупроводнике, скорость перехода молекулы из одной формы в другую определяется вероятностью этого события и т. д. Времена процессов переключения, как правило, очень малы (от 1 до 10 -15 секунды). И все же они конечны.

С точки зрения квантовой механики, утверждает Сет Ллойд, скорость вычислений ограничена полной доступной энергией. В 1998 году это положение было теоретически доказано физиками из Массачусетского технологического университета (США) Норманом Марголусом и Львом Левитиным. Им удалось показать, что минимальное время переключения бита равно одной четверти постоянной Планка, деленной на полную энергию:

Таким образом, чем больше энергия компьютера, используемая им для вычислений, тем быстрее он считает. По мнению Ллойда, “предельный компьютер” - это такой компьютер, вся энергия которого будет расходоваться только на вычислительный процесс.

Исходя из приведенного соотношения, оценим, к примеру, быстродействие некоего гипотетического компьютера массой один килограмм, состоящего всего из одного бита. Как известно, полная энергия тела задается фундаментальным соотношением E=mc 2 , где m - масса, с - скорость света в вакууме. Итого, имеем 10 17 Джоулей. Если бы всю эту энергию, “погребенную” в массе нашего компьютера, можно было бы использовать в вычислительном процессе, время переключения бита достигло бы фантастически малых величин порядка 10 -51 секунды! Полученное значение существенно меньше
называемого “планковского промежутка времени” (10 -44 секунды) - минимального временного интервала, который, с точки зрения квантовой теории гравитации, требуется для протекания любого физического события. “Это довольно-таки странно”, - говорит Ллойд…

Однако мы рассмотрели однобитный компьютер, в то время как на практике любой ЭВМ требуется не один, а множество битов. Если энергию нашего гипотетического компьютера распределить между миллиардом битов, время переключения каждого из них будет уже меньше планковского. “Важно, что при этом общее число переключений всех битов за секунду останется прежним - 10 51 ”, - отмечает Ллойд.

По сравнению с “предельным” компьютером Ллойда нынешние ЭВМ - просто черепахи: при тактовой частоте порядка 500 мегагерц типичный современный компьютер выполняет лишь 10 12 операций в секунду. “Предельный” компьютер работает в 10 39 раз быстрее! А если он будет весить не килограмм, а тонну, быстродействие возрастет еще в 1000 раз.

В чем причина медлительности современных ЭВМ? Все дело в том, - считает Ллойд, - что полезную работу в них совершают лишь электроны, перемещающиеся внутри транзисторов. Что касается основной массы компьютера, то она не только не используется как источник энергии, но, напротив, препятствует свободному движению носителей заряда. Единствен ная ее функция - поддерживать ЭВМ в стабильном состоянии.

Как избавиться от “бесполезной” массы? Надо превратить ее в кванты электромагнитного излучения - фотоны, которые, как известно, не имеют массы покоя (считается, что она равна нулю). Тогда вся энергия, запасенная в массе, перейдет в энергию излучения, и компьютер из неподвижного серого ящика превратится в светящийся огненный шар! Как ни странно, но именно так может выглядеть “предельный” компьютер, утверждает Ллойд. Его вычислительная мощность будет огромна: менее чем за одну наносекунду он сможет решать задачи, на которые у современных ЭВМ ушло бы время, равное жизни Вселенной!

Заметим, что до сих пор все наши рассуждения касались только быстродействия “предельного” компьютера, но мы забыли о такой важной его характеристике, как память. Существует ли предел запоминающей способности вычислительных устройств?

Предел второй: память

Память компьютера ограничена его энтропией , утверждает Сет Ллойд, то есть степенью беспорядка, случайности в системе. В теории информации понятие энтропии - аналог понятия количества информации . Чем более однородна и упорядо
ющий физический процесс. Например, время переключения транзистора тем меньше, чем так чена система, тем меньше информации она в себе содержит.

Величина энтропии (S ) пропорциональна натуральному логарифму числа различимых состояний системы (W ): S = k . ln W , где k - постоянная Больцмана. Смысл этого соотношения очевиден: чем больший объем информации вы хотите сохранить, тем больше различимых состояний вам потребуется. Например, для записи одного бита информации необходимо два состояния: “включено” и “выключено”, или “1” и “0”. Чтобы записать 2 бита, потребуется уже 4 различных состояния, 3 бита - 8, n битов - 2 n состояний. Таким образом, чем больше различимых состояний в системе, тем выше ее запоминающая способность.

Чему равна энтропия “предельного” компьютера Ллойда?

Во-первых, она зависит от объема компьютера: чем он больше, тем большее число возможных положений в пространстве могут занимать его частицы. Допустим, объем нашего компьютера равен одному литру. Во-вторых, необходимо знать распределение частиц по энергиям. Поскольку речь идет о светящемся шаре, можно воспользоваться готовым расчетом, выполненным еще лет сто назад Максом Планком при решении задачи о так называемом абсолютно черном теле. Что же мы получим? Оказывается, литр квантов света может хранить около 10 31 битов информации - это в 10 20 раз больше, чем можно записать на современный 10-гигабайтный жесткий диск! Откуда такая огромная разница? “Все дело в том, - говорит Ллойд, - что способ, которым в современных компьютерах записывается и хранится информация, чрезвычайно неэкономен и избыточен. За хранение одного бита отвечает целый “магнитный домен” - а ведь это миллионы атомов”.

От раскаленного шара - к черной дыре

Итак, подведем итоги. Пытаясь выяснить пределы быстродействия и запоминающей способности вычислительного устройства, мы сначала избавились от лишней массы (1 килограмм), переведя ее в энергию квантов света, а затем каким-то образом запихнули все это в объем, равный 1 литру. В этих условиях температура огненного шара должна достигать миллиарда градусов (!), а излучать он будет гамма-кванты. Что ни говори, наш “предельный” компьютер получился довольно-таки странным… “Как управлять такой огромной энергией - вот в чем проблема”, - справедливо замечает Ллойд.

Но, допустим, каким-то образом нам все же удалось обуздать раскаленный “супчик” из гамма-квантов, заперев его в неком “ящике”. Тогда работа “предельного” компьютера могла бы выглядеть следующим образом. Информация хранилась бы в положениях и с небольшим количеством образующихся при столкновениях электронов и позитронов. Считывать информацию было бы совсем несложно. “Достаточно просто открыть “окошко” в стенке “ящика” и выпустить фотоны, - говорит Ллойд. - Вылетев наружу со скоростью света, они тут же попадут в детектор гамма-излучения, где и будет считано их состояние”. Для ввода информации потребуется управляемый генератор гамма-излучения. Конечно, все эти устройства ввода-вывода неизбежно привнесут с собой и “лишнюю” массу, от которой мы так хотели избавиться. Но Ллойд полагает, что в будущем, возможно, удастся сделать эти приборы очень маленькими и легкими.

Однако, как бы мы ни совершенствовали процесс ввода-вывода, описанная модель “предельного” компьютера имеет один принципиальный недочет. Допустим, максимальный размер (например, диаметр) нашего компьютера равен 10 сантиметрам. Поскольку фотоны движутся со скоростью света, то все 10 31 битов информации, хранящейся в нашем компьютере, не могут быть “скачаны” из него быстрее, чем за время, требующееся свету для прохождения расстояния в 10 сантиметров - то есть за 3 . 10 -10 секунды. Значит, максимальная скорость обмена информацией компьютера с внешним миром равна 10 41 бит в секунду. А предельная скорость обработки информации, как мы уже выяснили раньше, составляет 10 51 бит в секунду, что в десять миллиардов раз быстрее. Таким образом, необходимость связи компьютера с внешним миром, а также отдельных его частей друг с другом будет приводить к существенным потерям в скорости вычислений. “Отчасти решить эту проблему можно, заставив куски компьютера работать независимо друг от друга, в параллели”, - отмечает Ллойд.

Слишком медленный ввод-вывод информации затрудняет коррекцию ошибок в процессе вычислений. В нашей модели “предельного” компьютера для устранения ошибки придется извлечь наружу соответствующие биты, а вместо них поместить туда новые. Мы сможем проделывать эту операцию не чаще 10 41 раз в секунду, тогда как за это же время компьютер обработает 10 51 битов. Таким образом, лишь одна десятимиллиардная часть информации будет проверять ся на наличие ошибок. Придется либо слепо доверять точности расчетов, либо снижать скорость вычислений.

Есть ли способ повысить скорость ввода-вывода? “Да, - говорит Ллойд, - надо уменьшать размеры компьютера”. Тогда обмен информацией будет происходить быстрее, а объем памяти станет меньше. При этом доля последовательных операций в компьютере может возрасти, а доля параллельных - уменьшить ся.

Что произойдет, если мы начнем сжимать “сгусток” гамма-квантов, температура которого равна миллиарду градусов, а объем одному литру? По мере сжатия температура станет еще выше, в результате чего в объеме компьютера начнут рождаться новые, еще более экзотические частицы. “Компьютеры будущего могут превратиться в релятивистские устройства высокой энергии наподобие ускорителей элементарных частиц”, - полагают Вальтер Симмонс и его коллеги Сандип Пакваса и Ксерксес Тата из университета Гавайи, исследующие возможность компьютерных вычислений на уровне элементарных частиц. “По мере роста температуры в компьютере наши знания о том, что происходит у него внутри, становятся все более и более шаткими”, - говорит Ллойд.

Но, к счастью, наступит момент, когда все опять станет “просто”. Сжатый до некоторого предельного значения “компьютер” превратится… в черную дыру. Один килограмм первоначального вещества “схлопнется” в объем менее чем 10 -27 метров в поперечнике! Ну это уж чересчур, - скажете вы, - о каком еще компьютере можно после этого говорить?! Оказывается, можно…

Как известно, черная дыра - это область чрезвычайно сильного гравитационного поля, “всасывающая” в себя всю окружающую материю. Оказавшись вблизи так называемого горизонта событий черной дыры, ни одно тело, даже свет, уже не может ее покинуть (см. “Наука и жизнь” № 8, 2000 г.). Однако это не совсем так. В 1970 году Стефан Хокинг из Кембриджс кого университета теоретически показал, что черные дыры должны испаряться - испускать кванты света и элементарные частицы за горизонт событий . Если черные дыры все же излучают, то, согласно законам термодинамики, они имеют энтропию, а значит, могут запасать в себе информацию. Энтропия черной дыры была вычислена в 1972 году Яковом Бекенштейном. Согласно его расчетам, черная дыра массой один килограмм может хранить примерно 10 16 бит.

Но с тех самых пор, как информация попадает в черную дыру, она становится недоступной для остальной части Вселенной. Значит, использовать черную дыру для каких-либо вычислений в принципе невозможно - мы все равно не сможем извлечь из нее полученный результат. Однако, с точки зрения теории струн (см. “Наука и жизнь” № 4, 1998 г.), не все так безнадежно. Гордон Кейн, физик-теоретик из университета штата Мичиган (США), полагает, что информацию о том, как формировалась черная дыра все же можно добыть. Сет Ллойд считает, что она остается записанной на горизонте событий в форме сжатых струн, “наподобие сплющенных спагетти”.

Если это действительно так, то черная дыра - и есть “предельный” компьютер, причем благодаря его ничтожно малым размерам скорость вычислений и скорость обмена информацией достигнут одного и того же, максимального, значения. Тем самым проблема ввода-вывода будет решена. “Черная дыра - самый мощный последовательный компьютер”, - считает Ллойд.

Представить себе, как может работать “чернодырный” компьютер еще сложнее, чем в случае раскаленного шара из гамма-квантов. По всей видимости, на вход его будет подаваться материя в неком исходном состоянии, программа задаст точный сценарий ее коллапса в черную дыру, а результатом станет анализ излучения вспышки черной дыры, взрывающейся в результате испарения. “Предельный” компьютер - хоть и мощное, но одноразовое устройство: решив задачу, он исчезнет.

Лишь после того, как компьютер превратится в пылающий огненный шар либо в микроскопическую черную дыру, - утверждает Ллойд, - прогресс вычислительной техники прекратится. Фантастика? Нет, “еще одно свидетельство тесной связи физики и теории информации”. Конечно, сегодня мы даже не можем себе представить, как достичь этих невероятных пределов. Однако не стоит отчаиваться - доверьтесь человеческому гению. Если развитие ЭВМ будет идти теми же темпами, все описанное станет реальностью через каких-нибудь две сотни лет.

См. в номере на ту же тему

Каждый атом Вселенной, а не только различные макроскопические объекты, способен хранить информацию. Акты взаимодействия атомов можно описать как элементарные логические операции, в которых меняют свои значения квантовые биты – элементарные единицы квантовой информации. Парадоксальный, но многообещающий подход Сета Ллойда позволяет элегантно решить вопрос о постоянном усложнении Вселенной: ведь даже случайная и очень короткая программа в ходе своего исполнения на компьютере может дать крайне интересные результаты. Вселенная постоянно обрабатывает информацию – будучи квантовым компьютером огромного размера, она все время вычисляет собственное будущее. И даже такие фундаментальные события, как рождение жизни, половое размножение, появление разума, можно и должно рассматривать как последовательные революции в обработке информации.

Теорема Марголюса – Левитина гласит, что максимальная частота, с которой физическая система (электрон, например) может переходить из одного состояния в другое, пропорциональна энергии системы; чем больше доступной энергии, тем меньше времени нужно электрону, чтобы перейди отсюда туда. Эта теорема очень общая. Для нее несущественно, какая система хранит и обрабатывает информацию; важно только, сколько энергии есть в системе, чтобы обрабатывать эту информацию. Рассмотрим, например, атомы и электроны в моем компьютере. Их температура немного выше комнатной. Каждый атом и электрон раскачиваются, и количество энергии, связанной с типичными колебаниями, остается одним и тем же для атома и для электрона. Энергия на одно колебание просто пропорциональна температуре, независимо от того, говорим мы об атоме или об электроне. Следовательно, частота, с которой электрон в компьютере может перемещаться от одного состояния к другому, отсюда туда, или от 0 к 1, – такая же, что и скорость, с которой атом может переходить из одного состояния в другое. Электроны и атомы инвертируют свои биты с одной и той же частотой.

Теорема Марголюса – Левитина дает метод для вычисления максимальной частоты, с которой бит может менять свое состояние. Возьмем количество энергии, доступной для инвертирования бита, умножим ее на 4 и разделим на постоянную Планка. В результате мы получим число возможных инверсий бита за секунду. Применяя эту формулу к атомам и электронам в моем компьютере, мы выясним, что каждый колеблющийся атом и электрон изменяют свое состояние и свой бит примерно 30 трлн (30 х 1012) раз в секунду.

Скорость, с которой атомы и электроны инвертируют свои биты, обычно намного больше, чем скорость, с которой это делает обычный компьютер. Компьютер, на котором я печатаю текст, вкладывает в зарядку и разрядку конденсаторов, которые хранят его биты, в миллиард раз больше энергии, чем используют атомы и электроны на свои колебания и на инверсию своих битов. Но мой компьютер действует в 10 000 раз медленнее атомов. Медлительность моего компьютера не противоречит теореме Марголюса – Левитина. Эта теорема дает только верхний предел того, как быстро может менять свое состояние бит. Бит может делать это медленнее максимальной скорости, допускаемой теоремой. Квантовый компьютер, однако, всегда инвертирует свои биты с максимальной скоростью.

Теорема Марголюса – Левитина устанавливает предел количества элементарных операций (опов), которые может выполнять бит в секунду. Предположим, что мы оставим неизменным количество энергии, доступное для изменения состояния битов, но теперь разделим эту энергию между двумя битами. Каждый из этих двух битов получит половину энергии нашего первоначального бита и сможет работать вдвое медленнее. Но общее количество переходов в секунду останется тем же.

Если разделить количество доступной энергии между десятью битами, то каждый из них будет менять свое состояние в десять раз медленнее, но общее количество переходов в секунду останется тем же. Так же как она безразлична к размерам системы, эта теорема не «заботится» о том, откуда берется доступная энергия. Максимальное количество операций в секунду – это энергия E , умноженная на 4 и деленная на постоянную Планка.

Теорема Марголюса – Левитина позволяет легко вычислить мощность абсолютного ноутбука. Энергию абсолютного ноутбука, доступную для вычисления, можно вычислить с помощью известной формулы Эйнштейна E = mc? , где E – энергия, m – масса ноутбука, а c – скорость света. Введя в эту формулу массу нашего абсолютного компьютера (один килограмм) и скорость света (300 млн м в секунду), мы обнаружим, что у абсолютного ноутбука есть почти 100 миллионов миллиардов (1017) джоулей доступной энергии для выполнения вычислений. Если привести тот же результат в более знакомой форме энергии, у ноутбука есть около 20 млрд (2 х 1013) килокалорий доступной энергии, что эквивалентно 100 млрд шоколадных батончиков. Это очень много энергии.

Другой знакомый нам эквивалент – это количество энергии, высвобождаемой при ядерном взрыве. У абсолютного ноутбука есть двадцать мегатонн (20 млн т в тротиловом эквиваленте) энергии, доступной для вычисления. Это сопоставимо с количеством энергии, высвобождаемой при взрыве большой водородной бомбы. По существу, когда наш абсолютный ноутбук выполняет вычисления на максимальной скорости, используя для изменения состояния битов каждую доступную калорию, изнутри это выглядит как ядерный взрыв. Элементарные частицы, которые хранят и обрабатывают информацию в абсолютном ноутбуке, движутся при температуре в миллиард градусов. Абсолютный ноутбук похож на маленький кусочек Большого взрыва. (Технологии упаковки должны будут совершить серьезный прорыв, прежде чем кто-то захочет положить абсолютный ноутбук к себе на колени.) В итоге количество операций, которое может выполнить наш маленький, но мощный компьютер, составляет огромную величину: миллион миллиардов миллиардов миллиардов миллиардов миллиардов (1051) операций в секунду. Компании Intel есть, к чему стремиться.

Но сколь велик путь, который придется пойти компании Intel? Вспомним закон Мура: в последние полвека количество информации, которую могут обрабатывать компьютеры, и скорость, с которой они ее обрабатывают, удваивается каждые восемнадцать месяцев. Множество технологий – последней из них стали интегральные схемы – сделали возможным такой рост мощности обработки информации. Нет никаких причин, по которым закон Мура должен продолжать действовать год за годом; это закон человеческой изобретательности, а не закон природы. В какой-то момент закон Мура перестанет работать. В частности, никакой ноутбук не может вести вычисления быстрее, чем абсолютный ноутбук, описанный выше.

Но сколько времени потребуется компьютерной индустрии, чтобы при существующей скорости технического прогресса создать абсолютный ноутбук? Мощность компьютеров удваивается каждые полтора года. За пятнадцать лет она удваивается десять раз, то есть увеличивается на три порядка. Иначе говоря, нынешние компьютеры в миллиард раз быстрее, чем были гигантские электромеханические машины всего пятьдесят лет назад. Нынешние компьютеры выполняют порядка триллиона логических операций в секунду (1012). Следовательно (если закон Мура продержится до тех пор), мы сможем купить абсолютный ноутбук в магазине примерно в 2205 г.

Количество энергии, доступной для вычислений, ограничивает скорость вычислений. Но скорость вычислений – не единственная характеристика, которая нас интересует, когда мы покупаем новый ноутбук. Не менее важен объем памяти. Какова емкость абсолютного жесткого диска?

Внутренности абсолютного ноутбука заполнены элементарными частицами, которые раскачиваются, как сумасшедшие, при миллиарде градусов. Те же методы, которые специалисты по космологии используют для измерения количества информации, присутствовавшего во время Большого взрыва, можно использовать для измерения числа битов, запечатленных абсолютным ноутбуком. Раскачивающиеся частицы абсолютного ноутбука запечатлевают около 10 000 миллиардов миллиардов миллиардов битов (1031). Это очень много битов – намного больше, чем информации, которая хранится на жестких дисках всех компьютеров в мире.

Сколько времени потребуется компьютерной индустрии, чтобы реализовать технические требования к памяти абсолютного ноутбука? Закон Мура для объема памяти сейчас действует быстрее, чем закон Мура для скорости вычислений: емкость жесткого диска удваивается почти каждый год. При таком темпе для того, чтобы создать абсолютный жесткий диск, потребуется всего семьдесят пять лет.

Конечно, закон Мура может действовать лишь до тех пор, пока человеческая изобретательность будет находить новые способы уменьшать размеры компьютеров. Трудно постоянно уменьшать размеры соединений, транзисторов и конденсаторов, и чем более миниатюрными становятся компоненты компьютеров, тем труднее ими управлять. Закон Мура уже много раз объявляли мертвым из-за той или иной хитроумной технической проблемы, которая на первый взгляд казалась неразрешимой. Но каждый раз хитроумные инженеры и ученые находили новый способ разрубить узел технологий. Кроме того, как мы уже сказали, у нас есть надежные экспериментальные данные о том, что компоненты компьютеров можно уменьшить до размера атомов. Существующие квантовые компьютеры уже хранят и обрабатывают информацию на уровне атомов. При нынешней скорости миниатюризации закон Мура не позволит достичь уровня атомов еще в течение сорока лет, так что определенные надежды в его отношении сохраняются.

В предыдущем номере еженедельника.

Tипичный персональный компьютер среднего класса содержит от 50 до 70 интегральных схем. Это, прежде всего, микропроцессор - наиболее сложная из схем, выполняющий последовательности команд работы с данными. За 40 лет существования интегральных схем инженерная мысль, естественно, не стояла на месте, и развитие полупроводниковых технологий позволяло уменьшать размеры транзисторов, соответственно увеличивая их количество на микропроцессоре. Несколько штук, затем несколько десятков, несколько десятков тысяч, и, наконец, миллион элементов на интегральной схеме. Не раз исследователи и аналитики предсказывали, что процесс миниатюризации достигнет некоторых физических пределов, которые уже нельзя преодолеть. Однако до сего дня ни одно из предсказаний не сбылось. Высочайшая степень интеграции позволяет год от года наращивать мощность микропроцессоров и на исходе тысячелетия делает возможным выпуск чипов оперативной памяти, способных хранить миллиарды бит данных.

Тем не менее увеличивать быстродействие процессора, сокращая размеры транзисторов, размещаемых на нескольких квадратных сантиметрах кремния, действительно становится все сложнее. Именно сейчас, когда транзистор на процессоре имеет размер порядка двух микрон (это примерно в сто раз меньше ширины человеческого волоса) и может содержать элементы размером в несколько десятых микрона, проблема достижения предела в дальнейшей миниатюризации встает настолько остро, что лаборатории крупнейших научных центров и компаний-производителей серьезно работают над средствами усовершенствования современной технологии производства интегральных схем, а в научных кругах все активнее обсуждается вопрос о возможных альтернативах транзистору вообще как основе вычислительной техники.

Снова о физике

Дальнейшее уменьшение размеров транзистора способно породить ряд физических условий, которые будут препятствовать процессу миниатюризации. В частности, может оказаться чрезвычайно сложным, если вообще возможным, соединение друг с другом мельчайших элементов. Приближение областей проводимости друг к другу на расстояние порядка 100 ангстрем может породить квантовые эффекты, которые поставят под угрозу нормальную работу транзисторов. В лабораториях предел уже достигнут, и ученые исследуют возможные последствия, однако для коммерческого производства в ближайшее десятилетие эта проблема еще не будет актуальна.

Миниатюризация полевого транзистора неизбежно сопровождается усилением электрических полей, что может по-разному влиять на перемещения электронов. В частности, электроны, проходящие через такое сильное электрическое поле, могут приобрести очень большую энергию, и в конечном итоге возникнет лавинообразный электрический ток, способный разрушить схему. Современные процессоры в погоне за все более высокой скоростью обработки уже приближаются к черте, за которой вполне возможно подобное усиление электрических полей. Инженеры прибегают к различным ухищрениям, для того чтобы избежать нежелательных последствий. Разработаны полевые транзисторы, в которых поле может перемещаться в место, где оно не оказывает разрушительного влияния на другие электронные функции. Однако подобные трюки неизбежно требуют компромисса в отношении других характеристик устройства, усложняя разработку и производство или снижая надежность и жизненный цикл транзистора и схемы в целом.

Чем меньше размер транзисторов, тем выше плотность их размещения на процессоре, при этом увеличивается расход тепловой энергии. Сейчас каждый квадратный сантиметр схемы выделяет 30 ватт тепловой энергии - излучение, которое характерно для материала, нагретого до температуры порядка 1200 градусов по Цельсию. Естественно, такие температуры недопустимы в производстве микропроцессоров, поэтому используются различные системы охлаждения для удаления лишнего тепла по мере его возникновения. Стоимость применения этих достаточно мощных систем возрастает с увеличением интенсивности выделяемой тепловой энергии.

Проблемы производства

Помимо чисто физических проблем, процесс уменьшения размеров транзисторов и увеличения степени их интеграции на микропроцессоре может натолкнуться на ограничения, связанные с особенностями производства интегральных схем. Вообще говоря, свойства устройств, которые создаются на одной кремниевой пластине, равно как и на разных пластинах, не идентичны. Отклонения могут возникать на каждом из этапов. Характер вероятных различий между производимыми процессорами и частота появления просто бракованных устройств могут стать реальной преградой на пути дальнейшей миниатюризации элементов интегральной схемы.

Миниатюризация касается не только длины и ширины элемента схемы, но и толщины самого процессора. Транзисторы и соединения на нем реализуются с помощью серии уровней, в современных процессорах их может быть пять или шесть. Уменьшение размеров транзистора и увеличение плотности их размещения на процессоре влечет за собой увеличение числа уровней. Однако чем больше слоев в схеме, тем тщательнее должен быть контроль за ними в процессе производства, поскольку на каждый из уровней будут оказывать влияние нижележащие. Стоимость усовершенствования средств контроля и стоимость создания соединений между множеством уровней могут оказаться фактором, сдерживающим увеличение числа слоев.

Кроме всего прочего, усложнение интегральной схемы потребует совершенствования условий производства, к которым и так предъявляются беспрецедентно высокие требования. Понадобится более точный механический контроль за позиционированием исходной кремниевой пластины. "Стерильное" помещение, где создаются микропроцессоры, должно стать еще стерильнее, дабы исключить попадание мельчайших частичек пыли, способных разрушить сложнейшую схему. С усложнением процессора, повышением степени интеграции элементов на нем возрастет число потенциальных деффектов, и, следовательно, потребуются сверхтщательные процедуры проверки качества. Все это сделает еще более дорогим и без того самое дорогостоящее производство в мире. Но, по мнению одного из изобретателей микропроцессора Гордона Мура, процесс миниатюризации транзисторов остановится, если затраты на увеличение числа элементов на процессоре превысят возможную прибыль от использования таких сложных чипов.

И наконец, важнейшие научные и инженерные разработки ведутся в направлении усовершенствования ключевого этапа производства интегральной схемы - литографии, поскольку именно здесь реально возможно достижение определенного предела уже в обозримом будущем.

Литография - что было, что будет

Развитие литографической технологии со времени ее изобретения в начале 70-х шло в направлении сокращения длины световой волны. Это позволяло уменьшать размеры элементов интегральной схемы. С середины 80-х в фотолитографии используется ультрафиолетовое излучение, получаемое с помощью лазера. Сейчас наиболее мощные коммерческие процессоры производятся с помощью ультрафиолетовых лучей с длиной волны 0,248 мк. Для создания кристаллов гигабитной памяти, то есть интегральных схем с миллиардами транзисторов, разработана литорафическая технология с пульсирующим лазером, которая обеспечивает длину волны 0,193 мк. Однако когда фотолитография перешагнула границу 0,2 мк, возникли серьезные проблемы, которые впервые за историю этой технологии поставили под сомнение возможность ее дальнейшего использования. Например, при длине волны меньше 0,2 мк слишком много света поглощается светочувствительным слоем, поэтому усложняется и замедляется процесс передачи шаблона схемы на процессор.

С другой стороны, для гигабитной памяти потребуются транзисторы с элементами размером 0,18 мк, и использование даже излучения с длиной волны 0,193 мк в принципе недостаточно, так как очень сложно строить структуры схемы, размер которых меньше длины световой волны в литографии. Как заметил один из производителей степперов (машин для фотолитографии), это все равно что рисовать тонкую линию значительно более толстой кистью - способ можно найти, но очень трудно держать его под контролем.

Все эти проблемы побуждают исследователей и производителей искать альтернативы традиционной литографической технологии. Фактически их сейчас три - рентгеновское излучение, электронные лучи и так называемый мягкий рентген (soft x-ray).

Возможность замены ультрафиолетовых лучей рентгеновскими исследуется в научных лабораториях США уже более двух десятилетий. Особую активность проявляла в этом плане компания IBM. Несколько лет назад, объединившись с несколькими фирмами, в том числе с Motorola, компания поставила цель вывести литографию на базе рентгена из лаборатории в производство.

Очень короткая, порядка одного нанометра, длина волны рентгеновского излучения составляет всего четыре сотых длины световых волн, которые используются сейчас для производства наиболее совершенных коммерческих процессоров. Поэтому кажется вполне естественным применение именно этой технологии для создания, скажем, интегральных схем оперативной памяти гигабитного объема. Однако когда дело доходит до анализа реального производства на основе рентгеновской литографии, возникают проблемы, которым пока не найдено адекватного решения. Технология получения рентгеновских лучей принципиально отличается от методов излучения, которые используются в современном производстве интегральных схем. В оптической литографии применяются лазерные установки, а необходимое рентгеновское излучение может быть получено только с помощью специального устройства - синхротрона. И хотя стоимость такого генератора рентгеновских лучей составляет не более 3% общей стоимости самых современных полупроводниковых производств, использование литографии на базе рентгена потребует перепроектирования производства в целом. А это уже совсем другие суммы.

Тем не менее все заметнее активность оппонентов рентгеновской технологии, значительные средства вкладываются в поиски средств усовершенствования традиционных способов литографии; ведется поиск и других способов задания рисунка интегральной схемы на кремниевой пластине.

Интересно, что в процессе производства интегральных схем ежедневно используется технология, с помощью которой в принципе возможно создание мельчайших элементов полупроводникового процессора. Электронно-лучевая (electron beams) литография позволяет сфокусированным пучком ("карандашом") заряженных частиц "рисовать" линии непосредственно на светочусвтвительном слое. Этот метод сейчас используется для прорисовки шаблонов схемы на фотолитографической маске. И в течение тех же 20 лет ученые лелеют надежду перенести технологию электронных лучей в процесс создания самой схемы. Однако электронные лучи - слишком медленный способ для данной задачи: электронный "карандаш" рисует каждый элемент процессора отдельно, поэтому на обработку одной схемы может уйти несколько часов, что недопустимо при массовом производстве. С середины 80-х в Bell Labs ведутся исследования сканирования широкого электронного луча по схеме. Как и в фотолитографии, этот метод использует проектирование лучей через маску и уменьшение изображения на маске с помощью линз. По оценкам ряда исследователей, в долгосрочной перспективе именно технология сканирования электронных лучей может стать наиболее реальной заменой традиционной литографии.

Поиск альтернативы транзисторам

В конце концов, компьютер - устройство физическое, и его базовые операции описываются законами физики. А с физической точки зрения тот тип транзистора, который является основой современной интегральной схемы, может быть уменьшен еще примерно в 10 раз, до размера в 0,03 мк. За этой гранью процесс включения/выключения микроскопических переключателей станет практически невозможным. Поведение транзисторов будет похоже на текущие краны - перемещение электрона с одного конца на другой выйдет из-под контроля.

Как уже говорилось, предел миниатюризации элементов процессора может наступить и раньше из-за различных физических и производственных проблем. Поэтому некоторые ученые формулируют задачу однозначно - найти физическую замену основе основ. Не транзистор, передающий и усиливающий электрический сигнал под действием поля, а нечто другое. Но что? Физики утверждают, например, что на определенном этапе миниатюризации элементы схемы станут настолько малы, что их поведение нужно будет описывать законами квантовой механики. В начале 80-х исследователи одной из научных лабораторий США показали, что компьютер в принципе может функционировать по квантово-механическим законам. В таком квантовом компьютере для хранения информации могут использоваться, например, атомы водорода, различные энергетические состояния которых будут соответствовать 0 и 1. Ученые ищут способы реализации квантовой логики. В нынешнем десятилетии в ряде научных центров США велись и ведутся достаточно активные работы по созданию архитектурных принципов квантовых компьютеров. Пока неясно, смогут ли (и насколько эффективно) машины, использующие совершенно иные физические принципы работы, решать традиционные математические задачи и тем более опередить в этом своих классических конкурентов. Однако продвигаются идеи о полезности квантовых компьютеров при моделировании именно квантовых физических систем.

Предлагаются и другие альтернативы транзистору, например нелинейные оптические устройства, в которых электрические токи и напряжения заменяет интенсивность оптических лучей. Реализация этой идеи связана с рядом проблем. Особенно важно, что, в отличие от электричества, свет плохо взаимодействует со светом, а взаимодействие сигналов - необходимое условие для реализации логических функций.

Не приходится пока говорить о перспективах массового производства квантовых или оптических компьютеров. Поэтому будущее (по крайней мере обозримое) компьютерной техники будет по-прежнему связано с транзисторами. Вполне возможно, что те реальные проблемы, которые встают на пути дальнейшего их уменьшения и о которых мы попытались дать представление нашему читателю, приведут к замедлению процесса появления новых поколений схем памяти и микропроцессоров, которые сейчас возникают с периодичностью примерно раз в три года. Разработчики будут искать другие пути повышения производительности процессоров, не связанные непосредственно с уменьшением компонентов интегральных схем. Например, увеличение размеров процессора позволит разместить на нем большее число транзисторов. Кристалл может стать "толще" - за счет увеличения числа горизонтальных уровней схемы можно повысить плотность размещения элементов памяти или логических устройств, не меняя их размера. А может быть, барьеры на пути создания еще более мощных и умных машин будут преодолены с помощью необыкновенно умного и мощного ПО, которое подчиняется уже совсем другим, отнюдь не физическим законам.

Как это делается

Процесс производства микосхемы можно разбить на несколько этапов

1. Разработка микропроцессора. На квадратной кремниевой пластинке размером с ноготь ребенка необходимо построить схему из миллионов транзисторов, при этом их расположение и соединения между ними должны быть разработаны заранее и с предельной тщательностью. Каждый транзистор в схеме выполняет определенную функцию, группа транзисторов комбинируется таким образом, чтобы реализовать определенный элемент схемы. Разработчик должен также учитывать назначение данного кристалла. Структура процессора, выполняющего команды, будет отличаться от интегральной схемы памяти, которая хранит данные. Поскольку современные микропроцессоры имеют очень сложную структуру, их разработка ведется с помощью компьютера.

2. Создание кремниевой пластины. Базовым материалом для построения интегральной схемы выбран кристалл кремния, одного из самых распространенных на земле элементов с естественными свойствами полупроводника. Для производства микропроцессора выделенный из кварца кремний подвергается химической обработке. Из полученного в результате 100-процентного кремния путем переплавки формируют цилиндрический слиток, который затем разрезается на пластины толщиной менее миллиметра. Пластина полируется до тех пор, пока не будет получена абсолютно гладкая, зеркальная поверхность. Кремниевые пластины, как правило, имеют диаметр 200 мм, однако уже в ближайшее время планируется перейти на стандарт диаметра 300 мм. Поскольку на одной пластине размещаются сотни микропроцессоров, увеличение диаметра позволит увеличить число схем, которые производятся за один раз, и, следовательно, снизить стоимость одного процессора.

3. Создание начальных уровней. После того как подготовлена кремниевая пластина, начинается непосредственно процесс создания интегральной схемы. Транзисторы и соединения между ними реализуются за несколько базовых этапов, последовательность которых повторяется множество раз. Наиболее сложные микропроцессоры могут включать более 20 уровней, и для их создания требуется предпринять несколько сотен производственных шагов.

Прежде всего над кремниевой основой чипа создается уровень изолятора - двуокись кремния. Для этого пластина помещается в специальную печь, в которой на ее поверх-

ности наращивается тонкий слой изолятора. Затем пластина подготавливается к первому наложению шаблона схемы. С помощью специальной машины поверхность пластины равномерно покрывается светочувствительным полимерным веществом, которое под действием ультрафиолетовых лучей приобретает способность растворяться.

4. Фотолитография (маскирование). Для того чтобы нанести рисунок схемы на пластину, с помощью управляемой компьютером машины (степпера) выполняется фотолитография - процесс пропускания ультрафиолетовых лучей через маску. Сложная система линз уменьшает заданный на маске шаблон до микроскопических размеров схемы. Кремниевая пластина закрепляется на позиционном столе под системой линз и перемещается с его помощью таким образом, чтобы были последовательно обработаны все размещенные на пластине микропроцессоры. Ультрафиолетовые лучи от дуговой лампы или лазера проходят через свободные пространства на маске. Под их действием светочувствительный слой в соответствующих местах пластины приобретает способность к растворению и затем удаляется органическими растворителями.

5. Травление. На этом этапе оставшийся светочувствительный слой защищает нижележащий уровень изолятора от удаления при обработке кислотой (или реактивным газом), с помощью которой рисунок схемы протравливается на поверхности пластины. Затем этот защитный светочувствительный уровень удаляется.

6. Создание дополнительных уровней. Дальнейшие процессы маскирования и травления определяют размещение дополнительных материалов на поверхности пластины, таких как проводящий поликристаллический кремний, а также различные оксиды и металлы. В результате на кремниевой пластине создается необходимая комбинация проводящих и непроводящих областей, которая на следующем этапе позволит реализовать транзисторы в интегральной схеме.

7. Осаждение примесей. На этом этапе к кремнию на пластине в определенных местах добавляются примеси, такие как бор или мышьяк, которые позволяют изменить способ передачи электрического тока полупроводником. Базовый материал микропроцессора - это кремний с p-проводимостью. Во время травления в нужных местах удаляются нанесенные ранее на базовый кремний слои проводника (поликристаллического кремния) и изолятора (двуокиси кремния), так чтобы оставлять открытыми две полосы р-области, разделенные полосой с неудаленными изолятором и проводником (затвор будущего транзистора). Добавление примесей преобразует верхний уровень р-областей в n-области, формируя исток и сток транзистора. Выполненные многократно, эти операции позволяют создать огромное количество транзисторов, необходимых для реализации микропроцессора. Следующая задача - соединить их между собой, для того чтобы интегральная схема могла выполнять свои функции.

8. Соединения. Очередные операции маскирования и травления открывают области электрических контактов между различными уровнями чипа. Затем на пластину осаждается слой алюминия и на его основе с помощью фотолитографии формируется схема соединений между всеми транзисторами на микропроцессоре.

На этом обработка исходной кремниевой пластины завершается. Затем каждый процессор на пластине подвергается тщательной проверке на правильность функционирования его электрических соединений, после чего специальная машина разрезает пластину на отдельные интегральные схемы. Качественные процессоры отделяются от бракованных и могут использоваться по назначению.

 
Статьи по теме:
Не работает разблокировка при открытии Smart Cover на iPad Honor 6c отключение при закрывании чехла
Чехол S View, которым Samsung оснащает свои смартфоны напоминает нам о старых добрых временах, когда телефоны-раскладушки оснащались небольшим дополнительным дисплеем на задней части крышки. Если вы ни разу не видели S View – то это обычный чехол в виде к
Блокировка в случае кражи или потери телефона
Порою случаются такие моменты, когда возникает необходимость произвести блокировку своей сим карты на определённый период времени. Возможно вы хотите в последствии изменить свой тарифный план или вовсе перестать пользоваться услугами своего мобильного опе
Прошивка телефона, смартфона и планшета ZTE
On this page, you will find the official link to download ZTE Blade L3 Stock Firmware ROM (flash file) on your Computer. Firmware comes in a zip package, which contains Flash File, Flash Tool, USB Driver and How-to Flash Manual. How to FlashStep 1 : Downl
Завис компьютер — какие клавиши нажать на клавиатуре, как перезагрузить или выключить
F1- вызывает «справку» Windows или окно помощи активной программы. В Microsoft Word комбинация клавиш Shift+F1 показывает форматирование текста; F2- переименовывает выделенный объект на рабочем столе или в окне проводника; F3- открывает окно поиска файла