Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Подгон для экзамена ПЛИС.docx
Скачиваний:
7
Добавлен:
01.07.2024
Размер:
4 Мб
Скачать

9. Подход к проектированию многотактного процессора на примере архитектуры risc-V. Сравнение с другими подходами к реализации микроархитектуры.

Многотактовый процессор - процессор, выполняющий только одну команду (инструкцию) за раз, и каждая команда занимает несколько тактов. То есть каждая инструкция выполняется за несколько более коротких тактов.

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

Опишем модель рассматриваемой архитектуры:

  • регистровый файл, состоящий из ( 32 регистров по 32 бита каждый)

  • память (каждая ячейка памяти имеет ширину 32 бита - 1 слово). Память имеет побайтовую адресацию. Адреса соседних слов отличаются на 4 бита.

Проектирование многотактного процессора на примере архитектуры RISC-V может быть выполнено с использованием различных подходов, вот несколько из них:

1. Использование суперскалярной архитектуры: В этом подходе процессор способен выполнять несколько инструкций одновременно за счет наличия нескольких исполнительных блоков.

2. Использование предсказания ветвлений: Этот подход позволяет уменьшить задержки при выполнении инструкций путем предсказания условий ветвлений и начала выполнения инструкций до того, как фактическое условие будет известно.

Сравнение с другими подходами к реализации микроархитектуры, такими как CISC (Complex Instruction Set Computing) или VLIW (Very Long Instruction Word), позволяет выявить преимущества и недостатки каждого подхода. Например, RISC-V обычно имеет более простую и эффективную микроархитектуру по сравнению с CISC, что обеспечивает более высокую производительность и энергоэффективность. С другой стороны, VLIW может быть более сложным для программистов из-за необходимости явного параллельного программирования.

10. Подход к проектированию конвейерного процессора на примере архитектуры RISC-V. Виды конфликты конвейерных систем и способы их минимизации. Сравнение с другими подходами к реализации микроархитектуры.

Сравнение:

11. Основные режимы функционирования микропроцессорной системы: основная программа, подпрограмма, прерывания, ПДП. Обработка прерываний и исключений. Системы с циклическим опросом. Блок приоритетных прерываний.

Основные режимы функционирования микропроцессорной системы включают в себя:

1. Основная программа: это режим, в котором микропроцессор выполняет основной набор инструкций, определенных пользовательской программой.

2. Подпрограмма: в этом режиме микропроцессор выполняет подпрограмму (или функцию), вызываемую из основной программы. После завершения подпрограммы управление возвращается обратно к основной программе.

3. Прерывания: это механизм, позволяющий микропроцессору прервать выполнение текущей программы для обработки внешних событий или запросов. Прерывания могут быть инициированы внешними устройствами, такими как таймеры, контроллеры ввода-вывода и другие периферийные устройства.

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

Обработка прерываний и исключений включает в себя следующие этапы:

1. Обнаружение прерывания: микропроцессор обнаруживает поступление прерывания от внешнего источника.

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

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

4. Восстановление контекста: после завершения обработки прерывания микропроцессор восстанавливает сохраненный контекст и продолжает выполнение основной программы.

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

Блок приоритетных прерываний представляет собой механизм управления прерываниями, который определяет приоритет обработки различных типов прерываний. Прерывания с более высоким приоритетом будут обрабатываться в первую очередь перед прерываниями с более низким приоритетом.

12.Иерархия памяти: причины, зависимости, следствия. Статическое и динамическое ОЗУ. Организация систем памяти в микропроцессорных системах.

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

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

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

3. Уменьшение энергопотребления: более быстрая память потребляет больше энергии, поэтому использование иерархии памяти позволяет снизить энергопотребление системы.

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

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

Статическое и динамическое оперативное запоминающее устройство (ОЗУ) представляют собой два основных типа оперативной памяти. Статическое ОЗУ (SRAM) использует бистабильные триггеры для хранения данных и не требует периодической перезаписи информации. Динамическое ОЗУ (DRAM) использует конденсаторы для хранения данных и требует периодической перезаписи информации для поддержания заряда конденсаторов.

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

13. Принципы организации кэш-памяти. Способы отображения данных из ОЗУ в кэш-память. Варианты построения.

Принципы организации кэш-памяти включают в себя следующие основные аспекты:

1. Локальность: Принцип локальности подразумевает, что данные, к которым процессор обращается, имеют тенденцию быть близкими во времени и пространстве. Это означает, что если процессор обратился к определенному адресу памяти, вероятно, он обратится к близлежащим адресам в ближайшем будущем. Кэш-память использует этот принцип, чтобы хранить копии данных из оперативной памяти, к которым процессор обращается, чтобы обеспечить быстрый доступ к ним

2. Принцип временной локальности: Этот принцип подразумевает, что если данные были обращены к недавно, то они будут обращены и в ближайшем будущем. Кэш-память использует этот принцип, чтобы хранить недавно использованные данные для быстрого доступа.

