adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Введение в микропроцессор 80386
Автор ""
Размер 247364 Байт
Страница 4 из 24
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

   є   є                 є    ЙНКННН>є           є   є
   є   є       8         є    є      є           є   є
   є   МНННННННННННННННННє    є      ИНННННННННННј   є
   ИНН>є  дескриптор     МННННј                    ННј
       МННННННННННННННННН№
       є                 є
       є                 є
       ИНННННННННННННННННј

                    Рис.2-4.
                           
               
     2.2.3. Регистры сегментов и дескрипторов
     
     Для повышения эффективности логической адресации в 80386
введено 6 регистров сегментов и дескрипторов (см. Рис.2-5).

    1 - Сегмент               2 - Дескриптор
 15              0 63                             0
 ЙННННННННННННННН» ЙНННННННННННННННННННННННННННННН»
 є  3-селектор   є є 4-базовый адрес,размер и т.Д.є 5 Кодовый
 є               є є                              є   сегмент
 МННННННННННННННН№ МНННННННННННННННННННННННННННННН№
 є               є є                              є 6 Стек
 МННННННННННННННН№ МНННННННННННННННННННННННННННННН№
 є               є є                              є 7 Данные
 МННННННННННННННН№ МНННННННННННННННННННННННННННННН№
 є               є є                              є 7
 МННННННННННННННН№ МНННННННННННННННННННННННННННННН№
 є               є є                              є 7
 МННННННННННННННН№ МНННННННННННННННННННННННННННННН№
 є               є є                              є 7
 ИНННННННННННННННј ИННННННННННННННННННННННННННННННј

     8 остальные поля дескрипторов описываются в главе 3.
     
     Фактически  эти регистры используются как программно уп-
равляемый кэш, позволяющий исключить  из  большенства  команд
селекторы и производить трансляцию большинства логических ад-
ресов внутри кристалла без обращений к таблице дескрипторов.
     Адресные  ссылки  в  большинстве программ производятся в
небольших адресных диапазонах (такая "локальность ссылок" де-
лают виртуальную память практичной). Например, если процедура
хранится в сегменте, то вероятнее всего большое число  команд
будет  считано  из сегмента прежде, чем управление перейдет к
другой процедуре в  другом  сегменте.  Локальность  ссылок  в
80386  обеспечивается  программно, путем запоминания во внут-
ренних регистрах последних использовавшихся селекторов и дес-
крипторов. Внутреннее хранение дескрипторов позволяет  транс-
лировать большинство логических адресов без обращений к памя-
ти, занимающих много времени.
     В любой момент времени можно адресовать до шести сегмен-
тов: кодовый сегмент, сегмент стека и четыре сегмента данных.
В  сегментных  регистрах CS, SS, DS, ES, FS и GS хранятся се-
лекторы этих сегментов. Их дескрипторы хранятся в  соответст-
вующих  регистрах  дескрипторов. В случае необходимости прог-
рамма может сделать адресуемым новый сегмент с  помощью  заг-
рузки селектора нового сегмента в сегментный регистр. Процес-
сор  автоматически поддерживает регистры дескрипторов, загру-
жая требуемый дескриптор каждый раз, когда  программа  меняет
сегментный  регистр. (Фактически, регистры дескрипторов могут
загружаться только процессором; программе они  не  доступны).
Счетчик  команд  содержит  смещение текущей команды в текущем
кодовом сегменте (определяемом регистром CS), а  регистр  ESP
содержит смещение вершины стека в текущем сегменте стека (оп-
ределяемом регистром SS).
     Высокая  эффективность дешифрации команд достигается для
большинства из них благодаря отсутствию явных ссылок на  сег-
ментные регистры. Например, в командах перехода и занесение в
стек  ссылки,  соответственно,  на регистры CS и SS, делаются
неявно. В случае необходимости программист может указать про-
цессору на использование конкретного сегмента в данной коман-
де, что осуществляется путем добавления перед командой  одно-
байтного  префикса  перемены сегмента. Префикс указывает про-
цессору на регистр сегмента, который должен использоваться  в
трансляции адреса в следующей за префиксом команде.
     Сегмент,  базовый  адрес  которого равен 0, а предельный
размер - 4гбайт,  определяет  4гбайтное  логическое  адресное
пространство. Поскольку процессор выбирает сегментный регистр
автоматически,  то команда может ссылаться на операнд в любой
ячейке этого 4гбайтного  пространства  с  помощью  32-битного
смещения.  Если,  как показано на рис.2-6, Все регистры деск-
рипторов будут загружены базовым адресом 0 к предельным  раз-
мерам  4гбайт, то в этом случае сегменты исчезают. Любой байт
в логическом адресном пространстве, независимо от  того,  ко-
мандный это байт или байт данных, или же элемент стека, адре-
суется  с  помощью простого 32-байтного смещения. Таким обра-
зом, сегментные регистры дают 80386 шесть одновременно  адре-
суемых  логических  адресных  пространств  размером до 4гбайт
каждое. В том случае, если эти сегменты совпадают,  то  прог-
рамма  будет  располагать одним 4гбайтным логическим адресным
пространстве, идентичным такому пространству, которое обеспе-
чивается менее гибкими 32-битными архитектурами.
     
     2.2.4. Способы адресации
     
     Микропроцессор 80386 обеспечивает регистровую  и  непос-





