Главная » Просмотр файлов » Жмакин А.П. Архитектура ЭВМ (2006)

Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 26

Файл №1186252 Жмакин А.П. Архитектура ЭВМ (2006) (Жмакин А.П. Архитектура ЭВМ (2006)) 26 страницаЖмакин А.П. Архитектура ЭВМ (2006) (1186252) страница 262020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 26)

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

Прежде всего, желание иметь возможность располагать подпрограммы в произвольной области памяти приводит к необходимости размещать в поле адреса команды вызова полноразрядный адрес (16— 20— 32 бита). В этом случае длина команды превышает длину машинного слова и ее ввод требует нескольких машинных циклов (например, в i8080 — трех), что увеличивает время реакции системы на запрос прерывания.

Для преодоления этого недостатка в систему команд процессора включают дополнительно "укороченные" команды вызова длиной в одно машинное слово. Эти команды в процессорах 8080 и *86 имеют мнемокод int. В микропроцессоре i8080 имеется 8 таких команд длиной в 1 байт, адресующих под­программы по фиксированным адресам памяти: OOOOh, 0008h, OOlOh, 0038h.

В процессорах xS6 имеется 256 вариантов двухбайтовых команд int ooh, int FFh, байт поля адреса которых (называемый вектором) после умножения на 4 указывает на четырехбайтовую структуру, определяющую произвольный адрес в адресном пространстве памяти.

Напомним, что доступ в память процессоров *86 (в реальном режиме) осу­ществляется только в рамках сегментов размером в 64 Кбайт. Положение на­чала сегмента в адресном пространстве памяти определяется содержимым 16-разрядного сегментного регистра, а положение адресуемого байта внутри сегмента— 16-разрядным смещением. Среди команд передачи управления различают короткие и длинные переходы (вызовы). При коротком вызове подпрограмма должна располагаться в текущем сегменте кода, и ее вызов сопровождается только изменением счетчика команд (в *86 он обозначается, как IP). При длинном вызове новое значение загружается как в IP, так и в сегментный регистр кода CS. Таким образом, для осуществления длинного вызова (перехода) в адресном поле команды необходимо разместить 4 байта.

Механизм векторных прерываний в процессорах *86 в реальном режиме реа­лизован следующим образом. В начальных адресах OOOOOh,003FFh про­странства памяти размещается таблица векторов прерываний объемом 1 Кбайт, включающая 256 строк таблицы — четырехбайтовых структур CS:IP, которые определяют адреса соответствующих обработчиков прерыва­ний. В цикле обработки векторного прерывания (запрос по входу INT), про­цессор получает от источника байт — номер строки таблицы векторов пре­рываний, из которой и загружаются новые значения CS и IP. Старые значения CS:IP (адрес возврата) размещаются в стеке.

Запросу по радиальному входу NMI соответствует вектор 2, поэтому появле­ние активного значения не вызывает машинного цикла обслуживания преры­вания, а сразу вызывается обработчик по адресу из ячеек памяти 00008h, OOOOBh. Кстати, любой обработчик прерывания (независимо от значения маскирующих флагов) можно вызвать программно с помощью команды int пп, где пп — номер строки таблицы векторов прерываний.

Таким образом, команда int отличается от команды call, во-первых, спосо­бом адресации вызываемой подпрограммы (прямой адрес — в команде call, косвенный — в int), во-вторых, при реализации int в стек, помимо CS и IP, помещается содержимое регистра признаков процессора — FLAGS. Соответ­ственно, завершаться подпрограмма, вызываемая командой int, должна командой iret ("возврат из прерывания"). Действие iret отличается от дейст­вия ret извлечением из стека дополнительного слова в регистр FLAGS.

6.3.4. Прямой доступ в память

В процессе работы МПС с интерфейсом типа "общая шина" часто возникает необходимость передачи достаточно больших массивов данных между па­мятью и ВУ (например, копирование сектора диска, загрузка видеопамяти и т. п.). При наличии в системе единственного активного устройства — про­цессора возможен единственный путь решения этой задачи— программно-управляемый обмен "Память -> Процессор -» ВУ" (или "ВУ -> Процессор -» Память").

Рассмотрим вариант программно-управляемого обмена между памятью и внешним устройством в МПС на базе МП i8080 [13]. Пусть необходимо пе­редать массив данных длиной L, начиная с адреса ADR на ВУ с адресом АЮ. Положим, что начальный адрес массива загружен в регистровую пару HL, а длина массива — в регистр С. Тогда фрагмент программы обмена мо­жет иметь вид, представленный в табл. 6.2.

Таким образом, для того чтобы в рамках процедуры копирования массива данных переслать из памяти в ВУ один байт данных, потребуется десять ма­шинных циклов. Процессоры с более совершенной системой команд (напри­мер, jc86) могут использовать для этой цели меньшее число МЦ, но все равно их будет более одного.

Управляя обменом, микропроцессор "ведет" два счетчика — адресов массива и количества переданных байтов и формирует на магистраль сигналы управ­ления. Если снабдить ВУ аппаратными счетчиками и схемой формирования управляющих сигналов (т. н. "канал прямого доступа в память" — ПДП), то передачу одного байта (слова) можно осуществить за один МЦ без участия процессора. Необходимо лишь на время передачи данных под управлением канала ПДП блокировать работу процессора, отключив его от системной ши­ны. Для этого служит вход захвата шины HLD. Если подать на него активный уровень, то МП по окончании текущего МЦ, безусловно, перейдет в режим ожидания, переведя все свои выходные линии, кроме HLDA, в высокоимпе-дансное состояние, а выход HLDA— в состояние логической 1. Выходной сигнал^ HLDA используется для отключения процессорного модуля от сис­темной шины — перевода шинных формирователей, включенных между ло­кальной и системной шиной, в высокоимпедансное состояние. Если в МПС используется несколько ВУ, снабженных каналом ПДП, то целе­сообразно использовать специальный контроллер ПДП, который обеспечива­ет программирование каналов ПДП, подключение их к системной шине и дисциплину обслуживания.

