Главная страница
Навигация по странице:

  • Д.И. Самаль, В.В. Колонов СТРУКТУРНАЯ И ФУНКЦИОНАЛЬНАЯ

  • ЛАБОРАТОРНАЯ РАБОТА № 1 "Арбитраж шин" 1.1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

  • Децентрализованный

  • 1.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 1.2.1. Задание и рекомендации по выполнению лабораторной работы

  • 1.2.2. Содержание отчета по лабораторной работе №1

  • ЛАБОРАТОРНАЯ РАБОТА № 2 "Организация кэш-памяти" 2.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

  • Структурная и функциональная организация эвм. Повышение производи


    Скачать 0.72 Mb.
    НазваниеСтруктурная и функциональная организация эвм. Повышение производи
    Дата27.12.2018
    Размер0.72 Mb.
    Формат файлаpdf
    Имя файлаSIFO_Lab_practicum_part_2.pdf
    ТипЛабораторная работа
    #62056
    страница1 из 3
      1   2   3

    Министерство образования Республики Беларусь
    Учреждение образования
    «Белорусский государственный университет информатики и радиоэлектроники»
    Кафедра электронных вычислительных машин
    Д.И. Самаль, В.В. Колонов
    СТРУКТУРНАЯ И ФУНКЦИОНАЛЬНАЯ
    ОРГАНИЗАЦИЯ ЭВМ. ПОВЫШЕНИЕ ПРОИЗВОДИ-
    ТЕЛЬНОСТИ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА
    Лабораторный практикум для студентов специальности
    1-40 02 01
    “Вычислительные машины, системы и сети“ всех форм обучения
    Минск БГУИР 2010

    2
    УДК
    ББК
    C17
    Рецензент: зав. лабораторией логического проектирования
    ОИПИ НАН Беларуси, доктор техн. наук П.Н. Бибило
    Самаль Д.И.
    С17
    Структурная и функциональная организация ЭВМ. Повышение производительности центрального процессора: Лабораторный практи- кум для студентов специальности 1- 40 02 01“Вычислительные маши- ны, системы и сети“ всех форм обучения./ Д. И. Самаль, В. В. Колонов.
    – Минск: БГУИР, 2010. – 39 с.: ил.
    ISBN
    В учебном пособии рассмотрены типовые задания на лабораторные работы, проводимые в рамках дисциплины «Структурная и функцио- нальная организация ЭВМ». Для каждой работы приводится теоретиче- ский материал, соответствующий теме работы.
    Особое внимание уделено вопросам использования для моделиро- вания схем системы автоматизированного проектирования Quartus 9.0.
    УДК
    ББК
    © СамальД.И., КолоновВ.В., 2010
    ISBN ©
    УО «Белорусский государственный университет информатики и радиоэлектроники», 2010

    3
    Содержание
    Введение ....................................................................................................................... 4
    ЛАБОРАТОРНАЯ РАБОТА № 1 "Арбитраж шин" .............................................. 5
    Лабораторная работа № 2 ........................................................................................ 13
    "Организация кэш-памяти" ...................................................................................... 13
    Лабораторная работа № 3 ........................................................................................ 19
    "Взаимодействие кэш-памяти и ОЗУ" ............................................................ 19
    Лабораторная работа № 4 ........................................................................................ 21
    "Динамическое предсказание условных переходов"..................................... 22
    Лабораторная работа № 5 ........................................................................................ 29
    "Моделирование работы конвейера команд центрального процессора" .... 29
    ТРЕБОВАНИЯ
    К
    КУРСОВОМУ
    ПРОЕКТУ
    ПО
    ДИСЦИПЛИНЕ
    «СТРУКТУРНАЯ И ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ ЭВМ» ....... 33
    Список литературы ................................................................................................... 38

    4
    Введение
    Настоящий лабораторный практикум содержит варианты задания на 5 ла- бораторных работ, посвящённых изучению таких сложных функциональных блоков центрального процессора ЭВМ как: конвейер команд, кэш-память, предсказатель условных переходов.
    Каждая из работ сопровождается теоретическим материалом, который по- зволяет студентам без использования дополнительных литературных источни- ков разобраться в принципах функционирования изучаемого блока, спроекти- ровать его в САПР Altera Quartus v.7.1 – v. 9.0 и промоделировать его поведе- ние в различных режимах работы.
    Помимо лабораторных работ в методическое пособие включены требова- ния к курсовому проекту по дисциплине «Структурная и функциональная орга- низация ЭВМ, а также варианты заданий к нему.

    5
    ЛАБОРАТОРНАЯ РАБОТА № 1
    "Арбитраж шин"
    1.1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
    В вычислительной технике существуют архитектуры вычислительных сис- тем, содержащие нескольких ведущих устройств, взаимодействующих с ведо- мыми устройствами посредством одной шины. Некоторые устройства могут быть как ведущими, так и ведомыми в различные моменты времени. Очевидно, что в таком случае неизбежно будут возникать ситуации конфликта интересов ведущих устройств, т.е. попытки получения в своё распоряжение шины одно- временно с другими ведущими устройствами. Простейшим решением задачи является присвоение приоритетов всем ведущим устройствам, использующим одну общую шину и решение конфликтов согласно приоритетам. Существует два способа распределения приоритетов по ведущим устройствам:
    - статический (приоритеты устанавливаются разработчиком ЭВМ и больше не меняются),
    - динамический (приоритеты определяются для каждого из устройств в конкретный момент времени по некоторому алгоритму и, таким образом, дают шанс на пользование шиной каждому ведущему устройству).
    Минусом первого способа является высокая вероятность ситуации, в кото- рой устройства с высоким приоритетом могут полностью блокировать (т.е. мо- нополизировать) шину. Минусом второго – усложнение схемы ведущих уст- ройств и процедуры арбитража.
    Для динамического способа назначения приоритетов чаще всего исполь- зуют следующие алгоритмы смены приоритетов устройств:
    • Простая циклическая смена приоритетов – после каждого цикла произво- дится изменение приоритета на единицу по кругу для всех ведущих уст- ройств.
    • Циклическая смена приоритетов с учётом последнего запроса – послед- ний обслуженный получает самый низкий приоритет, остальные за ним сдвигаются по кругу. Данный алгоритм более распространён, чем преды- дущий.
    • Смена приоритетов по случайному закону – генератор случайных чисел назначает новые значения приоритетов.
    • Схема равных приоритетов – при поступлении нескольких запросов каж- дый из них имеет шансы на обслуживание, а конфликт решается арбит- ром. Алгоритм обычно применяется в асинхронных схемах.
    • Алгоритм наиболее давнего использования – LRU (Last Recently Used) – после каждого цикла наивысший приоритет получает то устройство, ко- торое дольше всех не использовало шину.
    К дополнительным алгоритмам, которые встречаются реже перечислен- ных выше, относятся:

    6
    • Очередь запросов на обслуживание – FIFO. Алгоритм требует сложной аппаратной реализации и по этой причине используется редко.
    • Фиксированный квант времени – каждому ведущему отводится фиксиро- ванный промежуток времени для захвата шины. Алгоритм хорошо под- ходит для шин с синхронным протоколом.
    Существуют две схемы арбитража - централизованная и децентрализо-
    ванная.
    В первом случае в ЭВМ существует центральный арбитр (ЦА) либо центральный контроллер шины (конструктивно он может быть выполнен в виде самостоятельной микросхемы либо быть интегрированным в ЦП), который полностью контролирует доступ к шине ведущих устройств. Централизован- ные схемы арбитража могут быть реализованы двумя способами – параллель- ным или последовательным.
    Рис. 1.1. Централизованный параллельный арбитраж (или «централизованный арбитраж независимых запросов)
    При параллельном подключении – ЦА связан с каждым потенциальным ведущим индивидуальными двухпроводными трактами. Соответственно, за- просы на доступ к шине могут поступать от ведущих параллельно и независи- мо. При таком подключении ЦА может реализовывать любой из перечислен-
    Цен- траль- ный арбитр

    Ведущие
    ПШ
    7
    ПШ
    6
    ПШ
    0
    ЗШ
    0
    ЗШ
    6
    ЗШ
    7
    #ШЗ – «шина занята»
    ЗШ – запрос шины
    ПШ – предо- ставление шины

    7 ных выше алгоритмов смены приоритета. Схема параллельного подключения представлена на рис. 1.1.
    Централизованный последовательный арбитраж так же называют цепочеч- ным или гирляндным. Существует три вида подобного арбитража – с цепочкой сигнала ЗШ (запрос шины), доп. сигнала разрешения (РШ) и сигнала предос- тавления шины (ПШ) – наиболее распространённый вариант (рис. 1.2 - 1.3).
    Данный способ организации арбитража может быть реализован в виде схемы с одной цепочкой сигнала, так и с несколькими (рис. 1.3). В таких случаях гово- рят, что схема имеет несколько линий приоритета.
    Рис. 1.2. Централизованный последовательный арбитраж
    Рис. 1.3. Централизованный последовательный арбитраж с двумя линиями приоритета
    Децентрализованный (или распределённый) арбитраж основан на принципе самостоятельности анализа каждым из ведущих устройств возможно- сти захвата им шины для выполнения транзакции. Для этого, каждый из веду- щих содержит собственный блок управления доступом к шине. Блоки взаимо-
    Централь- ный арбитр
    Ведущий n
    Ведущий n-1
    Ведущий
    0
    Запрос шины (ЗШ)
    Шина занята (ШЗ)
    ПШ

    8 действуют между собой и определяют в каждый момент времени устройство, которое имеет наивысший приоритет. Простейший вариант подобной схемы – параллельный децентрализованный арбитраж представлен на рис. 1.4.
    Рис. 1.4. Параллельный децентрализованный арбитраж
    Кольцевая схема арбитража с циклической сменой приоритетов пред- ставлена на рис 1.5. Переход к следующему ведущему производится со сменой приоритетов. Текущий ведущий в следующем цикле шины будет иметь наи- меньший приоритет, его сосед справа – наивысший, остальные устройства – на
    1 меньше, чем у соседа слева. Текущий ведущий генерирует сигнал ПШ, кото- рый проходит через все схемы логики арбитража (ЛА). Если имеется ещё один ведущий, который просит шину (т.е. генерирует запрос ЗШ), то его ЛА не про- пускает сигнал ПШ к другим устройствам. Текущий ведущий, «потеряв» сигнал
    ПШ на своём входе, должен при первой возможности освободить шину. Запра- шивающий её займет. Аналогично строится и циклическая смена арбитража с учётом последнего запроса.
    Распределённый арбитраж с самостоятельным выбором строится по сле- дующей схеме: арбитражные линии и устройства монтируются по схеме «мон- тажное ИЛИ». Каждому ведущему присваивается уникальный номер, который соответствует уровню приоритета. Запрашивающие шину выставляют на ар- битражные линии свой номер. Каждый из запрашивающих шину ведущих, об- наружив на линиях номер с более высоким приоритетом, снимает младшие би- ты своего номера. В итоге сеанса арбитража (может понадобиться несколько итераций) на линии остаётся только номер с наиболее высоким приоритетом.
    Ведущий, распознавший на линиях свой номер – захватывает шину.
    Ведущий n
    &
    ПШ
    n
    З
    Ведущий n-1
    ПШ
    n-1
    ЗШ
    n-1
    &
    Ведущий 0
    Ш
    0
    З

    З
    З

    9
    Рис. 1.5. Кольцевой децентрализованный арбитраж
    Рис. 1.6. Простейший децентрализованный арбитраж с фиксированными приоритетами
    1.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
    1.2.1. Задание и рекомендации по выполнению лабораторной работы
    Лабораторную работу рекомендуется выполнять в новом проекте, не ис- пользуя предыдущих наработок.
    Задача состоит в создании нескольких модулей ведущих устройств, коли- чество которых задано в таблице вариантов 1, центрального арбитра (если он задан по варианту), логики арбитража и одного ведомого модуля.
    В качестве разделяемого ресурса используется шина данных заданной ширины. Каждое из ведущих устройств пытается выставить для ведомого уст- ройства на эту шину свои уникальные данные (например, порядковый или уникальный номер). В соответствии с вариантом задания необходимо обеспе- чить арбитраж этой шины данных и прием данных ведомым. Для тех случаев, когда это необходимо можно использовать дополнительно шину управления.
    Снятие данных с шины ведомым устройством следует обеспечивать син- хронно либо асинхронно в зависимости от значения в поле «Тип шины» табли- цы вариантов.
    Ведущий n
    Логика арбитра- жа
    ПШ
    З
    Ведущий n-1
    Логика арбитра- жа
    Ведущий 0
    Логика арбитра- жа
    ПШ
    З
    ПШ
    З

    10
    Разрешается использовать функциональное моделирование (без учета за- держек). Для этого в диалоге Processing->Simulator Tool необходимо переклю- чить тип моделирования (Simulation Mode) на функциональное моделирование
    (Functional). Перед запуском функционального моделирования необходимо сгенерировать таблицу соединений с помощью кнопки «Generate functional si-
    mulation netlist» (рис.1.7).
    Рис. 1.7. Переключение в режим функционального моделирования
    Рассмотрим пример реализации централизованного параллельного арбит- ража со статическими приоритетами 4-х разрядной шины c двумя ведущими устройствами и одним ведомым.
    Рис. 1.8. Подключение устройств к шине данных
    Подключение устройств к шине показано на рис. 1.8. Ведущие устройства в определенный момент генерируют сигнал запроса шины (ЗШ). Реализация ведущих показана на рис. 1.9. Использование счетчика в схеме ведущих уст- ройств позволяет ведущему в определенный момент выдать сигнал ЗШ на вы- ход. Первый ведущий отличается от второго максимальным числом счета в счетчике 4 и 7 соответственно (значения назначаются произвольно). Кроме того генерируется уникальное 4-х разрядное значение, которое пропускается на вы- ходную шину данных при высоком уровне сигнала ПШ.

    11
    Рис. 1.9. Схема ведущих устройств
    Расположение линий на входе центрального арбитра (рис. 1.10) определяет приоритет устройств. В зависимости от приоритета генерируются сигналы пре- доставления шины (ПШ) для каждого из ведущих устройств.
    Рис. 1.10. Схема простейшего центрального арбитра для двух устройств
    Ведомое устройство снимает приходящие по шине данные и выдает их на выходной порт. В случае, если вариант задания предусматривает арбитраж асинхронной шины, то ведомое устройство должно обеспечивать процедуру квитирования – т.е. обмена сигналами с ведомым устройством о готовности приёма данных и об его завершении.
    Пример результатов функционального моделирования проекта приведён на рис. 1.11.
    Рис. 1.11. Результаты моделирования
    Таблица 1. Варианты заданий к лабораторной работе № 1

    12

    Вид арбитража
    Вид подключе-
    ния
    Алгоритм смены
    приоритетов
    Вид
    шины
    Кол-во
    ведущих
    на шине
    1
    Централизованный
    Параллельный
    Циклический
    Синхр. 4/6/8 2
    Централизованный
    Параллельный
    Циклический с учётом последнего запроса
    Асинхр. 4/6/8 3
    Централизованный
    Параллельный
    Наиболее давнего ис- пользования
    Синхр. 4/6/8 4
    Централизованный
    Параллельный
    Фиксированный квант времени
    Асинхр. 4/6/8 5
    Централизованный
    Последователь- ный
    Статический
    (с двумя линиями при- оритета)
    Синхр. 4/6/8 6
    Централизованный
    Последователь- ный
    С цепочкой сигнала
    ЗШ
    Асинхр. 4/6/8 7
    Централизованный
    Последователь- ный
    С цепочкой сигнала
    ПШ
    Синхр. 4/6/8 8
    Децентрализован- ный
    Параллельный
    Статический
    Асинхр. 4/6/8 9
    Децентрализован- ный
    Кольцевой
    Статический
    Синхр. 4/6/8 10
    Децентрализован- ный
    Параллельный
    Распределённый ар- битраж с самостоя- тельным выбором
    Асинхр. 4/6/8 11
    Децентрализован- ный
    Кольцевой
    Наиболее давнего ис- пользования
    Синхр. 4/6/8 12
    Децентрализован- ный
    Кольцевой
    Циклический с учётом последнего запроса
    Асинхр. 4/6/8
    1.2.2. Содержание отчета по лабораторной работе №1
    1. Вариант задания на лабораторную работу.
    2. Схемы
    2.1 Структурная схема подключения ведущих и ведомых устройств к ши- не.
    2.2. Схемы ведущих и ведомого устройства.
    2.3. Схема центрального арбитра либо блока арбитража ведомого устрой- ства.
    3. Результаты функционального моделирования.

    13
    Cache
    Address
    Offset
    Tag
    Compare
    Compare
    Compare
    Compare
    Compare
    Compare
    Compare
    Compare
    Check each line in parallel
    Select line to return based on which line hit
    Requested
    Data
    ЛАБОРАТОРНАЯ РАБОТА № 2
    "Организация кэш-памяти"
    2.1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
    Быстродействие и цена микросхем памяти являются обратно- пропорциональными величинами. С целью минимизации стоимости вычисли- тельных систем при сохранении их производительности на требуемом уровне используется иерархическая схема организации памяти. Помимо внутренней памяти центрального процессора (регистров) на кристалле ЦП так же распола- гается кэш-память, которая в зависимости от схемотехнического решения мо- жет подразделяться на первый и второй уровни.
    При проектировании кэш-памяти учитывается прежде всего принцип ло- кальности данных, который заключается в том, что если к одному слову основ- ной памяти было произведено обращение процессора, то с большой вероятно- стью на следующих тактах ЦП обратится и к следующему за ним по адресу слову памяти. Это означает, что в кэш-памяти целесообразно хранить блоки данных, объём которых, как правило, колеблется в диапазоне от 4 до 64 слов.
    Рис. 2.1. Организация кэш-памяти с полностью ассоциативным отображением
    Каждый блок данных, помещаемый в кэш-память, сопровождается ассо- циативным признаком, называемым тэгом (tag), по которому производится

    14 идентификация содержимого блока данных. Комбинация тэга и блока данных называется строкой кэш.
    По внутренней структуре и, соответственно, способу размещения данных
    ОЗУ в кэш-памяти, она может быть разделена на три типа:
    - кэш с полностью ассоциативным отображением
    (fully-associative cache);
    - кэш с прямым отображением (direct mapped cache);
    - кэш с множественно-ассоциативным отображением (k-way associative
    cache).
    В кэш-памяти с полностью ассоциативным отображением любой блок данных из основной памяти может быть продублирован в любой строке кэш.
    Таким образом, до тех пор, пока в наличие имеются свободные строки кэш- память данного типа не может производить замещение хранимых в ней данных, что обеспечивает более эффективное заполнение кэш-памяти и снижение веро- ятности промаха. Схема организации данного типа памяти приведена на рис.
    2.1. К сожалению, организация подобного типа кэш-памяти требует дополни- тельных аппаратных затрат, что удорожает в целом микросхему центрального процессора.
    Рис. 2.2. Организация кэш-памяти с прямым отображением
    В кэш-памяти с прямым отображением (direct mapped cache), каждому блоку памяти поставлена в соответствие отдельная строка кэш-памяти. Так как объём кэш-памяти в несколько десятков раз меньше объёма основной памяти, то на размещение в одну строку кэш будут претендовать несколько десятков
    Cache
    Address
      1   2   3


    написать администратору сайта