3. Принцип пространственной локальности: Этот принцип подразумевает, что если данные были обращены к одному адресу памяти, то вероятно, будут обращены и к близлежащим адресам. Кэш-память использует этот принцип, чтобы хранить не только конкретные данные, к которым процессор обращался, но и данные, расположенные рядом с ними в оперативной памяти.

Отображение данных из оперативной памяти в кэш-память может осуществляться различными способами:

1. Полностью ассоциативное отображение: При полностью ассоциативном отображении каждый блок данных из оперативной памяти может быть размещен в любом свободном месте в кэш-памяти. Это позволяет эффективно использовать пространство в кэше, но требует дополнительных средств для поиска нужного блока данных.

2. Прямое отображение: При прямом отображении каждый блок данных из оперативной памяти имеет фиксированное место в кэш-памяти. Это упрощает поиск нужного блока данных, но может привести к конфликтам при доступе к данным.

3. n-ассоциативное отображение: Этот метод комбинирует преимущества полностью ассоциативного и прямого отображения. Кэш-память разбивается на несколько наборов, и каждый блок данных из оперативной памяти может быть размещен в любом свободном месте внутри своего набора.

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

14. Виртуальная память. Принципы функционирования и способы организации виртуальной памяти. TLB.

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

Основная память представляет собой линейное пространство из N адресов и является физическим пространством памяти. Если появляется задача, требующая более N ячеек, то в рамках идеи виртуализации памяти предоставляется значительно большее адресное пространство, обычно равное общей емкости всех видов памяти и называемое виртуальным пространством.

Адреса виртуального пространства называют виртуальными, а адреса физического пространства— физическими. Программа использует виртуальные адреса, но поскольку для ее выполнения надо, чтобы обрабатываемые команды и данные находились в основной памяти, требуется, чтобы каждому виртуальному адресу соответствовал физический адрес. Таким образом, в процессе вычислений необходимо прежде всего переписать из ВЗУ в ОП ту часть информации, на которую

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

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

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

1) признак присутствия V равен единице, если виртуальная страница находится в данный

момент в ОП

2) признак использования R устанавливается при обращении к данной странице

3) признак модификации M. Поскольку в ОП находятся лишь копии страниц ВЗУ, то при

изменении данных в ОП необходимо обеспечить идентичность подлинников и копий.

4) признак прав доступа A. служит целям защиты информации и определяет, какой вид доступа к

странице разрешен: только для чтения, только для записи, для чтения и для записи.

Страничная организация виртуальной памяти:

Структура страничной таблицы:

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

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

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

специальная сегментная таблица.Преобразование виртуального адреса в физический с помощью сегментно-страничной

организации памяти:

Способ реализации СТ очень важен для эффективности работы виртуальной памяти, поскольку каждое обращение к ней предполагает обращение к СТ. Наиболее быстрый способ — хранение таблицы в специально выделенных для этого регистрах, но от него приходится отказываться при большом объеме СТ. Можно выделять пространство для СТ непосредственно в основной памяти,

но это приводит к двукратному увеличению времени доступа к информации, а следовательно, к замедлению всей микропроцессорной системы.

Чтобы этого избежать, в состав вычислительной системы вводят специальное быстродействующее запоминающее устройство, называемое буфером быстрого преобразования адресов (Translation Lookaside Buffer — TLB), или буфером опережающей выборки и представляющее собой кэш-память. При каждом преобразовании номера виртуальной страницы в номер физической

страницы результат заносится в TLB: номер физической страницы — в память данных, а виртуальной — в память тегов. Таким образом, в TLB попадают результаты нескольких последних операций трансляции адресов. При каждом обращении к ОП преобразователь адресов сначала производит поиск в памяти тегов TLB номера требуемой виртуальной страницы. При попадании адрес соответствующей физической страницы берется из памяти данных TLB. Если

в TLB зафиксирован промах, то процедура преобразования адресов производится с помощью СТ, после чего осуществляется запись новой пары «номер виртуальной страницы — номер физической страницы» в TLB. Буфер быстрого преобразования адресов обычно реализуется в виде полностью ассоциативной или множественно-ассоциативной кэш-памяти с высокой степенью ассоциативности и временем доступа, сопоставимым с аналогичным показателем для кэш-памяти первого уровня.

15. Механизм граничного сканирования регистров. JTAG. Области применения.

Механизм граничного сканирования регистров (англ. JTAG - Joint Test Action Group) является стандартом, разработанным специально для тестирования и отладки интегральных схем. JTAG позволяет программно управлять и считывать значения из регистров, находящихся внутри цифровых устройств, даже если эти устройства недоступны для прямого взаимодействия.

Использование JTAG имеет широкий спектр применения. Вот несколько примеров:

1. Тестирование и отладка: JTAG позволяет программно тестировать и диагностировать интегральные схемы, что облегчает процесс разработки и обнаружение возможных ошибок в системе.

2. Программирование и конфигурирование: с помощью JTAG можно программировать и настраивать внутренние регистры и параметры устройств. Это может включать в себя загрузку программного обеспечения (файлов прошивки), конфигурацию специфических параметров или обновление внутреннего ПО.