Глава 7

Эволюция архитектур микропроцессоров и микроЭВМ

В главе 6 была рассмотрена архитектура 16-разрядного микропроцессо­ра i8086 и систем на его основе. Эту архитектуру мы (условно) будем считать базовой. Уже в ней по сравнению с первыми 8-разрядными системами (на базе i8080) реализован ряд новых архитектурных решений:

□ расширена система команд (по набору операций и способам адресации);

□ архитектура микропроцессора ориентирована на мультипроцессорную ра­боту. Разработана группа вспомогательных БИС (контроллеров и специа­лизированных процессоров) для организации мультимикропроцессорных систем различной конфигурации;

□ начато движение в сторону совмещения во времени выполнения различ­ных операций. Микропроцессор включает два параллельно работающих устройства: обработки данных и связи с магистралью, что позволяет со­вместить во времени процессы обработки информации и передачи ее по магистрали;

□ введена новая (по сравнению с i8080) организация памяти, которая далее использовалась во всех старших моделях семейства Intel — сегментация памяти.

Можно сказать, что основная цель совершенствования микропроцессоров — это увеличение их производительности. Достигается эта цель различными путями: повышением тактовой частоты работы кристалла, совершенствова­нием операционных устройств (например, применение параллельного умно­жителя), организацией параллельной во времени работы нескольких уст­ройств, совершенствованием системы команд (с ориентацией под конкретный класс задач), эффективной организацией иерархии памяти, опережающим выполнением ряда процедур командных циклов, организацией мультизадач­ных и мультипроцессорных систем и другими способами.

На примере микропроцессоров Intel линии 8080 ->• 8086 -» 80286 -> 80386 -> 80486 -> Pentium -»... -> Pentium 4 (это семейство принято обозначать как х86) можно проследить реализацию многих из перечисленных выше путей. Рассмотрим некоторые из них, не придерживаясь хронологической последо­вательности нововведений. Более подробные сведения о рассматриваемых в этой главе вопросах можно найти в [3, 11, 12, 14].

7.1. Защищенный режим и организация памяти

Первый шаг для увеличения производительности систем на базе процессоров х86 был сделан в направлении мультипроцессорной конфигурации. В 8086 предусмотрены два режима работы — минимальный и максимальный (см. разд. 6.1.1), причем последний ориентирован на организацию мультипроцес­сорных систем. Часть выводов микропроцессора в максимальном режиме вместо сигналов управления шиной передает коды внутренних состояний управляющего автомата; кроме того, в составе серии выпускались специали­зированные модули, которые обеспечивали доступ микропроцессора к сис­темной шине — арбитраж шины.

Однако широкого распространения подобная архитектура не получила, по­скольку при отсутствии на кристалле микропроцессора достаточно "вмести­тельной" внутренней памяти процессоры постоянно ожидают в очереди на доступ к шине. Характерно, что в последующих моделях семейства— 80286, 80386, 80486 поддерживалась только однопроцессорная конфигурация, и лишь в Pentium вновь вернулись к возможности организации многопроцес­сорных систем.

7.1.1. Сегментная организация памяти

Как вы, очевидно, помните, в микропроцессоре 8086 в рамках адресного про­странства объемом 1 Мбайт одновременно было доступно четыре сегмента по 64 Кбайт каждый.

В следующих моделях микропроцессоров семейства лг86' в рамках т. н. за­щищенного режима (protect mode, Р-режим) организовано линейное адресное

пространство объемом 2 байтов, в котором допускается создание практи­чески любого числа сегментов.

Если в 8086 единственным атрибутом сегмента был его начальный адрес, то в Р-режиме старших моделей семейства х86 для описания многочисленных ат­рибутов предусмотрена специальная структура — дескриптор.

Дескриптор— это 8-байтовый блок, содержащий атрибуты области линей­ных адресов — сегмента. Дескриптор включает в себя информацию о поло­жении сегмента в линейном адресном пространстве, размере сегмента, типе информации, хранящемся в сегменте и правах доступа к ней, а также другие атрибуты сегмента. Формат дескриптора представлен на рис. 7.1.

Назначение полей дескриптора:

базовый адрес1 [31:0] определяет место сегмента (начальный адрес) внут­ри 4-гигабайтного адресного пространства;

предел [19:0] определяет размер сегмента с учетом бита гранулярности (см. далее).

Поле атрибутов включает следующие признаки:

□ G — бит гранулярности. При значении G = 0 размер сегмента задается в байтах, а при G = 1 — в страницах по 4 Кбайт. В первом случае макси­мальный размер сегмента может достигать 1 Мбайт, во втором — 4 Гбайт;

□ D — бит размера по умолчанию (от англ. defaults size) обеспечивает со­вместимость с процессором 80286. При D = 0 находящиеся в сегменте операнды считаются имеющими размер 16 битов, иначе — 32 бита;

□ X — зарезервирован Intel и не должен использоваться программистом (со­держит 0);

□ U— бит пользователя (от англ. user) предназначен для использования системным программистом. Процессор игнорирует этот бит.

Байт права доступа (AR) имеет несколько отличающуюся структуру для де­скрипторов сегментов разных типов, но некоторые поля этого байта являются общими для всех дескрипторов:

□ Р — бит присутствия (от англ. present) сегмента, если Р = 0, то дескриптор не может использоваться, т. к. сегмент отсутствует в ОЗУ. При обращении к сегменту, дескриптор которого имеет Р = 0, формируется соответствую­щее прерывание;

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее