Шпаргалки (двухсторонние) по курсу «Архитектура эвм»





НазваниеШпаргалки (двухсторонние) по курсу «Архитектура эвм»
страница6/11
Дата публикации21.08.2013
Размер1.25 Mb.
ТипДокументы
100-bal.ru > Информатика > Документы
1   2   3   4   5   6   7   8   9   10   11

27. Примеры микроархитектурного уровня: picoJava II
В системе picoJava II двоичные программы JVM могут работать практически без интерпретации. Большинство команд JVM выполняются непосредственно аппаратным обеспечением за один цикл, т.е. около 30 команд JVM являются микропрограммными. Лишь небольшое число команд не может выполняться аппаратным обеспечением picoJava II и вызывает traps (ловушки). Эти команды связаны с такими особенностями JVM как создание и управление сложными программными объектами (поддержка ООП).

Микросхема процессора picoJava II содержит разделенную кэш-память первого уровня. Кэш-память команд, как и данных, факультативна. Кэш-память команд является памятью прямого отображения. Кэш-память данных - это двухвходовая ассоциативная кэш-память. Частью picoJava П также является факультативный блок с плавающей точкой. Кэш-память команд передает в блок выборки, декодирования и свертывания по 8 байтов за раз. Этот блок, в свою очередь, связан с контроллером выполнения и с основным трактом данных. Ширина тракта данных составляет 32 бита для целочисленных операций. Этот тракт данных может также оперировать числами с плавающей точкой с одинарной и двойной точностью. Интересной частью picoJava II является регистровый файл, состоящий из 64-х 32-битных регистров. В этих регистрах могут содержаться верхние 64 слова стека JVM, что значительно повышает скорость доступа к словам в стеке. Как известно, JVM имеет стек операндов и стек локальных переменных. Оба они могут находиться в регистровом файле. Доступ к регистровому файлу происходит без задержек, тогда как доступ к кэш-памяти данных требует дополнительного цикла. Если, например, стек операндов состоит из двух слов, то в регистровом файле могут находиться до 62 слов локальных переменных. При помещении дополнительного слова в стек или его выталкивании может возникать дриблинг. Если в стек, например, помещается 63-я локальная переменная, то самая глубокая из них выгружается обратно в память. Для облегчения дриблинга регистровый файл действует как кольцевой буфер с указателями на самое нижнее и на самое верхнее слова. Дриблинг происходит автоматически всякий раз, когда регистровый файл пере­полняется или пустеет.

Конвейер системы picoJava II состоит из шести стадий. На первой стадии из кэш-памяти команд в буфер команд выбираются команды по 8 байтов за одно обращение. Емкость буфера команд составляет 16 байтов. На следующей стадии команды декодируются и определенным образом объединяются. На выходе из блока декодирования получается последовательность микроопераций, каждая из которых содержит код операции и три номера регистров (двух входных и одного выходного). PicoJava II сходна с Pentium II: обе получают поток CISC-команд, который преобразуется в последовательность RISC-микроопераций. В отличие от Pentium II, машина picoJava II не является суперскалярной, и микрооперации выполняются и завершаются в том порядке, в котором они запускаются. В случае промаха кэш-памяти процессор простаивает. На третьей стадии операнды выбираются из стека (фактически из регистрового файла). Четвертая стадия - это блок выполнения команд. На пятой стадии в случае необходимости производится обращение к кэш-памяти данных. Наконец, на шестой стадии результаты записываются обратно в стек. (на обороте…)










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

Выполнение с изменением последовательности и подмена регистров

Команды программы часто находятся во взаимозависимости. Чтобы достичь лучшей производительности, некоторые процессоры пропускают взаимозависимые команды и переходят к выполнению независимых команд. Для этого требуется исследование видов взаимозависимости команд:

  • RAW (Read After Write) – операнд очередной команды является результатом предыдущей команды;

  • WAR (Write After Read) – предыдущая команда должна завершить считывание регистра до того как следующая его перезапишет;

  • WAW (Write After Write) – очередная команда должна записать результат в регистр после того как предыдущая команда запишет этот же регистр.

Взаимозависимоть команд можно уменьшить искусственными методами. Одним из них является подмена регистров. Современные процессоры содержат десятки скрытых регистров, используемых для записи промежуточных результатов.

Спекулятивное выполнение

Компьютерные программы можно разбивать на базовые элементы, каждый из которых представляет собой линейную последовательность команд (цепочку) с точкой входа в начале и точкой выхода в конце. Базовые элементы связываются между собой операторами управления (ветвления, циклы). Рассмотренная в предыдущем пункте технология работает в пределах одного базового элемента. Однако, большинство базовых элементов коротки и в них недостаточно возможностей для параллелизма. Поэтому делаются попытки перестановок базовых элементов, приводящие к эквивалентным, но более эффективным, программам. С точки зрения параллелизма выгодно передвигать потенциально медленные блоки операций на более ранние стадии выполнения. Такое перемещение называется подъемом. Оно приводит к выполнению некоторых команд до того как будет известно, что их выполнение понадобится. Этот процесс называется спекулятивным выполнением. Эта технология ставит несколько интересных проблем. В частности, важно, чтобы спекулятивные команды не имели неотменяемых окончательных результатов. Это часто решается (хотя и довольно сложно) использованием подмены регистров.



Направления разработки микроархитектурного уровня

При разработке микроархитектурного уровня аналогично другим уровням существует альтернатива между быстродействием и стоимостью. Существуют 3 основных пути увеличения скорости выполнения операций:

  • сокращение количества циклов, необходимых для выполнения команды;

  • упрощение организации машины с целью сокращения цикла;

  • одновременное выполнение нескольких операций.

Количество циклов, необходимых для выполнения набора операций, называется длиной пути. Сокращения длины пути можно добиться следующими способами:

  • слияние цикла интерпретатора (“основной программы”) с микропрограммой (в конце каждой последовательности микрокоманд - “функции” происходит переход к следующей последовательности, без возврата в “основную программу”);

  • использование дополнительной входной шины (каждому из операндов - своя шина);

  • упреждающая выборка команд (выборку команд осуществляет блок, реализованный в виде конечного автомата и независимый от блока обработки команд);

  • микроархитектурный конвейер (использование наряду с блоком выборки других дополнительных блоков - декодирования, формирования очереди, …).





Микросхемы ввода-вывода:

Именно через эти микросхемы компьютер обменивается информацией с внешними устройствами. К наиболее распространенным видам этих микросхем относятся следующие: UART, USART, контроллеры CRT (CRT - электронно-лучевая трубка), дисковые контроллеры и РIO. UART (Universal Asynchronous Receiver Transmitter - универсальный асинхронный приемопередатчик) - это микросхема, которая может считывать байт из шины данных и передавать этот байт по битам на линию последовательной передачи к терминалу или получать данные от терминала. Микросхема может обеспечивать проверку на четность или на нечетность. Микросхема USART (Universal Synchronous Asynchronous Receiver Transmitter - универ­сальный синхронно-асинхронный приемопередатчик) может осуществлять синхронную передачу, используя ряд протоколов. Она также выполняет все функции UART. Микросхема PIO (Parallel Input/Output - параллельный ввод-вывод) содержит 24 линии ввода-вывода и может сопрягаться с устройствами широкого диапазона. Программа центрального процессора может записать 0 или 1 на любую линию или считать входное состояние любой линии, обеспечивая высокую гибкость. Центральный процессор может конфигурировать микросхему, загружая регистры состояния. В простейшем режиме данную микросхему можно представить в виде трех 8-битных портов: А, В и С. С каждым портом связан 8-битный регистр. Чтобы установить линии, центральный процессор записывает 8-битное число в соответствующий регистр, и это 8-битное число появляется на выходных линиях и остается там до тех пор, пока регистр не будет перезаписан. Чтобы использовать порт для входа, центральный процессор считывает соответствующий регистр. Помимо 24 выводов для трех портов микросхема 8255А содержит восемь линий, непосредственно связанных с шиной данных, линию выбора элемента памяти, линии чтения и записи, две адресные линии и линию для переустановки микросхемы. Две адресные линии выбирают один из четырех внутренних регистров, три из которых соответствуют портам А, В и С. Четвертый регистр - регистр состояния. Он определяет, какие порты используются для входа, а какие для выхода, а также выполняет некоторые другие функции. Обычно две адресные линии соединяются с двумя младшими битами адресной шины.



