Главная » Просмотр файлов » Лекция 4. Модельный многотактовый процессор, виды управляющих автоматов

Лекция 4. Модельный многотактовый процессор, виды управляющих автоматов (1158794)

Файл №1158794 Лекция 4. Модельный многотактовый процессор, виды управляющих автоматов (В.В. Подымов, М.С. Шуплецов - Лекции и семинары)Лекция 4. Модельный многотактовый процессор, виды управляющих автоматов (1158794)2019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Пакеты проектированиясверхбольшихинтегральных схемЛекция 4Многотактовый процессорРазные виды управляющих автоматовРассказывает:Подымов Владислав ВасильевичОсень 2016e-mail:valdus@yandex.ruЕще раз однотактовый процессорОперационный автомат:PC+μ4μ+26to32инструкциирегистрыАЛУданныеμμμ16to32Еще раз однотактовый процессорУправляющий “автомат”:always @(*)case(opcode)R_OP: …ADDI: …BNE: ……endcaseЕще раз однотактовый процессорПопробуем посчитать, сколько будет выполняться каждая инструкцияДля определённости пусть в системе будут такие задержки(в условных единицах)запись значений регистров1чтение значение регистров5арифметические операции10работа с памятью20Работу мультиплексоров и блоков расширения констант считаем мгновеннойЕще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийR-инструкция, арифметическая I-инструкцияОбновление счетчика команд1Чтение инструкции20Чтение значений регистров5Выполнение арифметической операции10Перезапись регистра1Общее время выполнения инструкции37Еще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийУсловное ветвлениеОбновление счетчика команд1Чтение инструкции20Чтение значений регистров5Выполнение арифметических операций10Общее время выполнения инструкции36Еще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийЗапись в памятьОбновление счетчика команд1Чтение инструкции20Чтение значений регистров5Выполнение арифметической операции10Запись данных20Общее время выполнения инструкции56Еще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийЧтение из памятиОбновление счетчика команд1Чтение инструкции20Чтение значений регистров5Выполнение арифметической операции10Чтение данных20Перезапись регистра1Общее время выполнения инструкции57Еще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийБезусловное ветвлениеОбновление счетчика команд1Чтение инструкции20Общее время выполнения инструкции21Еще раз однотактовый процессорПосчитаем реальное время исполнения каждой инструкциии время, которое тратит процессор на выполнение инструкцийВремя одного такта процессораR-инструкция и арифметическая I-инструкция37Условное ветвление36Запись в память56Чтение из памяти57Безусловное ветвление21Время одного такта57Каждая инструкция выполняется столько же,сколько и самая медленная инструкция чтения данных из памятиА как можно ускорить выполнение быстрых инструкций?Многотактовый процессорПричина медленного выполнения быстрых инструкций:из-за тривиальности управляющего автоматаневозможно учесть специфику выполнения каждой инструкции,поэтому задержка при выполнении рассчитывается из худшего случаяЕсли сделать управляющий автомат более сложным и нетривиальным,то можно учитывать специфику текущей инструкции в его состоянияхи оптимизировать время работы согласно этой спецификеПри этом операционный автомат процессора почти не изменитсяНебольшое изменение будет состоять в том,что так как выполнение инструкции теперь будет занимать больше одного такта,становится существенным управляющий сигнал загрузки счетчика командИ как же выглядит управляющий автомат многотактового процессора?Вариантов можно придумать много, и каждый будет по-своему хорошСтадии выполнения инструкции1.

Fetch (F): выполняемая инструкция выбирается из памяти2. Decode (D): определяются значения, которые будут использоваться в АЛУ3. Execute (X): определяется результат выполнения операции АЛУ4. Memory (M): производится работа с памятью данных5. Writeback (W): перезаписывается значение регистраПервая стадия – общая для всех инструкцийСтадии выполнения обязательно идут в таком порядкеНаличие остальных стадий зависит от того, какая инструкция выполняетсяОт наличия стадий выполнения зависит общее время выполнения инструкцииУправляющий автомат в том или ином виде будет учитывать наличие этих стадийпри выполнении текущей инструкцииУправляющий автомат I31244’1’...k1: начинаем стадию F2: стадия F выполнена, имеется текущая инструкция,выбираем следующее состояние в зависимости от типа инструкции3...k: выставляем сигналы согласно выбранному типу инструкций4’: если последняя стадия выполнения инструкции требует записи,то заводим для этой стадии отдельное состояние1’: обновляем счетчик командЧем плох такой автомат?Управляющий автомат I31112410714’1’1...k5Автомат находится в каждом состоянии ровно один такт времениЗначит, в состоянии 1 он будет находиться столько же, сколько и в состоянии 3То есть счётчик команд будет обновляться столько же,сколько будут работать почти все стадии выполнения инструкцииА давайте явно укажем,сколько тактов времени автомат должен находиться в каждом состоянииНапример, в состоянии 3 автомат должен находиться в 10 тактовА сильно ли от этого изменится реализация автомата?Управляющий автомат IoutРассмотрим вот такой простой автомат с двумя состояниямиЕго реализация будет иметь такую структуру:текущее состояниеследующее состояние~out~Попробуем дополнить эту структуру так,чтобы можно было подсчитывать число тактов нахождения в состоянииУправляющий автомат I13outДобавим к автомату счетчик, в котором указано,сколько тактов сверх положенного нужно ещё оставаться в состоянииТекущее состояние изменяется только в том случае, если счетчик обнулилсяЕсли счетчик обнулился, то он инициализируется согласно следующему состояниютекущее состояниеследующее состояниеfсчетчик тактов-1~~outУправляющий автомат I13outсчетчик couфункции переходов и выходаизменение состоянияследующее – только если cou == 0работа со счётчикомпо reset имеем состояние 0,в нём нет добавочных тактовесли есть добавочные такты,то уменьшаем их числосчетчик обнулился:смотрим следующее состояние,записываем его добавочные тактыУправляющий автомат IIЕсть и другой способ написать управляющий автомат для многотактового процессора●Нам известны всевозможные стадии выполнения инструкции (F, D, X, M, W)●Нам известна последовательность стадий для каждой инструкцииМожно управляющий автомат структурировать так:●●в состоянии запускается стадия выполнения инструкциипереходы между состояниями показывают, как изменяютсястадии для текущей инструкцииНапример, для R-инструкций переходы будут выглядеть так:F-RDRXMRWRpcУправляющий автомат IIЕсть и другой способ написать управляющий автомат для многотактового процессораНам известны всевозможные стадии выполнения инструкции (F, D, X, M, W)●Нам известна последовательность стадий для каждой инструкции●Можно управляющий автомат структурировать так:●●в состоянии запускается стадия выполнения инструкциипереходы между состояниями показывают, как изменяютсястадии для текущей инструкцииА для инструкции безусловного перехода дуги автомата будут выглядеть так:F-DXMWJА как в таком автомате выставлять управляющие сигналы?Простой способ, подходящий для модельного многотактового процессора –выставить все сигналы в состоянии “-”pcУправляющий автомат IIIF-DXMWpcБолее “грамотный” способ выставления управляющих сигналов выглядит так:каждый сигнал выставляется точно тогда, когда он нужен,и не упоминается там, где он не нуженНапример, сигнал записи регистра должен быть выставлен в стадии W,убран в следующем состоянии, и его не следует упоминать в остальных состоянияхЕсли придерживаться этого способа, то выходная логика автоматаперестаёт быть комбинационной:состоянием автомата определяется не точное значение сигнала, а его изменениеТакой способ построения автомата приводит к немного другой реализацииУправляющий автомат IIIКомпоненты автомата в этом случае будут выглядеть так:текущее состояниеследующее состояниеизменениесигналоввыходныесигналыфункцияпереходовДля автомата, построенного по такой логике,будем использовать немного другую графическую нотацию:out:1– в этом состоянии сигнал out становится равным 1,а другие выходные сигналы остаются неизменнымиПо умолчанию будем считать, что начальные значения всех выходных сигналов - 0Управляющий автомат IIIПример:out:0~ininout:1Управляющий автомат IIIПример:out:0~ininout:1reg возле outизменение состояниялогика переходоввыходная логикаУправляющий автомат IVЕсли в последнем примере определение следующего состоянияпо значениям в момент перехода в состояние кажется странным и нелогичным,то можно ещё больше перестроить логику автоматаМожно убрать переменную следующего состоянияи определять все следующие значения по переднему фронту clockТогда в автомате не останется никакой комбинационной частиНо так как исчезнет переменная следующего состояния, станет невозможным сказать“при переходе в состояние установим вот такое значение выходного сигнала”С другой стороны, так как все изменения будут происходить одновременно,можно будет использовать текущие значения входных сигналовдля задания значений выходных сигналовБудем использовать такую нотацию задания значений выходных сигналов:in, out:~in– при переходе в следующее состояние по сигналу in == 1изменить значение out на ~in,при этом не изменяя значений других управляющих сигналовУправляющий автомат IVПример:~in, out:0in, out:1Управляющий автомат IVПример:~in, out:0in, out:1вся логика автоматав одном always-блокеУправляющий автомат VМожно придумать и много других комбинаций того●●●●какая часть автомата является комбинационной, а какая - последовательнойв какие моменты для определения следующего состояния используютсявходные сигналыот чего зависят и в какие моменты времени изменяются выходные сигналыкакие дополнительные средства управляют изменениемсостояний и выходных сигналов автоматаМожно устраивать логику автомата так, как больше нравится,лишь бы основные концепции (состояния, входы, выходы)оставались и были достаточно “разумными”И как бы ни устраивался автомат, всегда нужно понимать,как именно этот автомат будет работать, когда синтезируется в реальную схему.

Характеристики

Тип файла
PDF-файл
Размер
218,98 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6505
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее