
- •1.Общая структура эвм
- •2.Общая архитектура микропроцессора
- •3.Работа микроЭвм.
- •4.Полупроводниковая память и её использование в микропроцессорной технике.
- •5.Эксплуатационные параметры зу.
- •6.Режимные параметры зу
- •7.Структура 2d.
- •8.Структура 3d
- •11.Статическая память (sram)
- •12.Зэ динамические зу
- •14.Внешняя организация и временные диаграммы динамических зу.
- •15.Постоянные Запоминающие Устройства пзу.
- •16.Однократно (электрически) программируемые пзу.
- •17.Репрограммируемые пзу.
- •22.Структура элементарного микропроцессора.
- •24.Функционирование микропроцессорной системы
- •26.Микропроцессор
- •27.Обработка микропроцессором требования прерывания.
- •28.Прерывание с программным опросом.
- •29.Векторная система прерываний.
- •30.Структура приоритетов.
- •31.Синхронизация микропроцессорной системы.
- •32.Программирование микропроцессоров.
- •33.Архитектурные особенности современных микропроцессоров.
- •34.Иерархическая структура памяти.
- •36. Архитектурно независимая спецификация программ.
- •38.Универсальные микропроцессоры.
- •39.Микропроцессор с архитектурой х86.
- •45.Структурная схема базовой модели микропроцессора семейства х86
- •46.Однокристальные микро эвм (микроконтроллеры).
34.Иерархическая структура памяти.
Идеальная память должна обеспечить микропроцессор командами и данными так, чтобы не вызывать его простоев, время доступа в память, однако зависит от её объёма. Чем больше объём, тем и больше время доступа в память. Уменьшение времени доступа достигается введением многоуровневой иерархической памяти. Типовая иерархия имеет следующую структуру:
Регистровая память – со временем доступа 1 такт процессора объёмом от 64 до 256 и выше слов.
Кэш первого уровня – время доступа 1 – 2 такта процессора объёмом от 8кслов и выше.
Кэш второго уровня находится вне процессора, время от 3–х тактов, объём = от 6кслов.
Основная память до 4Гслов, время от 15 до 55 тактов.
Создание многоуровневой памяти, пересылающей блоки программы и данных между уровнями памяти за время, пока предшествующие блоки обрабатываются процессором позволяют существенно сократить простои. При этом эффективное уменьшение времени доступа: тем больше, чем больше время обработки данных в буферной памяти по сравнению с временем пересылки их между буферной (промежуточной) и основной памятью. Это достигается при локальности обрабатываемых данных, когда процессор многократно использует одни и те же данные для выработки некоторого результата, так как локально обрабатываемые данные не обязательно сконцентрированы в основной области памяти. Буферную память организовывает как ассоциативный, в котором данные содержатся в совокупности с их адресом (основной памятью), именно такая буферная память и получила название Кэш памяти. Кэш память позволяет согласовывать структуру данных, требуемых в динамике вычисления со статическими структурами данных основной памяти. Кэш память имеет совокупность строк, каждая из которых состоит из фиксирующего количества адресуемых единиц памяти (байт, слов), с последовательными адресами. Типичный размер Кэш памяти 16, 64, 128 и 256. Наиболее часто используют 3 способа организации Кэш памяти, отличающихся объёмом аппаратуры, требующейся для их реализации:
1. Кэш память с прямым отображением
2. Частично ассоциативная Кэш память
3. Ассоциативная Кэш память
При использовании Кэш памяти с прямым отображением адрес представляется как набор 3–х компонентов, составляющих группу старших, средних и младших разрядов адреса. Их называют тегом, номером строки и смещением соответственно.
Тег – часть строки
Кэш памяти, которая содержит адресную
информацию, определяющую, произошли в
Кэш памяти попадания или промах. При
16–тиразрядной адресации старшие 5
разрядов, 15 – 11 могут представлять тег,
следующие 7 разрядов 10 – 4 номер строки
и 4 разряда 3 – 0 смещение в строке. В этом
случае строка состоит из
адресуемых
единиц
.
Кэш памяти с прямым отображением. Таким образом, представляет собой набор строк, каждая из которых содержит компоненты тега и элементы памяти строки, адрес которых идентифицируется смещением относительно начала строки. При этом устанавливается однозначное соответствие между адресом элемента памяти (основной памяти) и возможным расположением этого элемента в Кэш памяти, т.е. элемент памяти всегда располагается в строке, задаваемой компонентом номера строки адреса и находится на позиции строки смещения адреса. Наличие элементов данных по запрашиваемому адресу в Кэш памяти определяется значением тега. Если тег строки Кэш памяти равен компоненте тег адреса, то элемент данных содержится в Кэш памяти, иначе необходима подкачка в Кэш память строки, заданной тегом, так как для определения наличия нужной строки данных требуется только одно сравнение тегов, заданной строки и адреса, а само замещение строк выполняется по фиксированному местоположению. Объём оборудования для реализации этого типа достаточно мал.
Недостатки такой организации: если программа исполняет поочерёдно элементы памяти из одной строки, но с различными значениями тегов, это вызывает при каждом обращении замену строки, с обращением к основной памяти, т.е. происходит замедление.
Ассоциативная Кэш память.
Использует 2–х компонентное представление адреса. Группа старших разрядов адреса трактуется как тег, а группа младших, как смещение в строке. Нахождение строки в Кэш памяти определяется совпадением тега строки со значением тега адреса. При этом количество строк в Кэш памяти может быть произвольным. Ограничение установлено только количеством возможных значений тега. Поэтому при нахождении требуемой строки в Кэш памяти необходимо сравнение тега адреса с тегами всех строк Кэш памяти. Для ускорения сравнения оно выполняется параллельно во всех строках с использованием принципов построения ассоциативной памяти.
При отсутствии в кэш памяти необходимой строки первая из её строк должна быть заменена на требуемую. При этом используются различные алгоритмы определения заменяемой строки: циклический, замена наиболее редко используемой строки, замена строки, к которой дольше всего не было обращения.
Частично ассоциация кэш памяти является комбинацией обоих подходов. Кэш память при этом состоит из набора ассоциативных блоков кэш памяти. При этом средняя компонента адреса, в отличие от прямо адресуемой кэш памяти задаёт не номер строки, а номер одного из ассоциативных блоков.
При поиске данных ассоциация сравниваемых тегов выполняется только для набора блоков, номер которого совпадает со средней компонентой адреса.
Расслоение памяти.
Другим структурным способом уменьшения времени доступа служит её расстояние. В предложении, что выборка из памяти выполняется по последовательным адресам возможно исполнение К блоков памяти с размещением в блоке i – слоёв с адресами, которые вычисляются по формуле:
,
где i
– изменяется от 0 до
.
P – изменяется от 0 до М – конкретный адрес. М – объём памяти.
В этом случае возможно К параллельных обращений в память по адресам, принадлежащим различным бокам. Поэтому выборка команд программы может быть ускорена применением расслоения памяти.
Аналогично может быть устроена обработка массивов данных, последовательные элементы которых помещаются в разные библиотеки памяти.
Многоуровневая иерархия расслоения памяти может использоваться повсеместно.
Классификация архитектур современных микропроцессоров.
Анализ кода
программ, генерируемого компиляторами
языков высокого уровня показал, что в
практических программах используется
ограниченный набор простых команд
форматов: регистррегистр,
регистр
память,
память
регистр.
Т.е. компиляторы оказались не в состоянии
эффективно использовать сложные команды.
Это наблюдение способствует формированию
концепции сокращённого набора команд,
так называемых RISC
процессоров.
Другим обстоятельством появлении RISC процессоров было развитие архитектуры конвейерных процессоров (типа RAY). В этих процессорах используются отдельные наборы команд для работы с памятью и отдельные наборы команд для преобразования информации в регистрах процессора.
Каждая такая команда единообразно разбивается на небольшое количество этапов с одинаковым временем исполнения.
Это могут быть этапы:
-
Выборка команды
-
Дешифрация
-
Исполнение
-
Запись результата
Всё это позволяет построить эффективный конвейер процессора, способный каждый такт выдавать результат исполнения очередной команды. Но конвейерность породила и проблемы, связанные с зависимостями по данным и управлению между последовательно запускаемыми в конвейер командами, например, если очередная команда использует результат предыдущей, её исполнение будет невозможным в течение нескольких тактов, необходимых для получения этого результата. Эти проблемы решаются либо компилятором, устанавливающим очерёдность запуска команд в конвейер, либо специальной аппаратурой в процессоре, которая отслеживает зависимость между командами и устраняет конфликты.
После выделения RISC процессоров в отдельный класс, обычные процессоры стали называть СISC процессорами. В этих процессорах команды имеют много разных форматов и требуют для своего представления различное количество ячеек памяти, поэтому требуется определение типа команды при её дешифрации, что усложняет устройство управления процессором, препятствуя повышению тактовой частоты до уровня, который легко достигается в RISC процессорах, выполненных на той же самой элементарной базе.
RISC процессоры эффективны в тех областях применения, в которых можно продуктивно использовать структурные способы уменьшения времени доступа к оперативной памяти.
Развитие микропроцессора происходит при сохранении преемственности программного обеспечения и повышении производительности за счёт совершенствования архитектуры и увеличения тактовой частоты. Сохранение преемственности программного обеспечения и повышение производительности, в общем, противоречат друг другу.
Процессоры с системой команд, относящиеся к классу CISC, имеют более низкие тактовые частоты по сравнению с RISC процессорами, однако, возможность использования совместимого программного обеспечения для различных поколений CISC процессоров архитектуры Intel Х86 обеспечивает им устойчивое и доминирующее положение на рынке.
В настоящее время многие полупроводниковые компании принимают попытки решить проблему повышения производительности в рамках архитектуры Х86. Т.е. в последних разработках, сохраняя преемственность по системе команд CISC процессоров, создаются устройства с использованием архитектурных элементов RISC. Примерами такого подхода служат компании AMD, Intel и т.д. Они используют концепцию разделённой архитектуры и RISC–ядра, при этом в микропроцессор встраивается аппаратный транслятор, превращающий команды CISC процессора Х86 в команды RISC процессора. При этом одна команда CISC процессора может порождать до 4-х команд RISC процессора. Исполнение команд происходит как в развитом суперскалярном процессоре.
Методы ускорения переключения контекста процессора.
Современные операционные системы и системы программирования широко используют переключение контекста процессора, т.е. содержимого регистров и отдельных управляющих триггеров при обработке входа в прерывание и выхода из него, входа и выхода из подпрограммы. Время переключения контекста должно быть минимальным, чего достигают:
-
во-первых, сокращением количества регистров, содержимое которых сохраняется в памяти;
-
во-вторых, аппаратной поддержкой сохранения информации регистров;
-
в-третьих, введением специальных соглашений, регламентирующих использование регистров в программах, что позволяет перейти от полного сохранения контекста к частичному.
Стандартизация архитектур микропроцессоров.
На протяжении всей истории развития вычислительной техники принимались попытки стандартизировать архитектуру микропроцессора с целью расширения области применения создаваемого программного обеспечения. Осознав безуспешность попыток совместимости на уровне машинных команд, разработчики программных средств пытались стандартизировать язык ассемблера, языки высокого уровня, языки интерфейсов прикладных программ с операционной системой. Отсутствие стандартизации не позволяет создавать новые системы путём конструирования из существующих, прошедших апробацию в разнообразных условиях применения, большим количеством независимых пользователей.
Попыткой комплексного решения проблемы стандартизации является формулирование концепции открытости систем. Открытость системы представляет совокупность интерфейсов, протоколов и форматов данных, базирующихся на общедоступных, общепринятых стандартах, обеспечивающих переносимость (мобильность) программного обеспечения, взаимодействующего между системами, масштабируемость.
Переносимость – свойство, выражающееся возможностью исполнения программы в исходном коде на различных аппаратных платформах среди различных операционных систем.
Взаимодействие систем – свойство, выражающееся в способности систем обмениваться информацией с автоматическим восприятием форматов и симантики данных (смысловая часть).
Масштабируемость – свойство, выражающееся в возможности использования программы на различных ресурсах (различного объёма памяти, производительности процессоров) с пропорциональным изменению ресурсов значением показателей эффективности.
В рамках концепции открытых систем архитектура процессора должна поддаваться простому формальному описанию со спецификацией типов данных, регистров и выполняемых преобразований. На сегодняшний день известны две попытки реализации такого подхода:
1. Архитектурно независимая спецификация программ;
2. Ява – технология.