Найти в Дзене
Разработка железа на System Verilog HDL/VHDL с использованием верилатора. Часть 2
Прежде чем что-либо делать с нашим тестовым стендом, следует сказать, что никому не нравится вводить одни и те же команды снова и снова. И поскольку мы не пещерные люди, мы будем использовать (создавать) [https://www.gnu.org/software/make /] для быстрого создания и запуска нашей симуляции.Большинство команд сборки, используемых в Makefile ниже, должны быть знакомы из части 1, но на всякий случай давайте еще раз кратко рассмотрим их:verilator -Wall --trace -cc alu.sv --exe tb_alu.cpp Это преобразует наш исходный код alu...
2 года назад
Разработка железа на System Verilog HDL/VHDL с использованием верилатора для ускорения проектировки
Verilator — это инструмент, который компилирует исходные коды Verilog и SystemVerilog в высокооптимизированный (и, возможно, многопоточный) циклически точный код C++ или SystemC. Преобразованные модули можно создавать и использовать в тестовом стенде C++ или SystemC для проверки и/или моделирования.   Дополнительную информацию можно найти на официальном сайте Verilator и в официальном руководстве. Зачем использовать Verilator?  Verilator — это, по сути, симулятор Verilog/SystemVerilog. Это...
2 года назад
Разбор спецификации AMD IOMMU часть вторая
Модели использования Обсуждаются семь моделей, чтобы подчеркнуть потенциальное использование IOMMU в традиционных и виртуализированных системах. Эти модели использования могут повысить безопасность и стабильность системы. Замена GART GART — это системное средство AMD64, которое выполняет физический перевод адресов памяти в графической апертуре. GART был определен, чтобы позволить сложным графическим объектам, таким как текстурные карты, отображаться графическому сопроцессору так, как если бы они были расположены на смежных страницах памяти, даже если в большинстве операционных систем они фактически разбросаны по случайно распределенным страницам...
2 года назад
Разбор спецификации AMD IOMMU часть первая
Обзор IOMMU В этой главе представлен обзор возможностей IOMMU и представлены несколько моделей использования. Модуль управления памятью ввода-вывода (IOMMU) расширяет системную архитектуру AMD64, добавляя поддержку трансляции адресов и защиту доступа к системной памяти при передаче DMA с периферийных устройств. IOMMU также помогает фильтровать и переназначать прерывания от периферийных устройств. IOMMU обеспечивает несколько значительных улучшений на уровне системы: • Поддержка устаревших 32-битных устройств ввода-вывода в 64-битных системах (как правило, без использования буферов восстановления и дорогостоящих копий памяти)...
204 читали · 2 года назад
Intel APX, новый набор инструкций. Первая часть
INTEL® APX Введение  Введение Intel®Advanced Performance Extensions (Intel® APX) расширяет архитектуру набора инструкций Intel® 64, предоставляя доступ к большему количеству регистров и добавляя различные новые функции, повышающие производительность общего назначения. Расширения предназначены для обеспечения эффективного прироста производительности при различных рабочих нагрузках без значительного увеличения площади кристалла или энергопотребления ядра. К основным функциям Intel® APX относятся: 1...
2 года назад
Разбор архитектуры AMD64
Архитектура AMD64 — это простое, но мощное 64-разрядное обратно совместимое расширение стандартной (устаревшей) архитектуры x86. Он добавляет 64-разрядную адресацию и расширяет ресурсы регистров для поддержки более высокой производительности перекомпилированных 64-разрядных программ, поддерживая при этом устаревшие 16-разрядные и 32-разрядные приложения и операционные системы без модификации или перекомпиляции. Это архитектурная основа, на которой новые процессоры могут обеспечить бесперебойную...
2 года назад
Принцип работы контроллера памяти в процессоре на примере Эльбрус 16С
Приветствие В этой статье будет краткий разбор устройства контроллера памяти в процессорах. В качестве примера будет выступать Эльбрус 16С так как она самый доступный в этом плане. Приятного прочтения. Характеристки Общие технические характеристики соответствуют стандарту Jedec DDR4 (JESD79- 4A). Опуская скучные параметры по типу максимального допустимого объёма ОЗУ выделим основные характеристики: поддержка 3DS чипов памяти, поддержка длины пакета 32 и 64 байт, поддержка CR2, возможность распределения адресов по физическим банкам...
2 года назад
Архитектура Е2К
E2K- в переводе из буквенного сочетания обозначает Эльбрус 2000. Архитектура «Эльбрус» - оригинальная российская разработка. Ключевые черты архитектуры «Эльбрус» - энергоэффективность и высокая производительность, достигаемые при помощи задания явного параллелизма операций. Основывается на архитектуре VLIW и входит в семейство RISC процессоров. 2.1 Примеры процессоров На данный момент архитектура Е2К развилась до 6 поколения, в него входят Эльбрус 16с, Эльбрус 12с, Эльбрус 2с3 (на данный момент реализован Эльбрус 2с3, а Эльбрус 16с находится на стадии тестирования). Также был представлен процессор Эльбрус 32с, он будет относится к 7 поколению, то-есть E2K V7...
161 читали · 2 года назад
2.2.5 Неявный режим возврата
Связанные параметры: call_counter_size_p, return_stack_size_p, itype_width_p. Хотя возврат функции обычно является косвенным переходом, программы с хорошим поведением возвращаются к точке в программе, из которой была вызвана функция, используя стандартное соглашение о вызове. Для этих программ можно определить путь выполнения без явного уведомления об адресе назначения возврата. Неявный режим возврата может привести к очень значительному повышению эффективности кодировщика трассировки. Возврат может рассматриваться как выводимый только в том случае, если соответствующий вызов уже был зарегистрирован в более раннем пакете...
4 года назад
RISC-V, debug-spec, Глава 3 (часть 2)
3.2 Управление сбросом Существует два метода, позволяющие отладчику перезагружать hart-ы. ndmreset сбрасывает все hart-ы в аппаратной платформе, а также все остальные части аппаратной платформы, кроме модуля отладки, модуля передачи отладочной информации и интерфейса модуля отладки. Список конкретных компонентов, подвергаемых сбросу зависит от реализации, но должна быть возможность отладить программы с самой первой выполняемой инструкции. hartreset сбрасывает все выбранные hart-ы. В данном случае реализация может также сбросить другие hart-ы, не выбранные отладчиком. Отладчик может определить,...
4 года назад
RISC-V, debug-spec, Глава 3 (часть 1)
3. Модуль отладки, не-ISA Модуль отладки реализует интерфейс перевода между абстрактными отладочными операциями и их конкретными реализациями. Он может поддерживать следующие операции: 2. Позволить любому индивидуальному hart-у приостановить или возобновить работу. 3. Предоставить список приостановленных hart-ов. 4. Предоставить абстрактный доступ к чтению и записи в GPR-ы приостановленного hart-а. 5. Предоставить доступ к сигналу сброса, позволяющий начать отладку с самой первой инструкции после сброса. 6. Предоставить механизм для разрешения отладки hart-ов сразу же после сброса (независимо от причины сброса)...
4 года назад
Дополнительные и настраиваемые режимы во время выполнения (2.2)
Кодировщик трассировки команд может поддерживать несколько режимов отслеживания. Чтобы убедиться, что декодер правильно обрабатывает входящие пакеты, ему необходимо сообщить о текущей активной конфигурации. Конфигурация сообщается пакетом, который выдаётся кодировщиком при каждом изменении конфигурации кодировщика. Вот распространенные примеры таких режимов: 1) Режим дельта-адреса: разрывы счётчика программ кодируются как разности, а не как абсолютные значения адреса. 2) Режим полного адреса: прерывания счетчика программ кодируются как абсолютные значения адреса. 3) Режим полного адреса: прерывания счетчика программ кодируются как абсолютные значения адреса...
4 года назад