редственную адресацию операндов, содержащихся, соответствен- но, в регистрах или командах. Eще более важным является спо- собность 80386 обеспечивать различные способы адресации необ- ходимые для эффективного обращения к таким элементам структур данных в памяти как массивы, записи (структуры), массивы за- писей и записи, содержащие массивы. При этом программа опре- деляет поле смещения в логическом адресе по одному из спосо- бов адресации памяти в 80386. Процессор 80386 вычисляет поле смещения логического адреса по следующей формуле: смещение = база + (идекс X масштаб) + отклонение Для вычисления смещения могут быть использованы любые или все переменные базы, индекса и отклонения. Переменные ба- зы и индекса являются величинами, хранящимися в общих регис- рах, а величина отклонения содержится в команде. Для хранения базы или индекса может быть использован любой общий регистр. Величина в индексном регистре может быть отмаштабирована (ум- ножена) коэффициэнтом 1,2,4 или 8, что дает возможность де- лать ссылки на элементы массива или записи соответствующей длины. Величина отклонения может иметь разрядность 8 или 32 бит и интерпретируется процесспром как величина со знаком в дополнительном коде. Разумные комбинации базы, индекса и отклонения дают сле- дующие способы адресации памяти 80386: - прямая: используется только отклонение; - регистривая косвенная: используется только база; - базовая: используется база + отклонение; - индексная: используется индекс (в масштабе); - индексная с отклонением: используется индекс (в масш- табе) + отклонение; - базовая индексная: используется база + индекс (в масш- табе); - базовая индексная с отклонением: используется база + индекс (в масштабе) + отклонение; 2.3. Типы данных и команды В данном разделе будут рассмотрены команды, чаще всего используемые программистами. Поскольку большинство команд оперирует с конкретными типами данных (например, с целыми), эти типы и команды рассматриваются совместно. Привилегирован- ные команды, включая те, которые осуществляют ввод/вывод и обработку прерываний будут рассмотрены в главе 3. 2.3.1. Главные типы данных В табл. 2-1 Перечислены типы данных и команды, обеспечи- ваемые процессором 80386. В этой таблице приведены только на- иболее употребимые команды. Варианты команд, такие как (в случае циклического сдвига) циклический сдвиг вправо и цикли- ческий сдвиг через перенос, также опущены. Таблица 2-1. Главные типы данных и команды ЙНННННННННННННЛНННННННННННННННЛННННННННННННННННННННННННННННН» є Тип є Разрядность є Команды є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єЦелое, є 8, 16, 32 бит єПересылка, обмен, преобразо-є єпорядковое є євание, проверка, сравнение,є є є єперевод, сдвиг, двойнойє є є єсдвиг, циклический сдвиг, от-є є є єрицание, логическое "и",є є є є"или", исключающее "или".є є є єСложение, вычитание, умноже-є є є єние, деление, увеличение нає є є є1, уменьшение на 1, переводє є є є(пересылка с расширением зна-є є є єка/ноля) є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єНеупакованноеє 1 цифра єКоррекция для сложения, є єдесятичное є євычитания,умножения, деления є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єУпакованное є 2 цифры єКоррекция для сложения, є єдесятичное є євычитания є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єСтрока є 0-4гбайт слов,єПересылка, загрузка, є є(байтов,слов,є двойных слов єзапоминание, сравнение, є єдвойных слов)є єпросмотр, повтор є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єСтрока бит є 1-4гбит єПроверка, проверка и установ-є є є єка, проверка и гашение, про-є є є єверка и дополнение, просмотр,є є є євставление, из'ятие є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єЛокальный є 32 бит є (см. Порядковое) є єуказатель є є є МНННННННННННННОНННННННННННННННОННННННННННННННННННННННННННННН№ єГлобальный є 48 бит є Загрузка є єуказатель є є є ИНННННННННННННКНННННННННННННННКНННННННННННННННННННННННННННННј Примечание. Локальный указатель - 32 битное смещение в сегменте, определенном одной из регистрированных пар сегмен- та/дескриптора. Глобальный указатель - это полный логический адрес, состоящий из селектора и смещения. На рис.2-7 показаны примеры того, как главные типы дан- ных хранятся в памяти. Многобайтные элементы могут размещать- ся с любого адреса байта в зависимости от структуры магистра- ли, для обращения к операндам, размещенным по адресу, не кратным длине операнда в байтах, могут потребоваться дополни- тельные магистральные циклы. Поэтому для высокой производи-


Страницы : 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.