Блок декодирования умеет свертывать команды. Т. е., вместо нескольких CISC-команд JVM, для которых может потребоваться несколько обращений к памяти, блок декодирования распознает эту ситуацию и запускает лишь одну RISC-микрооперацию. Процесс свертыва­ния происходит только тогда, когда требуемые локальные переменные находятся достаточно близко от вершины стека, то есть содержатся в регистровом файле. Тем не менее свертывание команд происходит довольно часто.

В машине picoJava II используется примитивное прогнозирование ветвлений: она всегда предсказывает, что перехода не будет. Это объясняется намерением сохранить микросхему простой и дешевой. Однако благодаря более короткому конвейеру проигрыш при неправильном предсказании оказывается менее существенным



Система UltraSPARC II содержит конвейер с 9 стадиями. На стадии выборки считываются команды из кэш-памяти команд. На стадии декодирования перед копированием команд в очередь к каждой команде прибавляются дополнительные биты. Эти биты уско­ряют последующую обработку. Стадия группировки соответствует рассмотренной выше схеме группировки. С этого момента стадии конвейера для операций с целыми числами и для опе­раций с плавающей точкой разделяются. На стадии 4 в блоке целых чисел большинство команд выполняется за один цикл. Блок с плавающей точкой содержит отдельные 4 стадии. Первая нужна для доступа к регистрам с плавающей точкой. Следующие три выполняют команды. Еще одна стадия, общая для обоих блоков, нужна для разрешения исключительных ситуаций. Наконец, на последней стадии результаты записываются обратно в регистры. Если команда прошла эту стадию, она завершена.


Блок отправки/выполнения устанавливает очередность, выполняет микрооперации, разрешает взаимозависимости и конфликты ресурсов. Он состоит из резервации (очередь из 20 элементов для микроопераций) и функциональных блоков, которые связаны с пятью портами. Поэтому за один цикл можно выпустить для выполнения пять микроопераций. Микрооперации могут запускаться не по порядку, но блок возврата должен завершать их выполнение по порядку. Когда операция готова для выполнения, она может начаться, даже если другие операции, которые поступили в буфер ROB раньше нее, еще не готовы. Когда микрооперация выполнена, ее результат переходит обратно в резервацию, а затем в буфер ROB, и там ожидает возврата.

Блок возврата отвечает за отправку результатов в нужные места - в соответствующий регистр или в другие устройства блока отправки/выполнения, которым требуется данное значение. Система Pentium II поддерживает процедуру спекулятивного выполнения, по­этому некоторые команды могут выполняться напрасно, и их результаты никуда не нужно записывать. Именно поэтому поддерживается способность возвращаться в предыдущее состояние. Все это контролирует блок возврата. Только результаты “официально” выполненных команд могут возвращаться в регистры, причем это

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

Составляющими уровня команд являются: модель памяти, регистры, типы данных, команды. Часто на уровне команд имеется также два режима их выполнения. Привилегированный режим предназначен для работы операционной системы и предоставляет полный доступ к системе команд. Пользовательский режим используется для запуска обычных приложений. В этом режиме недоступны некоторые возможности процессора.