3. Эксплуатация и управление: JTAG может использоваться для получения контроля над устройством после его выпуска. Например, он может быть использован для чтения и записи данных, управления функциями или модификации параметров работы устройства.

4. Обратная разработка: иногда JTAG используется в целях обратной разработки (англ. reverse engineering) для анализа и изучения внутреннего устройства и функциональности интегральных схем.

5. Борьба с пиратством и защита: JTAG также может быть использован для усиления мер безопасности, таких как шифрование данных или установка запретов на чтение и запись в некоторые участки устройства, чтобы предотвратить неавторизованный доступ и пиратство.

Это лишь некоторые области применения JTAG. Его универсальность и функциональность делают его неотъемлемой частью разработки и тестирования цифровых систем.

16. Обмен информацией между элементами в микропроцессорных системах. Организация шинного обмена. Виды и иерархии шин. Обмен информацией в микропроцессорных системах происходит в циклах обмена информацией. Под циклом обмена информацией понимается временной интервал, в течение которого происходит выполнение одной элементарной операции обмена по шине. Например, пересылка кода данных из процессора в память или же пересылка кода данных из устройства ввода/вывода в процессор. В пределах одного цикла также может передаваться и несколько кодов данных, даже целый массив данных, но это встречается реже.

Циклы обмена информацией делятся на два основных типа:

  • Цикл записи (вывода), в котором процессор записывает (выводит) информацию;

  • Цикл чтения (ввода), в котором процессор читает (вводит) информацию.

В некоторых микропроцессорных системах существует также цикл «чтение-модификация-запись» или же «ввод-пауза-вывод». В этих циклах процессор сначала читает информацию из памяти или устройства ввода/вывода, затем как-то преобразует ее и снова записывает по тому же адресу.

Основные аспекты организации шинного обмена

1. Широта шины (Bus Width): Определяет количество битов, которое шина может передавать одновременно. Например, 32-битная или 64-битная шина.

2. Тактовая частота шины (Bus Clock Speed): Указывает на скорость, с которой данные могут быть переданы по шине, обычно измеряется в мегагерцах или гигагерцах.

3. Арбитраж шины (Bus Arbitration): Определяет процедуры разрешения конфликтов доступа к шине для различных устройств.

4. Протокол передачи данных: Определяет формат и протокол передачи информации по шине, включая четность, контроль целостности данных и протоколы проверки ошибок.

5. Параллельная и серийная передача данных: Шина может использовать параллельную передачу данных (несколько бит одновременно) или серийную передачу данных (последовательно).

Виды шин:

Шина данных — это основная шина, ради которой и создается вся система. Количество ее разрядов (линий связи) определяет скорость и эффективность информационного обмена, а также максимально возможное количество команд.

Шина данных всегда двунаправленная, так как предполагает передачу информации в обоих направлениях. Наиболее часто встречающийся тип выходного каскада для линий этой шины — выход с тремя состояниями.

Обычно шина данных имеет 8, 16, 32 или 64 разряда. Понятно, что за один цикл обмена по 64-разрядной шине может передаваться 8 байт информации, а по 8-разрядной — только один байт. Разрядность шины данных определяет и разрядность всей магистрали. Например, когда говорят о 32-разрядной системной магистрали, подразумевается, что она имеет 32-разрядную шину данных.

Шина адреса — вторая по важности шина, которая определяет максимально возможную сложность микропроцессорной системы, то есть допустимый объем памяти и, следовательно, максимально возможный размер программы и максимально возможный объем запоминаемых данных. Количество адресов, обеспечиваемых шиной адреса, определяется как 2N, где N — количество разрядов.

Шина управления — это вспомогательная шина, управляющие сигналы на которой определяют тип текущего цикла и фиксируют моменты времени, соответствующие разным частям или стадиям цикла. Кроме того, управляющие сигналы обеспечивают согласование работы процессора (или другого хозяина магистрали, задатчика, master) с работой памяти или устройства ввода/вывода (устройства-исполнителя, slave).

Иерархия шин:

1. Внутренняя шина (Internal Bus): Используется для передачи данных внутри процессора и других ключевых компонентов системы.

2. Внешняя шина (External Bus): Связывает процессор, память и внешние устройства, такие как жесткие диски, видеокарты, сетевые адаптеры и другие периферийные устройства.

3. Системная шина (System Bus): Обеспечивает взаимодействие между процессором, памятью и контроллерами ввода/вывода.

4. Локальная шина (Local Bus): Обычно применяется для быстрой связи между компонентами внутри одного устройства, такого как чипсет или видеокарта.

17. Арбитр магистрали. Алгоритмы и схемы арбитража. Методы повышения эффективности шин.

Арбитр магистрали является устройством, ответственным за разрешение конфликтов доступа к шине у различных устройств, конкурирующих за доступ к общей шине данных. Рассмотрим ключевые аспекты арбитра магистрали.

Арбитра магистрали характеризуют следующие параметры:

∙число сигнальных линий;

∙число обрабатываемых запросов;

∙время реакции на запрос;

∙тип синхронизации;

∙алгоритмы выбора приоритета;

∙способ реализации.