Ю.Н. Пронкин - Лекции по ЭВМ (2-3 семестры) (972268), страница 2
Текст из файла (страница 2)
6.3)- в стэк в определенном порядкебудут складываться все операнды и функции.Тэги - (d - данные, и c - код, на рисунке 6.3) дополнительная информация о элементахстэка.Трансляция при помощи стэка (рис. 6.4)рис. 6.3"Сложность" системы командОперации над целыми и вещественными числамипринципиально разные => не существует процессора,работающего и с теми, и с другими по одному алгоритму.Определение сложности команды:1) Что может делать команда?2) Что является параметрами?Пример сложной команды - копирование, пересылкаданных (рис.
6.5)рис. 6.4рис. 6.5Ответ ко второму вопросу: операнды могут находится только в регистрах процессора -> (усложнение)операнды могут быть заданы явно своими адресами в оперативной памяти (Add a,b a<-a+b) => операндызаданы неявными адресами в ОПрис. 6.6CISC - Complex Instruction Set Computer - процессор со сложными командамиRISC - Reduced Instruction Set Computer - процессор с простыми командамиКомпьютеры общего пользования - комбинированные.
"Наружу" торчит CISC, но процессор в основномработает по RISC.Почему RISC-машина работает быстрее ? использование фиксированной длины команд наличие конвейера команд наличие КЭШ-памяти для команд и данныхКонвейер команд (рис. 6.7А и рис. 6.7Б)(рис. 6.7 - схемы А и Б)Лекция №7. 27.03.2010Этапы выполнения команд.
Использование КЭШ-памяти.Этапы выполнения команды – 6ти ступенчатый конвейер1) Загрузка программы2) Декодирование команды3) Декодирование операндов4) Загрузка операндов5) Выполнение команды6) Сохранение результатаРис. 7.1 – этапы выполнения командыДанная схема работает хорошо, пока конвейер не будет давать сбоев и совершать остановки. Так как наразгон конвейера требуется дополнительное время и ресурсы => необходимо разобраться с причинамиостановки конвейера.Основные причины остановки конвейера: (типы конфликтов при работе конвейера команд) структурные конфликты конфликты по управлению конфликты по даннымСтруктурные конфликты (исп. Рис.
7.1b)Рис. 7.1bКаждый этап в конвейерной схеме требует каких-то затрат (время, память и т.д.). T - время, требуемое навыполнение шага.Мы видим разность в выполнении шагов.Однако эффект этих задержек не оказывает сильного воздействия на быстродействие схемы. И этиконфликты обычно не решаются. Мы отводим для всех шагов общее время (как правило, усредненное) такимобразом, чтобы в большинстве ситуаций время выполнения шага его бы не превышало.
Таким образом,получаем отсутствие задержек.Рис. 7.2.Бывают ситуации, когда выполнение шага не вписывается в отведенное под него время. Но решать данныепроблемы не выгодно из вопросов стоимости.Рис . 7.3.Конфликты по управлению (рис. 7.2 + рис. 7.3)Jmp – «jump», команда перехода.Проблема команды перехода в том, что она сама тоже требует каких-то шагов. Особенно, если это условныйпереход. И достаточно длинный и разветвленный переход останавливает конвейер.Конфликты управления вызваны командами передачи управления (ибо мы никогда не знаем, куда мыпопадем).
Если бы мы заранее знали адрес, проблемы бы не стояло.Следовательно, способы разрешения эти проблем состоят в предсказании адресовпереходов (рис. 7.4):Проводится анализ вероятности прохождения по тому, или иному пути(современный процессор имеет отдельные модули по предсказанию направленияперехода и достигают 90 – 95%).Некоторый ТУПОЙ пример – бесконечный цикл (рис. 7.5)Рис. 7.4.Конфликты по данным (рис.
7.6)В данном случае нас интересуют вторая и четвертая ступени.Суть конфликта:- команды k и k+2 работают с одним и тем же элементом данных- команда k+2 выполнила загрузку раньше, чем команда kРис. 7.5.записала свой результатВ современных машинах возникает множество конфликтов по данным, так как часто программывыполняются не в строго установленном порядке (попытка улучшения оптимизации, а также внутреннийпараллелизм процессора)Рис. 7.7 – отсутствие синхронности в выполнении ветокАЛУ – арифметико-логическое устройство – выполняет все основные процессы вычислений.Рис. 7.6.Рис. 7.7.Конвейерная обработка является неотъемлемой частью RISC-процессоров.Использование КЭШ-памяти (рис.
7.8)Рис. 7.8.Рассматриваем уже как RISC, так и CISC процессоры.КЭШ-память имеет высокую скорость обращения, но малый объем (кстати, в современных процессорахиспользуется КЭШ-память с несколькими уровнями).Из секций мы отображаем данные на КЭШ-память. Ситуация, когда интересующая процессор информациялежит в КЭШ называется попаданием, обратная ситуация – промах (плохо, так как получаем множественныеобращения к КЭШ-памяти и ОП).Замечание: в современных Pentium отсутствует КЭШ-память команд.
Команды раскладываются напростейшие.Лекция №8. 3.04.2010Организация основной памятиКонцепция адресного пространстваРис. 8.1.А’ max – номер самой последней ячейки физической памяти .А’’ max - наибольший адрес, который может быть обработан.Рис. 8.3. А’ max = А’’ max А’ max > А’’ max А’ max << А’’ maxРис. 8.2.Виртуальная памятьРис. 8.41 Кб = 1024байта1 Мб = 1024 Кб1 Гб = 1024 МбРис. 8.3. – В регистрах процессора хранятся машинные словаРис. 8.5.Что такое адрес слова: За адрес слова принимается адрес его младшего байта (Intel…) За адрес слова принимается адрес его старшего байта (Motorola; Power PC)Логическая модель КЭШ – памятиМногоуровневая организация памятиРис.
8.6.Лекция №9. 10.04.2010Мы можем постулировать по крайней мере два основных рассуждения по организации памяти.1-ое состоит в том, что всякий элемент данных с более высокого уровня может быть найден навсех нижних уровнях. (Некая копия более низкого уровня)2-ое, если какой-то элемент не найден на более высоких уровнях, то он присутствует на болеенизких.Делаем остановку, производим поиск элемента во вторичной памяти.Кэш память – единица килобайт. Внешняя память измеряется в сотни. Оп гигабайтами.
Дисковыенакопители(внешние) неограниченны.Основные различия основываются на адресации.Работа с адресами1. В машинных командах используются нефизические адреса(виртуальные и логические).2. Внутри процессора существует некая логика трансляции адресов (логический адреспревращает в физический).
(Рис 9.1)3. Процессор общается к ОП по сформированному физическому адресу.4. Контроллер кэш-памяти перехватывает физический адрес.5. При наличии нужного элемента данных в кэш памяти немедленно передается в процессор.6. При отсутствии нужного элемента в данных в кэш его нужно искать на более низких уровнях.Рис. 9.1.Попадание(hit): Элемент данных найден в кэш.Промах(miss): элемента данных в кэш памяти нет.Коэффициент попадания(hit ratio): общее отношение числа попаданий к общему числу обращений.Потери на промах(miss penalty): время, затраченное на доступ к элементу данных в случаепромаха.Задачи логического конструирования кэш-памяти:Максимизация коэффициента попаданияМинимизация времени проверки на промах.Минимизация потери на промах.Выбор стратегии запуска.Модель работы кэш-памяти определяется 3 стратегиями:1.
Стратегия размещения и доступа:Где размещать в кэш элементы данных и как их найти.2.Стратегия замещения:Какой блок замещать в случае промаха.1. Стратегия записи.Стратегия размещения и доступа определяет основную модель кэш-памяти.1. Кэш-память с прямым отображением. Размещая элемент данных, не имеем возможностивыбора. Для каждого элемента место фиксировано.Рис 9.2Всякий блок памяти их оперативных данных может размещаться на строго фиксированномместе в кэш.
Трансляция адреса при доступе к кэш-памяти.Индекс: адрес блока в кэш.Тэг: ассоциативный признак.Рис.9.32. Полностью ассоциативная кэш-память. Ограничения на расположение элементов в кэшпамяти сняты.Рис 9.4.Всякий блок данных из оперативной памяти может быть размещен в любом блоке кэшпамяти. При поиске элемента данных в кэш все тэги сравниваются одновременно.Возникает аппаратная избыточность.Рис.9.5.3. Множественно ассоциативная кэш-память.При поиске элемента данных в кэш-памяти все тэги блока сравниваются со входным тэгомодновременно.Рис 9.6Лекция №10.
17.04.2010Стратегии замещения:1) Стратегия случайного замещения: замещается случайно выбранный блок.2) Стратегия FIFO (First In First Out):замещает самый первый загруженный блок.3) Стратегия LRU (Least-Recently Used):замещает наиболее редко используемый блок.4) Удалять блоки, к которым не было обращений на отрезке времени t.Стратегии записи:Трафик памяти по записи составляет обычно около 30%.
Также операции по записи намногосложнее по созданию, чем операции замещения \ уничтожения.1) Блок, в который мы записываем, находится в памяти КЭШ1. Запись со сквозным копированием: одновременно модифицируются верхний инижний уровни памяти («+»: сохранение когерентности; «-»: медленно)2. Запись с обратным (или копированием): запись только в КЭШ, копирование в ОПоткладывается до момента замещения блока («+»: быстро; «-»: нарушениекогерентности)2) Блок в памяти КЭШ отсутствует1. Предвыборка при записи: отсутствующий блок предварительно загружается в КЭШ изОП.2.
Запись в окружение: данные записываются только в ОП (или в более низкий уровеньКЭШ)Организация системной шины, управление доступом к системным устройствамСистемная шина состоит из трех линий:1) линия данных2) линия адреса3) линия управлениярис. 10.1Тактовый генератор – «системные часы», любое действие происходит на удар этих часов.Обеспечение синхронизации работы устройств.Рис. 10.2 (Фрагмент – напоминание с прошлых лекций)Основные процессоры1) Являются ведущими системными шинами2) Равноправны по отношению к системным шинамВспомогательные процессоры1) Подчинены основному в смысле доступа к системной шине2) Реализуют один из возможных механизмов доступа к шине:- запрос системной шины- кража системной шиныТипы многопроцессорных конфигураций.1.
Слабо связанные конфигурации. Все процессоры равноправны -> все процессорыравноправны2. Сильно связанные конфигурации. Есть основные и вспомогательные процессоры3. Сопроцессорные конфигурации: сильно связанные + общий программный кодРис. 10.3Цитаты:«По критерию абсолютнейшей простоты…»Лекция №11. 24.04.2010Рис.11.1Классификация портов: Порты состояния Порты управления Порты данных (буферные порты)Способы адресации портов В/В Включение портов в/в в единое адресное пространство процессора. Наличие разделенных пространств оперативной памяти и портов в/в.Требует наличия разделенных команд вне работы с ОП и портами в/в:ОП mov, Dst,SrcПорты in, out, ost, Port, Port, Src.Dst <-Port; Port <- Src;Машинные способы представления информацииДанные:ЧислаЦелые вещественные: Целые без знака Целые со знакомСимволыДвоично-кодированные десятичные числа1.1.1.