Модели памяти: Во всех компьютерах память разделена на ячейки, имеющие последовательные номера (адреса). В настоящее время наиболее распространенной ячейкой является байт. Байты обычно группируются в 2, 4 или 8 - байтные слова, которыми манипулируют команды. Многие архитектуры требуют, чтобы слова были выровнены на их целочисленную границу (быстродействие и экономичность). Например, 4-байтовое слово должно начинаться с адреса, кратного 4. Большинство современных машин имеют единое линейное адресное пространство, от 0 до некоторого максимума. Некоторые компьютеры поддерживают раздельные адресные пространства для команд и данных. Такая система гораздо сложнее, но имеет два преимущества. Во-первых, появляется возможность 32-битной адресации к 232 байтам для программы и такому же количеству данных. Во-вторых, из программы можно делать запись только в область данных, поэтому случайная перезапись программы становится невозможной. Это устраняет один из распространенных источников программных сбоев. Еще один аспект модели памяти - ее семантика. При разработке моделей памяти возникает ряд проблем, связанных с современной компьютерной архитектурой. Во-первых, это вызвано переупорядочиванием микрокоманд. Возможны два кардинальных решения подобных проблем. Все запросы к памяти могут быть синхронизированы в последовательности так, чтобы каждый завершался до того как начнется следующий. Такая стратегия очень вредит производительности, но дает простейшую семантику памяти - все операции выполняются в строгом программном порядке. Вторая крайность - вообще не давать никаких гарантий последовательности выполнения запросов к памяти. Чтобы упорядочивать обращения к памяти, программа сама должна выполнять команду SYNC, блокирующую запуск новых операций памяти, пока предыдущие не будут завершены. Эта идея существенно затрудняет разработку компиляторов, зато дает свободу разработчикам аппаратуры в плане оптимизации памяти. (на обороте…)
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconУчебной дисциплины «Архитектура ЭВМ и вычислительных систем» предназначена...
Учебная дисциплина «Архитектура ЭВМ и вычислительных систем» является общепрофессиональной дисциплиной, формирующей базовый уровень...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconПеречень тем для реферата
Архитектура ЭВМ. Принцип Неймана. Основные устройства эвм, их назначение и характеристики
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon«архитектура ЭВМ и систем» Новосибирск сгга содержание
Эвм различных классов; параллельные системы понятие о многомашинных и многопроцессорных вычислительных системах; матричные и ассоциативные...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconУчебно-методический комплекс дисциплины архитектура компьютера (Архитектура...
Рындина Татьяна Николаевна, ст преподаватель кафедры Физики, информатики и информационных технологий
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconТемы рефератов по дисциплине: “Архитектура эвм”

Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферат по курсу: Архитектура вс на тему: Архитектура квантовых компьютеров
Квантовые компьютеры на основе молекул органических жидкостей с косвенным скалярным взаимодействием между ними и методов ядерного...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферат по курсу: Архитектура вс на тему: Архитектура квантовых компьютеров
Квантовые компьютеры на основе молекул органических жидкостей с косвенным скалярным взаимодействием между ними и методов ядерного...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconАрхитектура эвм, ос, вирусы
В программа, выполняющая тестирование компьютерной системы после включения компьютера
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconКонспект лекций по курсу "Микропроцессоры и микро-эвм в Персональной...
Целью настоящего курса является дать понятие о микропроцессорах и однокристальных микро-эвм, области их применения, дать основы функционирования...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon«Архитектура эвм»
Цель дисциплины: формирование систематизированных знаний в области архитектуры компьютера, организации компьютерных систем, программирования...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconТехническое обеспечение кит реферат
Сша и предназначалась для баллистических расчётов при стрельбе. Первая отечественная цифровая ЭВМ «мэсм» создана в 1950 г. Ход развития...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconАрхитектура ЭВМ и систем конспект лекций
Обучающие: Учить детей понимать эмоциональное состояние героев постановки, придавать физическим действиям куклы максимум выразительности...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРеферата. Список элементов библиографической записи
Максимов, Н. В. Архитектура ЭВМ и вычислительных систем [Текст]: учеб для вузов / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. — М.:...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconРабочая программа дисциплины «архитектура ЭВМ и вычислительных систем» (наименование дисциплины)
Составлена в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальности...
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» iconПрограмма по формированию навыков безопасного поведения на дорогах...
При этом на первый план выдвинулась концепция их взаимодействия. Так возникло принципиально новое понятие архитектура ЭВМ
Шпаргалки (двухсторонние) по курсу «Архитектура эвм» icon“Внешние устройства персонального компьютера.”
Пу обеспечить поступление в ЭВМ из окружающей среды программ и данных для обработки, а также выдачу результатов работы ЭВМ в виде,...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск