Структурная и функциональная организация эвм. Повышение производи
Скачать 0.72 Mb.
|
4.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 4.2.1. Задание и рекомендации по выполнению лабораторной работы Лабораторную работу рекомендуется выполнять в новом проекте, не ис- пользуя предыдущих наработок. Задача состоит в создании блока предсказания переходов в соответствии с вариантом задания и моделирования его работы. Адреса команд условного перехода, так же как и их исход можно задавать в ручном режиме. Непосредст- венно выполнение самих команд перехода можно не моделировать. Основным требованием является задержка задаваемого в ручном режиме результата исхо- да команды УП по отношению к её адресу и предсказанию, выдаваемому бло- ком предсказания. Варианты задания лабораторной работы приведены в табли- це 4. Разрешается использовать функциональное моделирование. При выполнении задания необходимо обратить внимание на приведенные ниже моменты. 1. Моделирование потока команд УП можно задавать единичными бита- ми выставляемыми на отдельных сигнальных линиях, каждая из которых за- Селектор Предсказание 2 GHR Счетчик команд Схема предска- зания 1 Схема предска- зания 2 Предсказание 1 Итоговое предсказание 28 креплена за определённой командой УП. При этом в каждый отдельный момент времени (в рамках тактового сигнала) должна быть активирована лишь одна линия. Альтернативным вариантом задания команд УП является задание адреса конкретной команды на шине адреса ЦП. 2. Для моделирования исхода УП (который в реальности определяется со- стоянием флагов процессора) можно использовать отдельную сигнальную ли- нию. Наличие единичного сигнала на ней в какой-либо момент времени обо- значает положительный исход той команды УП, бит которой активирован в этот момент на сигнальных линиях команд УП, либо адрес которой выставлен на шине адреса. Нулевой сигнал соответствует отрицательному исходу (т.е. пе- реход не состоялся) соответствующей команды УП. 3. В случае необходимости использования счётчика команд в схеме, адре- са команд УП задаются произвольно – в ручном режиме. 4. На выходе схемы должен генерироваться сигнал о предсказании пере- ходов поступающих команд УП. Таблица 4. Комбинации параметров схем предсказания переходов для формирования вариантов заданий к лабораторной работе № 4 № Тип авто- мата Количество уровней схемы Количе- ство бит шаблона Способ формирования шаблона 1 А2 1 8/16/32 GHR / PC/ GHR||PC / GHR ⊕PC 2 А3 1 8/16/32 GHR / PC/ GHR||PC / GHR ⊕PC 3 А4 1 8/16/32 GHR / PC/ GHR||PC / GHR ⊕PC 4 А5 1 8/16/32 GHR / PC/ GHR||PC / GHR ⊕PC 5 A1 & A2 2 8/16 GHR / PC/ GHR||PC / GHR ⊕PC 6 A1 & A3 2 4/8/16 GHR / PC/ GHR||PC / GHR ⊕PC 4.2.2. Содержание отчета по лабораторной работе №4 1. Задание. 2. Общая схема динамического предсказания исходов команд УП. 3. Результаты моделирования схемы. 4. Статистика результатов работы схемы – общее количество поступивших команд УП, количество совершённых и несовершённых переходов, соот- ношение удачных предсказаний к общему количеству переходов. 29 ЛАБОРАТОРНАЯ РАБОТА № 5 "Моделирование работы конвейера команд центрального процессора" 5.1 .ТЕОРЕТИЧЕСКАЯ ЧАСТЬ Конвейеризация любого процесса подразумевает его разделение на более- менее одинаковые по длительности этапы и позволяет выполнять эти этапы од- новременно и параллельно для нескольких объектов, над которыми произво- дится конвейеризируемый процесс. В вычислительной технике метод конвейе- ризации используется достаточно широко – допускается как конвейеризация транзакций шин, обращений к памяти, так и конвейеризация процесса выпол- нения самих команд центрального процессора. Как правило, цикл выполнения центральным процессором любой коман- ды состоит из следующих этапов: 1. Выборка команды (ВК). 2. Декодирование команды (ДК). 3. Вычисление адресов операндов (ВА). 4. Выборка операндов (ВО). 5. Исполнение команды (ИК). 6. Запись результата (ЗР). Не смотря на гипотетическую возможность выравнивания большинства из приведенных этапов по времени на практике все этапы выполняются различ- ное количество тактов. При этом основная проблема заключается не в разнице скоростей доступа к памяти и, например, АЛУ. Сложность состоит в том, что команды могут иметь различный формат, различное количество операндов, ко- торые могут находиться как в регистрах процессора, так и в памяти, а также быть заданы с помощью достаточно большого количества вариантов адресации операндов. В соответствии с непредсказуемостью поступающих на вход команд, а так же взаимосвязью этапов конвейера, в большинстве случаев должен быть предусмотрен механизм приостановки работы соответствующей стадии кон- вейера, если последующая стадия не успевает принять результаты её работы. При этом, если возможная нерегулярность по времени работы присуща всем стадиям конвейера, становится возможной определённая самокомпенсация по времени исполнения этапов конвейера, которая может быть задействована пу- тём введения достаточных по ёмкости буферов для хранения промежуточных данных между стадиями конвейера. Тем не менее, основная проблема конвейеризации любого процесса мо- жет быть сведена к тюркской пословице – скорость каравана соответствует скорости его самого медленного верблюда, или иными словами – если одна из стадий явно медленнее других, то общая производительность конвейера будет соответствовать скорости именно этой стадии. В отличие от однотактовой и многотактовой схем построения централь- ныхпроцессоров, в конвейеризированном процессоре должны быть явно выде- 30 лены и синхронизированы между собой регистры хранения промежуточных результатов. Пример подобной схемы приведён на рис. 5.1. Так как схема явля- ется структурной на ней не показаны сигналы управления выполнением каждо- го из этапов, перевода его в случае необходимости в режим «холостого хода» и возобновления работы. Рис. 5.1. Пример схемы конвейера команд процессора 5.2. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 5.2.1. Задание и рекомендации по выполнению лабораторной работы Лабораторную работу рекомендуется выполнять в новом проекте, не ис- пользуя предыдущих наработок. Задача состоит в воссоздании трёх первых стадий конвейера команд: вы- борки команды, декодирования команды и выборки операндов из памяти. Вы- полнение самих команд арифметико-логическим устройством можно сделать по желанию с использованием проекта лабораторной работы из предыдущего семестра. Варианты задания лабораторной работы приведены в таблице 5. Раз- решается использовать функциональное моделирование. Минимальный вариант выполненной лабораторной работы должен содер- жать кэш-память команд, блок формирования адреса команды, блок декодиро- вания команды, блок выборки операндов, кэш-память данных и соответствую- щие шины – адреса и данных. Пример подобной схемы (за исключением кэш- памяти данных) показан на рис. 5.2. Instruction memory Address 4 32 0 Add Add result Shift left 2 IF/ID EX/MEM MEM/WB M u x 0 1 Add PC 0 Write data M u x 1 Registers Read data 1 Read data 2 Read register 1 Read register 2 16 Sign extend Write register Write data Read data 1 ALU result M u x ALU Zero ID/EX Data memory Address 31 Рис. 5.2. Пример компоновки блоков конвейера команд Основным требованием к выполненной лабораторной работе является де- монстрация задержки выполнения команды в период её прохождения по стади- ям конвейера. Для каждой команды в результатах моделирования должны быть отражены – её адрес, её код операции, адреса операндов, и значения самих опе- рандов, извлечённых из кэш-памяти данных либо регистров. Пример, коррект- ных результатов моделирования лабораторной работы приведён на рис. 5.3. Для сдачи варианта лабораторной работы повышенной сложности требует- ся реализовать механизм задержки (перевода их в режим холостого хода) пре- дыдущих стадий конвейера, если стадия выборки операндов не успевает об- служить текущую команду до поступления результатов обработки следующей команды с предшествующих стадий. Рис. 5.3. Пример результатов моделирования конвейера команд процессора Таблица 5. Варианты заданий к лабораторной работе № 4 32 № Разряд- ность шины данных Разряд- ность шины адреса Количе- ство опе- рандов в команде Количество реги- стров Типы операндов: М –память, R - регистр 1 8 8 0/3 16 MRR, RRR 2 8 12 1/2 24 M, R, MR, RR 3 16 16 0/2 16 MR, RR 4 16 8 0/3 16 MRR, RRR 5 4 6 0/1 12 M, R 6 8 12 1/3 24 MRR, RRR 7 4 8 1/3 8 MRR, RRR 8 8 8 0/2 8 MR, RR 9 8 16 0/2 8 MR, RR 10 16 12 1/2 32 M, R, MR, RR 11 4 6 1/2 16 M, R, MR, RR 12 8 20 0/1 32 M, R 13 8 8 1/2 16 M, R, MM 14 8 4 1/3 16 M, R, MMR 15 16 8 2/3 16 MM, MR, RR, MRR 16 16 10 2/3 32 MM, MR, RR, MRR, RRR 5.2.2. Содержание отчета по лабораторной работе №5 1. Задание. Формат команд. 2. Общая схема конвейера команд. 3. Результаты моделирования схемы. 33 ТРЕБОВАНИЯ К КУРСОВОМУ ПРОЕКТУ ПО ДИСЦИПЛИНЕ «СТРУКТУРНАЯ И ФУНКЦИОНАЛЬНАЯ ОРГАНИЗАЦИЯ ЭВМ» 6.1 СОДЕРЖАНИЕ КУРСОВОГО ПРОЕКТА СиФО ЭВМ Курсовой проект по дисциплине СиФО ЭВМ является логическим завер- шением лекционного материала и обобщением обоих лабораторных практику- мов по курсу. Тема курсового проекта – «Разработка микро-ЭВМ на ПЛИС». При разработке курсового проекта настоятельно рекомендуется использо- вать наработанные в ходе выполнения лабораторных работ схемотехнические решения отдельных блоков. Курсовой проект должен содержать: - пояснительную записку объемом не менее 30 страниц, выполненных шрифтом Times New Roman 14, с одинарным междустрочным интерва- лом. - графическую часть, содержащую не менее чем, четыре чертежа формата А3, - компакт диск с исходными схемами проекта, выполненными в САПР Al- tera Quartus v. 7.11 – v. 9.0. Оформление чертежей курсового проекта должно соответствовать требо- ваниям, приведенным в методических указаниях к дипломному проектирова- нию [15]. 6.1.1. Содержание пояснительной записки Пояснительная записка должна содержать следующие обязательные разде- лы: Лист задания с вариантом разрабатываемой микро-ЭВМ (1 стр.) Введение - реферативное описание архитектурных свойств заданного ва- рианта микро-ЭВМ (1 стр.) 1. Разработка общей структуры микро-ЭВМ (6-9 стр.) 1.1. Функциональный состав микро-ЭВМ (2-3 стр.) 1.2. Разработка системы команд (2-3 стр.) 1.3. Описание взаимодействия всех блоков микро-ЭВМ при выполне- нии команд программы (2-3 стр.) 2. Разработка основных устройств микро-ЭВМ (11-18 стр.) 2.1. Запоминающие устройства. Функциональный состав и временные диаграммы работы ОЗУ (1-2 стр.) 2.2. Устройство управления: а) Центральный узел распределения управ- ляющих сигналов; б) Узел местного управления фазами выполнения команд; в) Блок указателя команд IP и блок регистра кода команд IR. г) Блок управления стековой памятью (3-4 стр.) 2.3. Арифметико-логическое устройство: а)Логическое построение АЛУ и блок РОНов; б) Реализация арифметических и логических операций (2-3 стр.) 2.4. Организация кэш-памяти процессора (2-3 стр.) 34 2.5. Описание системы предсказания переходов (1-2 стр.) 2.6. Аппаратура и функционирование КПДП (1-2 стр.) 2.7. Описание арбитра шины (1-2 стр.) 3. Функциональное моделирование (8-14 стр.) 3.1. Всех указанных выше блоков по отдельности (6-10 стр.) 3.2. Описание временной диаграммы работы всего устройства (2-4 стр.) 4. Анализ и оптимизация разработанной микро-ЭВМ (3-5 стр.) 4.1. Сокращение длительности выполнения отдельных команд (1-2 стр.) 4.2. Конвейерное выполнение фаз последовательностей команд (2-3 стр) 4.3. Реализация микропрограммного варианта устройства управления (2-3 стр.) Заключение – общие технические характеристики разработанной микро- ЭВМ по архитектуре, быстродействию, топологическим свойствам, оптималь- ности конструкторских решений (1-2 стр). Все функциональные блоки, которые не будут представлены на чер- тежах А3 должны быть отображены в пояснительной записке на отдель- ных листах формата А4. 6.1.2. Критерии оценки курсового проекта Курсовой проект будет оцениваться по 10 бальной системе исходя из сле- дующих критериев: 1. Наличие в тексте ПЗ более трёх предложений, являющихся плагиатом, – минус 1 балл итоговой оценки. 2. Отсутствие в ПЗ функционального блока или несоответствие блока, вы- данному варианту – минус 1 балл за каждый блок. 3. Отсутствие результатов общего моделирования всех блоков разрабаты- ваемой ЭВМ в одном общем проекте – минус 1 балл. 4. Небрежное оформление ПЗ – т.е. наличие орфографических, граммати- ческих, синтаксических, стилистических ошибок (более 5 шт. на ПЗ), небрежно отформатированный текст (отсутствие единого стиля), нару- шение нумерации подзаголовков и рисунков, небрежно оформленный список литературы – минус 1 балл. 5. Небрежное оформление чертежей – рамки не по ГОСТам, отсутствие линий связи для шин и основных управляющих сигналов – минус 1 балл. 6. Логическая нестыковка разработанных модулей между собой (несоот- ветствие по функционалу, сигналам) – минус 1 балл. 7. Отсутствие дампов памяти при моделировании работы ОЗУ, ПЗУ, кэш- памяти – минус 1 балл. 8. Плагиат блоков – минус 1 балл за блок. 9. Отсутствие в тексте ПЗ листинга программы включающей в себя все команды разработанной архитектуры микро-ЭВМ, приведённой в сим- вольном и бинарном виде – курсовой к защите не принимается. 35 Дополнительные баллы будут начисляться за нижеследующее: 1. Курсовые проекты, сданные на проверку до 1 мая текущего года – плюс 1 балл. 2. Подробное описание устройства управления, формул логических сигна- лов – плюс 1 балл. 3. Грамотное обоснование выбора того или иного схемотехнического ре- шения – плюс 1 балл. 4. Оптимизация работы всей системы в целом, с примерами моделирова- ния до оптимизации и после неё – плюс 1 балл. 5. Красота схемотехнического решения любого сложного блока – плюс 1 балл. Таблица 6. Варианты построения микро-ЭВМ на ПЛИС № п/п Тип арх-ры Разрядность шин Память Р О Н КЭШ Адр дан ных ПЗУ ОЗУ Тип Адресации* шт. k Алгоритм Замещ-я строк Синхр-я с памятью 1 Гар вар д вард - ская 8 8 синхр синхр Косвенная 4 8 10 12 2 LRU Скво зн с от о- браж 2 12 16 4 3 14 8 Прям рег 2 Наиб давн хранения 4 16 16 4 5 Прин - стон - ская 8 8 Асинхр асинхр косвенная 14 16 4 8 2 Без анализа Скво зн без ото - браж 6 12 16 4 7 14 16 Прям рег 2 LRU 8 16 8 4 9 Гар вар д вард - ская 8 8 Синхр асинхр Косв рег 10 12 14 16 2 Наиб давн хранения пр о- стаяот - лож 10 12 8 4 11 14 16 Базов смещ 2 Без анализа 12 16 16 4 13 Прин - стон - ская 8 16 Асинхр синхр Косв рег 4 8 10 12 2 LRU Пр о- стая от - лож 14 12 16 4 15 14 8 Базов смещ 2 Наиб давн хранения 16 16 8 4 17 Гар вар д вард - ская 8 16 Асинхр синхр непосредств 16 20 24 28 4 Без анализа Флагов отлож 18 12 8 2 19 14 8 Прям Рег 4 LRU 20 16 16 2 21 Пр инсто н- ская 8 16 Синх асинхр непосредтв 16 20 24 28 4 Наиб давн хранения Скво зн . с от ображ 22 12 8 2 23 14 16 Прям рег 4 Без анализа 24 16 8 2 25 Гар вар д вард - ская 8 8 Асинхр Асинх р Относ смещ 10 12 14 16 4 LRU Флагов отлож 26 12 16 2 27 14 8 Баз инд 4 Наиб давн хранения 28 16 16 2 29 Прин - стон - ская 8 8 Синхр Синхр Относ смещ 4 8 10 12 4 Без анализа Пр оста я отлож 30 12 16 2 31 14 16 Баз инд 4 LRU 32 16 8 2 36 Таблица 7. Продолжение вариантов задания № п/п АЛУ* Арбитраж шин Стек Объем/ напр роста Схема Предск. переходов КПДП Арифм. К-ды Логич. К-ды Сдвиговые К-ды Бит, тип шаб- лона Нач.Адр./ Объем (Б) 1 INCS NOT, AND SLL Централ пар ал 4/вверх А2 3, PC ⊕ GHR 4 4 2 SRL 5/вниз 6 8 3 OR, NOR SLA 6/вверх А4 4, PC(2) || GHR(2) 8 1 2 4 SRA 7/вниз 10 6 5 SUB NAND,NOR ROL Централ послед 8/вверх А3 4 1 0 6 ROR 9/вниз 6 8 7 NOTZ, AND SLL 10/вверх А5 4 GHR 8 1 2 8 SRL 11/вниз 10 6 9 CMP XOR, NAND SLA Децентр пар ал 12/вверх А2 4 6 10 SRA 4/вниз 5, PC 6 1 0 11 NXOR, OR ROL 5/вверх А4 8 4 12 ROR 6/вниз 10 8 13 ADDC AND, OR SLL Децентр кольц 7/вверх А3 4 6 14 SRL 8/вниз 6 1 0 15 NAND, NOTZ SLA 9/вверх А5 4, PC ⊕ GHR 8 4 16 SRA 10/вниз 10 8 17 ADDC NOT, AND ROL Централ пар ал 11/вверх А2 24 1 2 18 ROR 12/вниз 16 8 19 OR, NOR SLL 4/вверх А4 4, PC(2) || GHR(2) 8 2 0 20 SRL 5/вниз 10 2 4 21 CMP NAND,NOR SLA Централ послед 6/вверх А3 24 1 0 22 SRA 7/вниз 8 1 6 23 NOTZ, AND ROL 8/вверх А5 4, PC 12 8 24 ROR 9/вниз 8 1 0 25 SUB XOR, NAND SLL Децентр пар ал 10/вверх А2 3, PC ⊕ GHR 24 1 2 26 SRL 11/вниз 16 1 6 27 NXOR, OR SLA 12/вверх А4 4, PC(2) || GHR(2) 8 2 0 28 SRA 4/вниз 10 2 4 29 INCS AND, OR ROL Децентр кольц 5/вверх А3 4 6 30 ROR 6/вниз 6 1 0 31 NAND, NOTZ SLL 7/вверх А5 5 GHR 8 4 32 SRL 8/вниз 10 8 *Прим. (для всех вариантов): Помимо указанных в таблице 7 команд для всех вариантов необходимо реализовать обязательные команды – MOV adr, reg; 37 MOV reg, adr; JMP adr; PUSH reg, POP reg, HLT, а так же в дополнение к ука- занным в варианте способам адресации необходимо реализовать прямую ад- ресацию памяти. При реализации АЛУ и УУ обязательно предусмотреть наличие регистра флагов. 6.1.3. Расшифровка команд в таблице SLL (Shift Left Logical) – логический сдвиг влево, SRL (Shift Right Logical) – логический сдвиг вправо, SLA (Shift Left Arithm.) – арифметический сдвиг влево, SRA(Shift Right Arithm.) – арифметический сдвиг вправо, ROL(Rotate Left Log.) – циклический сдвиг влево, ROL(Rotate Right Log.) – циклический сдвиг вправо, INCS (инкремент по флагу S) – увеличение на значение флага S, ADDC (сложение с учетом переноса) – сложение с учётом флага CF, SUB - вычитание, CMP (3 выхода: больше, меньше или равно) – сравнение двух операндов, NOT – логическое отрицание, AND – логическое умножение, OR – логическое сложение, NOR – логическая операция ИЛИ-НЕ, NAND – логическая операция И-НЕ, NOTZ – инверсия по флагу Z, XOR – исключающее ИЛИ, NXOR – исключающее ИЛИ-НЕ. 38 Список литературы 1. Столлингс, У. Структурная организация и архитектура компьютерных систем/ У. Столлингс. 5-е изд. – М.: "Вильямс", 2001. Пер. с англ. – 892 с. 2. Таненбаум, Э. Архитектура компьютерных систем/ Э. Таненбаум. 4-е изд. – М.: "ПИТЕР", 2002. Пер. с англ. – 698 с. 3. Цилькер, Б.Я. Организация ЭВМ и систем/ Б.Я. Цилькер, С.А. Орлов. – М.: "Питер", 200. – 668 с. 4. Yeh T.Y. and Patt Y.N. Alternative Implementations of Two-Level Adaptive Branch Prediction, The 19th Annual International Symposium on Computer Archi- tecture Gold Coast, Australia, May 19-21, 1992, pp 124 -134. 5. Грушвицкий, Р. Проектирование систем на микросхемах программируе- мой логики/ Р. Грушвицкий. – СПб.: "Питер", 2002. – 608 с. 6. Угрюмов Е. Цифровая схемотехника. - М.: "С-Петербург", 2001, 518 стр. 7. Майоров С.А. Введение в микроЭВМ. - Л.: Машиностроение, 1988. 8. Соловьев В.В. Проектирование функциональных узлов цифровых сис- тем на программируемых логических устройствах. - Мн.: "Бестпринт", 1996. 9. Солонина А. Алгоритмы и процессоры цифровой обработки сигналов. - СПб.: "Питер", 2001. – 464 с. 10. Гук М. Аппаратные интерфейсы. Энциклопедия. – СПб.: "Питер", 2002. – 528 с. 11. Шагурин И.И. Процессоры семейства Intel Р6. Архитектура, програм- мирование, интерфейс. – М.: "Телеком", 2000. – 248 с. 12. Рудометов Е. Материнские платы и чипсеты. – СПб.: "Питер", 2000. – 256 с. 13. Бибило П.Н. Синтез логических схем с использованием языка VHDL. М.: СОЛОН-Р, 2002. 14. Антонов А. П. Язык описания цифровых устройств AlteraHDL. - М. : РадиоСофт, 2001. 15. Глецевич И.И., Прытков В.А., Отвагин А.В. Методические указания по дипломному проектированию для студентов специальности 40 02 01 «Вычис- лительные машины, системы и сети». – Минск БГУИР, 2009, 99 с. 39 Св. план 57, поз. Учебное издание Самаль Дмитрий Иванович Колонов Виталий Валентинович “Структурная и функциональная организация ЭВМ” Лабораторный практикум для студентов специальности 1- 40 02 01 РедакторГ.С. Корбут Корректор Подписано в печать Формат 60х84 1/16. Бумага офсетная. Печать ризографическая. Усл.печ.л. Уч.-изд.л. 2,0 Тираж экз. Заказ Издатель и полиграфическое исполнение:Учреждение образования «Белорусский государственный университетинформатики ирадиоэлектроники» ЛИ № 02330.0494371 от 16.03.2009. ЛП № 02330.0494175 от 03.04.2009 220013, Минск, П. Бровки, 6. |