Основы информатики
p align="left">Стирание: на АЛ - -Uc на Uпит - +Uc. Если в ПЗ имеються электроны, то они туннелируют в Uпит.19. КЭШ - память, (общая характеристика ) Кеш-память (SRAM) используется для ускорения обмена информации между ОП ВМ, которая реализована на DRAM, и быстродействующим процессором. Она позволяет снизить простои процессора, при обращении к ОП и , тем самым, повысить производительность ЭВМ. Кеш-память реализована на основе статических триггеров SRAM, которая обладает высоким быстродействием и допускает многократное считывание без разрушения информации. Система Кеш-памяти: Контролер Кеш-памяти предназначен для управления ресурсами кэш-памяти и наиболее эффективного ее использования. При обращении к памяти процессор выставляет на шину адреса адрес ОП, интересующей его информации. Контролер Кеш-памяти проверяет имеется ли такая информация в кэш-памяти, если имеется она немедленно передается процессору, если нет возвращает кэш-памяти отказ. При отказе контролер по адресу находим информацию в ОП и передает ее в кэш. После чего команда повторяется. В том случае, если при обращении к памяти требуемая инф-ция находится в кэш говорят о кэш попадании, если нет - о кэш промахе. Коэффициент попадания определяется как отношение числа попаданий к общему числу обращений. Коэффициент зависит от объема и организации кэш-памяти, от алгоритма поиска инф-ции и особенности выполняемой программы. При обращении к ОП контролер кэш обеспечивает передачу данных из ОП в кэш-память в виде блоков, которые могут иметь длину 2, 4, 8 и 16 бит. Эти блоки содержат не только ту информацию, которую процессор требует из памяти в данный момент времени, но и ин-цию, которая может потребоваться в дальнейшем. При считывание ин-ции из ОП в кэш. Это может осуществляться тремя путями. С упреждением - в считываемом блоке содержится не только данный байт, но и байты с большими адресами, которые могут потребоваться в дальнейшем. С отставанием _ в ОП считывается предшествующий ему байт. С упреждением и с отставанием. Длина блока передающегося из ОП в кэш влияет на эффективность кэш-памяти. При небольших размерах блока снижается коэффициент попадания. В современных ЭВМ используется длина слова 2 или 4. Растет разрядность шины. КЭШ - память имеет строчную организацию. Одну и ту же строку Кэш могут занимать различные блоки данных. Для того, чтобы знать, какой блокданных занимает в данный момент времени строку Кэш, исп. спец. код - ТЭГ, который размещается в начале строки. В зависимости от того, каким обр. сравнительно большая ОП отображается в в ср. малой Кэш памяти различают три типа архитектуры Кэш: кэш с прямым отображением, полностью ассоциативные Кэш, наборно - ассоциативная Кэш. 20. Кэш-память с прямым отображением Каждая строка такой кэш однозначно определяется адресом выставляемым процессором. На одну строку может претендовать два или более блоков. Контролер кэш такого типа выделяет в адресе три группы бит. Старшая группа бит образует Тег , по которому выбирается линия в кэш затребованной информации. Младшая группа бит называется смещением. Определяет положение байта внутри строки. Промежуточная группа бит определяет номер строки кэш. В соответствии с адресом, получаемым от процессора контролер кэш по смещению определяет нужную информацию. Процессор по номеру определяет строку кэш-памяти и сравнивает ее Тег со старшими битами адреса. Если имеет место совпадение данные, начиная с байта, номер которого определяется в строке смещением пересылается процессору. Если Тег не совпадает со старшими битами адреса происходит обращение контролера кэш к ОП, из которой ин-ция передается в процессор. Достоинство - простота аппаратной реализации, фактически требуется только аппаратная часть дя сравнения Тега строки со старшими битами адреса. Недостаток - большая вероятность конфликтов, которые приводят к тому, что если два или более блоков одинаково часто используемых процессором претендуют на одну и туже строку кэш. Это снижает оперативность обмена между процессором и памятью. 21. Полностью ассоциативная и наборно ассоциативная кэш-память Ассоциат-я кэш-память. В этом случае информация поступившая из процессора или переносимая из ОП может расположится в любой строке кэш. Адрес рассматривается контролером кэш, состоящим из двух групп бит: младшие биты и смещение. В соответствии с адресом выставленном процессором, контролер кэш осуществляет параллельный ассоциативный поиск во всех строках кэш. В качестве ассоциативного признака используются старшие биты адреса, которые сравниваются с тегами строк. Если в кэш имеется строка, удовлетворяющая ассоциативному признаку, из той строки процессору предаются байты, начина яс номера, определяемого смещением. Достоинством ассоциативной кэш является то, что инф-я может располагаться в любой строке. Недостатком является большие аппаратные затраты для параллельного поиска во всех строках кэш. Наборно-ассоциативная кэш-память. В этом случае все строки кэш разделяются на группы (наборы). В представленных наборах осуществляется ассоциативный поиск. А инф-ция о ноборе задается в коде адреса В этом случае контролер кэш по мере набора определяет группу строк, в которой осуществляется параллельный ассоциативный поиск, если требу-я ин-цмя имеется в наборе. В соответствии со смещением осуществляется пересылка ин-ции из строки в процессор. В современных ЭВМ наиболее часто используется кэш-память с двумя и четырьмя наборами. 22. Обновление КЭШ - памяти В системах с КЭШ - памятью нужно учитывать, что в ЭВМ хранится одновременно две копии инф. с одинаковыми адресами - одна в КЭШ, другая в ОП. При модификации данных они прежде всего заносятся в КЭШ. Может возникнуть ситуация, когда в КЭШ и ОП по одному и тому же адресу будут храниться различные данные. Для недопущения ситуации, когда в процессе исполнения программы могут быть использованы старые данные, что приведет к ошибке, сущ. спец. способы обновления КЭШ - памяти. Системы со сквозной записью - в этом случае модифицированные данные заносятся в КЭШ и сразу же перезаписываются в ОП. Это исключает появление различных копий в ОП и КЭШ. Недостатком этого способа обновления явл. частое обр. к ОП, что снижает производительность системы. Система со сквозной записью и буферизацией - в этом случае модиф. данные задерживаются в КЭШ (спец. буфере перед записью их в ОП). Это дает возможность проц. приступить к выполнению след. команды не дожидаясь, пока данные будут переписаны из КЭШ в ОП. В этом случае увеличение произв. обеспечивается, если при выполнении след. команды имеет место КЭШ - попадание. В рассматриваемом случае (как и в предыдущем) модифиц. данные, хранящ. в КЭШ могут быть исп. каким - либо устр-вом ЭВМ только после перезаписи их в ОП. Обычно КЭШ имеет только1 буфер. Повторная запись - в этом случае в тэге КЭШ - памяти исп. дополнительный бит изменения. Этот бит устанавливается в 1, если в данную строку КЭШ занесены модиф. данные, кот. ещё не перезаписаны в ОП. При обращении к строке КЭШ контроллер кэш проверяет бит изменения, если в нем 1 перед занесением в эту строку новых данных контроллер перезаписывает их в ОП, после этого записывает новые, если бит изменения 0, в строку кэш сразу же записываются новые данные без перенесения строки в ОП. 23. Назначение процессора и классификация операций Процессор - это центральное устройство ЭВМ, осуществляющее обработку данных и управление этим процессом. Проц. декодирует и выполняет команды программы, организует обращение к ОП, инициирует работу периферийных устройств, принимает и обрабатывает запросы прерываний, поступающих от устройств ЭВМ и из внешней среды. Действие проц., задаваемые одной командой программы наз. машинной операцией. Операции делятся: арифметико-логические, сдвига, пересылки, управления, ввода-вывода, арифметические, операции присвоения знака, прибавление переноса, вычет заема, сложение, вычитание, умножение, деление, логические. операции отрицания, дизъюнкции, конъюнкции, сложение по модулю 2 - М2., cдвига. Операции арифметического сдвига, циклического сдвига, логического сдвига. При выполнении этих опер. двоичный код сдвигается в разрядной сетке влево или вправо. Логический сдвиг - это такой сдвиг, когда освобождающиеся при сдвиге разряды заполняются нулями, а разряды кода, выходящие за пределы разрядной сетки теряются. При лог. сдвиге сдвигаются все разряды кода. Арифметический сдвиг - сдвигаются все цифровые биты числа по тем же правилам, без изменения положения знакового бита. В случае прямых кодов чисел и полож. чисел в любом коде освобождающиеся биты заполняются 0. Циклический сдвиг - в этом случае выходящие за пределы разрядной сетки разряды слова передаются в освобождающиеся разряды. Пересылки. Обеспечивает перемещение инф. между регистрами процессора, регистрами и ячейками ОП, между ячейками ОП. Делятся на пересылочные операции типа регистр - регистр, регистр - память, память - память. Управления. Управляют процессом выполнения программы и состоянием процессора ЭВМ. К операциям, управляющим процессом отн.: операции безусловного и условного перехода, вызова подпрограмм, возврата из подпрограмм. Операции безусловного перехода позволяют изменить порядок выполнения программы, условного перехода - при выполнении некоторого условия. Операции вызова подпрограммы обеспечивают запоминание адреса возврата и передают управление по адресу, соотв. адресу первой команды подпрограммы. Операции возврата из подпрограммы обеспечивает передачу управления по адресу, который был заполнен при вызове подпрограммы. Команды управления состоянием процессора позволяют фиксировать признаки результатов операций, устанавливают приоритеты процессов, переводить процессор в режим ожидания и режим обработки прерываний. Состояние процессора фиксируется в регистре флагов с помощью установки определенных бит этого регистра в 0 или 1. Команды упр. процессором позв. воздействовать на отдельные биты регистра флагов. Так, например, команды признака результатов позв. установку бита регистра флагов Z в 1, если результат операции 0. 24. Форматы команд процессора ЭВМ осуществляет автоматическую обработку инф., используя программное управление. Программа - алг. решения задачи, предоставленный в виде последовательности машинных команд. Маш. ком-а - двоичный код, содержащий информацию о типе выполняемой операции и адресы операндов, участвующих в операции. Команда состоит из операционной и адресной части: Операционная часть содержит код операции Коп, указывающий процессору, какая операция подлежит выполнению. Адресная часть содержит инф. о адресах операндов. В общем случае обе части могут состоять из ряда полей, которые имеют определённое функциональное назначение. Форматом команды называется её структура, представленная с нумерацией бит, границ полей с указанием их функционального назначения. В общем случае , адресная часть формата команды должна содержать поля, дающую информацию об адресе операндов, адресе по которому размещается результат и адрес следующей команды, подлежащей выполнению. Такой формат называется четырёх адресным и имеет вид: А1, А2 - адреса операндов (для однооперандных команд имеется одно поле А1) А3 - адрес, по которому размещается результат выполняемой операции. А4 - адрес следующей команды, подлежащей выполнению. Данный формат является избыточным и не используется в ЭВМ т.к. команды ( исп. команды переходов) выполняются в естественном порядке следования их в программе. Это позволяет процессору автоматически вычислять адрес следующей команды, прибавляя к текущему адресу А, выполняемой команды, ее длину L байт. Поэтому в форматах команд поле А4 не указывается Это приводит к трёхадресной команде, имеющей формат: Трёхадресные команды также не нашли применение в соврем. ЭВМ. Используются команды, подразумевающие по умолчанию размещение результата операции по адресу одного из операндов, либо результат размещается в специально отведённом для этого регистре процессора, называемом аккумулятором: Операнды размещаются по адресам А1, А2 , а результат выполнения операции заносится по адресу первого операнда А1 при этом значение операнда теряется. Использование аккумулятора позволяет по умолчанию размещать один из операндов в нём и не указывать адрес этого операнда в команде. В этом случае команда одноадресная и имеет формат Существуют команды, которые не содержат адресной части (безадресные команды), например команды управления Адресная часть команд, представленная в приведённых выше форматах , имеет схематический характер в том смысле, что в этой части команды могут представляться не непосредственно адреса операндов, а некоторый код, позволяющий определить адрес. Конкретный бит адресной части формата команды определяется спосовом адресации. В современных ЭВМ используется несколько способов адресации. 25. Подразумеваемая, непосредственная, прямая, регистровая и косвенная адресация Способ адресации - способ, представляющий порядок задания адреса операнда в адресной части команды. При рассмотрении способов адресации будем различать Адресный код (Ак) - код указываемый в адресной части команды, который содержит информацию об адресе операнда. Исполнительны адрес (Аи) - адрес ячейки ОП или регистра. В общем случае Ак Аи. 1) Подразумеваемая адресация - в этом случае адрес операнда никак не указывается, но он подразумевается. Пример, могут указываться адреса двух операндов и предполагается, что результат находится в одном из этих операндов. Может быть указан один из операндов, а второй операнд подразумевается, первый располагается в специальном регистре - аккумуляторе, туда же заносится результат операции. 2) Непосредственная адресация. В этом случае значение операнда указывается в адресной части команды. Наиболее часто используется при адресации константы, пишем в операцию сразу её значение 3) Прямая адресация - в этом случае в адресной части команды указывается адрес ячейки памяти Иа , при этом Аи = Ак. Этот способ наиболее часто использовался в ЭВМ первого и второго поколения. Недостаток - с ростом объёма памяти пишутся длинные команды mov al,[10abf002h] 4) Регистровая адресация. При регистровой адресации в адресной части указывается адрес регистра хранящего операнду - наиболее экономичный способ адресации. При регистровой адресации длинна адресной части получается коротко т.к. номер регистра является его адресом, занимает длину пол байта в случае sub cx,bx. При регистровой адресации благодаря короткой длине команд экономится память при размещении программы в ОП, кроме того такие команды уменьшают число обращений к ОП, что повышает быстродействие. 5) Косвенная адресация. В этом случае в команде указывается не адрес операнда, а адрес регистра или ячейки памяти содержащий адрес операнда. Не адресация операнды, а адресация памяти. Косвенная адресация предполагает как минимум 2 обращения к ОП , если адрес операнда хранится в ОП. Допускается использование многоступенчатой косвенной адресации. В этом случае в команде указывается адрес первой ячейки и кратность адресации, а операнд располагается в последней адресной ячейке. В современных ЭВМ допускается 68 кратная адресация, но как правило косвенная адресация однократна. В малых и микро ЭВМ с короткой длинной длиной машинного слова, косвенная адресация позволяет обойти проблемы возникающие при адресации ячеек памяти, адреса которых имеют большую длину. В этом случае адрес ячейки памяти записывается в регистр. В команде указываться адрес регистра хранящего адрес операнда. add cz,[bx] или mov eax,[ecx] На наличие косвенной адресации в команде может указываться либо код операции команды, либо специальный бит отводимый в коде команды для указания на способ адресации. Если этот бит 1 - адресация косвенная, иначе нет. 26. Относительная и индексная адресация В этом случае адрес операнда задается относительно некоторого базового адреса (Аб). Для хранения Аб выделяется специал. регистр, который называется базовым регистром. Это может быть один из РОН. Будем в дальнейшем обозначать такой регистр В, а его содержимое (В); D-смещение. При относительной адресации в адресной части команды указывается номер базового регистра и смещение: Принцип относительной адресации поясняется схемой: Схема, поясняющая формирование Аи, показана на рис.: При реализации оптимальной адресации процессор по номеру базового регистра В, содержащегося в команде находит в РОН базовый регистр передает его содержимое на сумматор СМ, куда поступает также D. На выходе сумматора формируется исполнительный адрес Аи. Выполнение операции сложения требует определенных затрат времени, поэтому в некоторых случаях для повышения быстродействия формирование Аи осуществляется путем совмещения базового адреса В и смещения D. В этом случае младшие биты В должны содержать нули. Количество нулевых бит должно быть равно длине смещения. Схема формирования Аи имеет вид: Одно из основных достоинств относительной адресации возможность перемещения программы в ОП. Для этого достаточно изменить содержимое базового регистра. При использовании этой адресации в ассемблерных программах адрес операнда представляется в виде записи регистр + смещение, который помещается в []. Sub AX,[EBX+8] Индексная адресация. Используется при обработке массивов и организации циклов. Массив - упорядоченная совокупность элементов одинакового типа. Различные элементы массива имеют одинаковую длину и располагаются последовательно в ОП. Положение элементов внутри массива задается с помощью индексов. Для хранения индекса при индексной адресации среди РОН выделяется индексный регистр. Значение Аи=(В)+(Х)+Р, где Х - индексный регистр, (Х) - его содержимое. Схема формирования Аи приведена на рис.: При выполнении команды по номерам базового и индексного регистров, содержащимся в команде, процессор обращается к соответствующим регистрам, извлекает их содержимое и передает на сумматор, куда поступает также смещение D. На выходе сумматора формируется Аи элемента массива. При индексной адресации одна и та же команда без изменения отдельных ее частей может многократно выполнятся в цикле. При этом автоматически происходит изменение содержимого индексного регистра Х путем увеличения автоинкримента на 1, либо наоборот при каждом прохождении цикла. В ассемблерных командах имя Х указывается в [] : MOV AX,[EBХ][EDX]. В современных 32 битных микропроцессорах допускается масштабирование Х, если операнды являются 32-битовыми. Но заключаются в умножении содержимого Х на значения 2, 4, 8. Такой прием удобен при организации обработки элементов массива, имеющих длину 2, 4, 8 байт. В этом случае ассемблерная команда: MOV AX,[EBХ][EDX*8], где [EDX*8] индексный регистр. 28. Стековая адресация Используется при работе со стековой памятью и представляет собой один из безадресных (подразумеваемых) способов адресации. Это связано с тем, что в стековой памяти запись и чтение информации осуществляется через одну и ту же ячейку памяти. Называемую вершиной стека. Этот процесс иллюстрируется следующей схемой: При работе со стековой памятью обычно используют указатель вершины стека, в котором хранится адрес последней, заполненной стековой памятью ячейки. При записи/чтении из стека содержимое указателя стека (УС) изменяется автоматически. При записи увеличивается, при чтении уменьшается, поэтому отпадает необходимость в командах указывать адреса ячеек стековой памяти. В командах, использующих стековую память указываются только номера регистров, либо номера ячеек ОП, в которых хранятся операнды, используемые в операциях со стековой памятью. Операции со стековой памятью широко используются в современных ЭВМ для организации работы с подпрограммами. 29. Алгоритм работы процессора. Рабочий цикл процессора 1.вычисление адреса ком-ды 2.выборка ком-ды 3.декодирование ком-ды 4.вычисление адресов операндов 5.выборка операндов 6.исполнение операции 7.запись результата Для хранения адреса ком-ды используется содержимое указателя ком-ды IP(счетчик ком-д). При выполнении текущей ком-ды, адрес которой хранится в программном счетчике ПС, процессор определяет длину этой ком-ды в байтах и прибавляет к содержимому ПС, таким образом, уже на этапе выполнения данной ком-ды процессор формирует адрес следующей ком-ды. Такой порядок вычисления адреса ком-ды имеет место при выполнении программы в естественном порядке следования ком-д. При наличии в программе ком-д переходов в ПС загружается адрес перехода, содержащийся в этих ком-дах. Выборка осуществляется контроллером шинного интерфейса по адресу, хранящемуся в ПС. Выбираемую ком-ду контроллер помещает в очередь ком-д. В современных процессорах осуществляется не поком-дная выборка, а выборка ком-д в виде блока длиной в 16 байт, который может содержать более одной ком-ды. Такая выборка называется опережающей. Блоки из ОП выбираются выровненными, то есть их младший байт имеет адрес, содержащий нули в четырех младших битах. Опережающая выборка ком-д сочетается с опережающим декодированием. Декодирование ком-д делится на первичное и вторичное. При первичном декодировании определяется тип ком-ды и ее адрес. Знание типа ком-ды позволяет упростить алгоритм обработки ком-д, так как ком-ды одного типа выполняются одинаковым образом. Это позволяет уменьшить длину адресного кода. Вторичное декодирование осуществляется после вычисления адресов операндов и их выборки. Производится только для адресных ком-д и зависит от типа адресации операндов в ком-де. Первым вычисляется адрес операнда-источника, то есть такого операнда, который не изменяет своего значения в процессе выполнения ком-ды. Вторым вычисляется адрес операнда-приемника, то есть операнда, изменяющего свое значение и по адресу которого располагается результат выполнения операции. Процесс вычисления адресов операндов сочетается с выборкой, то есть после вычисления адреса операнда-источника, затем он выбирается из ОП, а потом вычисляется адрес приемника. На этапе вычисления адресов операндов используется содержимое базовых, индексных и регистров смещения: Aи=(B)+(I)+D, где D-смещение, с использованием сумматора контроллера шинного интерфейса. Вычисленный адрес помещается в регистр адреса РА. В случае безадресных ком-д выборка не производится. Эти ком-ды выполняются сразу же после первичного декодирования. В случае ком-д пересылки выборка операнда-приемника заменяется операцией записи операнда-источника по адресу операнда-приемника. По отношению к интерфейсу процессора выборка операндов сводится к последовательности операций: ввод - пауза - вывод. Пауза необходима для выполнения операций, предписываемой ком-дой. Исполнение операции осуществляется в зависимости от типа операции, определяемой ком-дой. В арифметико-логических операциях УУ процессора вырабатывает последовательность сигналов для АЛУ. Операнды подключаются к АЛУ, результат записывается по адресу операнда-приемника. В ком-де безусловного перехода адрес перехода, содержащийся в ком-де, загружается в ПС. В ком-дах условного перехода предварительно перед загрузкой адреса, в ПС анализируется условие. Если оно не выполняется, содержимое ПС сохраняется, если выполняется - в ПС загружается адрес перехода. Ком-ды управления являются безадресными и выполняются после первичного декодирования. Действия этих ком-д сводятся к изменению внутренних регистров процессора, содержащих управляющую информацию. Ком-ды ввода/вывода обеспечивают обмен информацией между процессором и внешними ПУ. Этот процесс аналогичен операции пересылки информации, поэтому для его реализации используются ком-ды пересылки, в которых в качестве операндов источника и приемника используются регистры портов ввода/вывода и ПУ. Этим регистрам присваиваются определенные адреса из адресного пространства ЭВМ. 30. Программная модель процессора (регистры общего назначения и сегментные регистры) Набор программно доступных регистров, имеющихся в составе процессора, определяет его программную или регистровую модель. Эти регистры определяют те ресурсы, которые предоставляются пользователю при программировании процессора. В разработке программных моделей процессора существуют 2 подхода: В первом подходе все регистры считаются универсальными, то есть могут участвовать в одних и тех же операциях. Во втором подходе, характерном для МП Intel, регистры являются специализированными, то есть могут участвовать в определенных операциях, в которых за ними закрепляются специальные функции. В программную модель 32-битовых МП входит 31 регистр, которые делятся на 16 регистров прикладного программиста (пользовательские регистры) и 15 системных регистров. Основные пользовательские регистры: Они делятся на 8 регистров РОН, 6 сегментных регистров, на ПС-регистр и регистр флагов. РОН имеет длину 32 бита: (см. рис) Первые 4 РОН допускают адресацию двойных слов так называемые расширенные регистры EAX, EBX, EDX, ECX (32 бита). AX, BX, CX, DX (16 бит). Допускается адресация только младшей половины регистров (биты 0 - 15), а 16 - 31 биты не допускают адресации. В младшей половине регистров допускается адресация старшего и младшего байтов: AH BH DH CH (биты 8 - 15) AL BL DL CL (биты 0 - 7) Такая адресация первых 4 РОН позволяет легко оперировать при программировании на ассемблере байтами, словами и двойными словами. Все РОН могут использоваться в различных операциях, но существуют операции, в которых эти регистры выполняют специальные функции. Отсюда происходит и название регистров: EAX/ AX/ AL - регистр-аккумулятор. Используется в арифметических и логических операциях, операциях ввода/вывода и др. в операциях деления и умножения в этих регистрах хранятся делимое и множимое, в него же помещается результат. Причем используется подразумеваемая адресация. EBX/ BX/ BL - базовый регистр, используется для хранения базового адреса при относительной адресации операндов. EDX/ DX/ DL - регистр данных, используется для хранения данных в арифметических и логических операциях, операциях пересылки и пр. В операциях ввода/вывода с использованием портов в этом регистре хранится адрес порта ввода/вывода. ECX/ CX/ CL - регистр-счетчик циклических операций над цепочками бит, байт, слов и двойных слов. ESP/ SP - используется в стековых операциях. Имя этого регистра неявно полагается в операциях PUSH и POP, применяется для хранения адреса вершины стека в данном сегменте памяти. EBP/ BP - указатель базы, используется для указания базового адреса при строковых операциях. ESI/ SI - индекс источника. EDI/ DI - индекс приемника. оба эти регистра используются для хранения индексов при выполнении цепочных операций. Сегментные регистры Введены в связи с сегментной организацией памяти. Сегмент - совокупность ячеек памяти с последовательными адресами. В 32-битовых МП используется 6 сегментных регистров: CS, SS, DS, ES, FS, GS (см. рис) Сегментные регистры содержат информацию о текущих сегментах памяти, используемых при выполнении программы. В МП i8086 в них хранится физический базовый адрес сегмента. В МП начиная с i80386 сегментные регистры адресуют сегменты с помощью дескрипторной таблицы, которая определяет базовый адрес сегмента, его размеры и права доступа, то есть те программы и операции, которые доступны для данного сегмента. В МП i8086 составлял 64 Кб, а в современных 32-битовых МП память может содержать тысячи сегментов длиной по 4 Гб. Каждый сегментный регистр имеет следующее назначение: 1. регистр CS - сегмент кода, хранит информацию о сегменте памяти, в которых располагается команда текущей выполняемой программы. 2. SS содержит информацию о сегменте памяти, используемой в типовых операциях, то есть все операции осуществляются через SS. Вершина стека для сегмента, определяемого SS адресует регистр ESP/ SP. 3. DS - сегмент данных, определяет сегмент памяти, в котором хранятся данные, обрабатываемые в текущей программе. 4. ES, FS, BS - определяет дополнительные сегменты памяти, доступные текущей выполняемой программы. 31. Программная модель процессора (указатель команд и регистр флагов) Регистр - указатель команд EIP/ IP (см рис) Содержит адрес текущей команды, выполняемой процессором. К моменту завершению рабочего цикла процессора здесь формируется адрес, подлежащий выполнению. Регистр флагов. EFLAGS/ FLAGS Флажки управления: AC, VM, RF, DF, IF, TF. Флажки состояния: NT, IOPL, OF, SF, ZF, AF,PF, CF. Регистр флагов содержит 8 флагов состояния и 6 флагов управления. Флаги состояния определяют вычислительные ситуации, которые могут возникать во время выполнения программы, фиксирует признаки результатов при выполнении операций и программ. Флаги управления позволяют управлять работой процессора. CF - перенос, 1, если перенос из старшего бита. PF - паритет, 1, если четное число единиц. AF - дополнительный перенос, используется в операциях десятичной арифметики. ZF - нуль, 1, если нуль. SF - знак, 1, если отрицательный результат. TF - флаг трассировки, 1, если режим трассировки. IF - прерывание, 1, если прерывания разрешены. DF - флаг направления. OF - переполнение, 1, если переполнение. IOPL - привилегии доступа. NT - флаг вложенности задачи, 1, если существует переключение к другой задаче. RF - используется при редактировании программы. VM - устанавливает виртуальный режим процессора. AC - выравнивание данных в ОП. 32. Понятие о состоянии процессора. Слово состояния процессора В процессе выполнения каждой команды происходит изменение состояния управляющих регистров, содержимого регистров, счетчиков проце-ов. В этом смысле можно говорить об изменении состояния процессора. Состояние процессора в любой момент времени, должно как-то фиксироваться. Для того, чтобы восстановить выполнение программы с той точки, с которой она была прервана по какой-либо причине. В общем случае под состоянием процессора понимается содержимое всех его управляющих триггеров, регистров, счетчиков, а также ячеек ОП ЭВМ. Следует отметить, что не все перечисленные инф. элементы изменяются при выполнении программы. С точки зрения фиксации состояния процессора в любой заданный момент времени. Важны те инф. элементы, которые имеют наиболее важные значения для управления вычислительным процессом и изменяются наиболее часто при выполнении программы. Совокупность таких элементов называется словом, или вектором состояния процессора (программы) - ССП. Для ЭВМ, реализованных на основе микропроцессора Intel ССП входит содержимое программного счетчика, или указателя команд EIP; аккумулятора EAX и регистра флажков EFLAG. Необходимо отметить, что отдельные устройства имеют свое слово состояния программы. 33. Принципы организации системы прерываний процессора Прерывания выполнения программы возникают как реакция процессора на ситуации, возникающие внутри самой ЭВМ, и во внешней среде при выполнении программы. Реакция заключается в том, что процессор приостанавливает (прерывает) выполнение текущей прогр-ы и переходит к вып-ю спец-ой прогр-ы, предназн-ой для этого случая. После завершения этой прогр-ы происходит переход к исходной прогр-е, вып-е к-ой было приостан-о. Прогр-а, вып-е к-ой приостанавливается, наз прерываемой. Прогр-а, к-ая начинает вып-ся после прерывания текущей, наз прерывающей. Прерывание инициализируется спец-ми сигналами, поступающими в процессор, наз запросами прерывания. Схема процесса прер-ия мож быть представлена след образом: Запросы прер-ий могут инициал-ся ситуациями, возникающими внутри ЭВМ: аппаратные сбои (аппар прерыв-я), вычислительные ситуации (деление на 0, переполнение и др), требования в/в перефер-ых устройств. Запросы прер-я из внешней среды могут возникать от других ЭВМ, с к-ми данная связана в сеть, от аварийных датчиков, если ЭВМ работает АСУТП и др. ЭВМ имеет набор аппар-ых и прогр-ых средств для обработки прер-ий, к-ый получил назв-е системы прер-ий процессора. Осн назначение сист-ы прер-ий сост из 2-х ф-ций: - Запомнить состояние прерванной прогр-ы и перейти к вып-ю прерыв-щей прогр-ы - Восстановить состояние прерв-ой прогр-ы и вернуться к ее вып-ю. Для обработки прер-ий процессор имеет спец входы INTR и NMI, а шинный интерфейс процессора - спец шины, по к-ым поступают запросы прер-ия. После вып-я каждой команды процессор опрашивает состояние шин запросов прер-ий и если на них имеется сигнал запроса прер-я, процессор переходит в режим обработки прер-я. Для обработки прер-ий важное значение имеет ССП. По запросу прер-я процессор сохраняет ССП прерванной прогр-ы в стеке или в спец-ой ячейки ОП, после чего из ОП извлекается ССП прерыв-щей прогр-ы (прогр-ы обработки прер-ий) и оно загружается в соотв-щие рег-ры. После этого начинается вып-е прерыв-щей прогр-ы. Для возврата от прер-щей прогр-ы к прер-ой в системе команд проц-ра есть спец команда IRET, по к-ой осуществ-ся возврат к прерв-ой прогр-е. Эта команда инициирует следующ действия: из стека или ячейки ОП извлекается ССП прерв-ой прогр-ы и загружаится в соотв-щие рег-ры. Бит прер-ий IF рег-ра флажков сбрасывается в 0 и осущ-ся прогр-ое восстановление содержимого других рег-ов, после чего происх продолжение вып-я прерв-ой прогр-ы с того места, где она была приостановлена. При вып-ии прогр-ы одновременно может возникать несколько запросов прер-ий, к-ые одновременно поступают в процессор. Сущ определенная система приоритетов, определяющая порядок обработки запросов прер-ий. В том случае если прер-я поступают по разным шинам прер-ий, вопрос о порядке обработки запросов решает сам процессор. Если несколько запросов поступают по одной и той же шине, их обработку осуществляет спец устр-во - контроллер прер-ий, к-ый выполняется в виде отдельной МС либо может входить в состав процессора. Контроллер прер-ий может обрабатывать одновременно несколько прер-ий. Входной информацией для контроллера прер-ий явл код прер-ия, к-ый снимается с шины прер-ий. Каждый бит этого кода соответствует какому-либо одному прер-ю. Для того, чтобы запретить обработку каких-либо прер-ий, использ маска. Маска - двоичный код, к-ый имеет ту же разрядность, что и код прер-ия. Если обработку какого-либо прер-я нужно запретить, в соотв-щем бите маски устанавливается 0, если разрешить - 1. Запрет того или иного прер-я или его разрешение осущ-ся путем побитового логического умножения кода прер-я и кода маски. В соответствии с рез-ом умножения кода прер-я и маски контроллер прер-я формирует вектор прер-ий, к-ый используется для поиска в дескриптерной таблице адреса ССП прерыв-щей прогр-ы в ОП. ССП извлекается, загружается и начинается выполнение прерыв-щей прогр-ы. 34. Контроллер прерываний КП - устройство, предназначенное для разрешения конфликтов между запросами прерываний и формирования вектора прерываний. При формировании запросов прер-ий используется код прер-ий, к-ый в общем случае имеет вид: P=P1P2…P3, где Pi - сигнал, к-ый поступает по i-ой шине прерываний Pi={0,1}. Если имеет место прер-е с номером I, соотв-щее номеру разряда кода прер-я, то Pi=1. Для управления запросами прер-ий (ЗП) исп код маски, к-ая имеет ту же разрядность, что и код прер-ия. Она позвол маскировать прер-я, устанавливая в каком-либо бите 0. сигнал запросов прер-ия явл входным для КП. M=M1M2…Mn. Сигнал запроса прер-ий, явл-щийся выходным для КП, формируется как конъюнкция кода прер-ия и маски. Если в соотв-щем бите кода маски установить 0, то это запрещает обработку прер-ия с номером, соотв-щем номеру бита в коде маски, в к-ом 0.
Страницы: 1, 2, 3
|