buk-algo
This commit is contained in:
@ -592,38 +592,41 @@
|
||||
<section class="col">
|
||||
<h2>Временные параметры АЛУ</h2>
|
||||
<p>Получен отчет статического анализа времени предварительной установки с помощью программы "Timing Analyzer",
|
||||
который представлен на рисунке <span data-ref="alu-timing-analyzer"></span>. По полученным данным можно судить о
|
||||
минимальном периоде работы генератора
|
||||
АЛУ, вычисленном программой на рисунке <span data-ref="alu-timing-error"></span>.</p>
|
||||
который представлен на рисунке <span data-ref="alu-timing-analyzer"></span>. На рисунке <span
|
||||
data-ref="alu-timing-inner"></span> представлено внутреннее устройство схем, участвующих в критическом пути
|
||||
сигнала.</p>
|
||||
<img src="img/alu-timing-analyzer.png" data-tag="alu-timing-analyzer" alt="Отчет о временных параметров АЛУ">
|
||||
<img src="img/alu-timing-error.png" data-tag="alu-timing-error" alt="Сообщение о состязании">
|
||||
<img src="img/alu-timing-inner.png" alt="Схемы, участвующие в критическом пути АЛУ" data-tag="alu-timing-inner">
|
||||
</section>
|
||||
<section class="col">
|
||||
<h2>Критический путь АЛУ</h2>
|
||||
<p>Используя результат работы "Timing Analyzer" - период 23.4ns как отправную точку, в режиме временного
|
||||
моделирования был определен минимальный период (25.6ns), не вызывающий состязаний. На рисунке <span
|
||||
<p>Используя результат работы "Timing Analyzer" как отправную точку, в режиме временного
|
||||
моделирования был определен минимальный период сихнроимпульсов 23.2ns, не вызывающий состязаний. На рисунке <span
|
||||
data-ref="alu-timing"></span> представлена временная диаграмма с путем сигнала, на рисунке <span
|
||||
data-ref="alu-timing-inner"></span> представлено внутреннее устройство схем, участвующих в критическом пути
|
||||
сигнала.</p>
|
||||
data-ref="alu-timing-zoom"></span> представлены измерения задержек сигнала.</p>
|
||||
<img data-style="50%" src="img/alu-timing-error.png" data-tag="alu-timing-error" alt="Сообщение о состязании">
|
||||
<img src="img/alu-timing.png" alt="Временная диаграмма критического пути АЛУ" data-tag="alu-timing">
|
||||
<p>Критический путь равен:<br>4(MUU_Q0) + 4.4(MUU_Y4) + 12.5(BO_RR_D1) + 4.7(tуст BO_RR_Q1) = 25.6ns.</p>
|
||||
<img src="img/alu-timing-inner.png" alt="Схемы, участвующие в критическом пути АЛУ" data-tag="alu-timing-inner">
|
||||
<img src="img/alu-timing-zoom.png" alt="Замеры длительности критического пути АЛУ" data-tag="alu-timing-zoom">
|
||||
<p>Длительность критического пути операции УМНОЖЕНИЕ:<br>
|
||||
4(MUU_Q0) + 4.4(MUU_Y4) + 12.5(BO_RR_D1) + 2.1(tуст BO_RR_Q1) = 23ns.</p>
|
||||
</section>
|
||||
<section class="col">
|
||||
<h2>Характеристики быстродействия АЛУ</h2>
|
||||
<p>В таблице <span data-ref="alu-pp"></span> приведены параметры быстродействия АЛУ.</p>
|
||||
<table class="center" data-alt="Характеристики быстродействия АЛУ" data-tag="alu-pp" data-gen="
|
||||
Параметр$c G$,Временное моделирование$c G$;
|
||||
Минимальный период работы генератора\, нс,25.6;
|
||||
Максимальная частота генератора\, МГц,39.0;
|
||||
Минимальный период работы генератора\, нс,23.0;
|
||||
Максимальная частота генератора\, МГц,43.5;
|
||||
Максимальное число тактов операции умножения,8;
|
||||
Максимальное число тактов операции проверки бита,2;
|
||||
Максимальное время выполнения операции умножения\, нс,204.8;
|
||||
Максимальное время выполнения операции проверки бита\, нс,51.2;
|
||||
Количество операций умножения в секунду\, млн,4.9;
|
||||
Количество операций проверки бита в секунду\, млн,19.5;
|
||||
Максимальное время выполнения операции умножения\, нс,184;
|
||||
Максимальное время выполнения операции проверки бита\, нс,46;
|
||||
Количество операций умножения в секунду\, млн,5.4;
|
||||
Количество операций проверки бита в секунду\, млн,21.7;
|
||||
"></table>
|
||||
<p>Для подключения АЛУ к стэнду задействовано количество элементов, приведенное на рисунке <span data-ref="alu-usage"></span>. На рисунке <span data-ref="alu-crystal"></span> представлена схема размещения элементов на кристалле ПЛИС. </p>
|
||||
<p>Для подключения АЛУ к стэнду задействовано количество элементов, приведенное на рисунке <span
|
||||
data-ref="alu-usage"></span>. На рисунке <span data-ref="alu-crystal"></span> представлена схема размещения
|
||||
элементов на кристалле ПЛИС. </p>
|
||||
<div class="row y-end">
|
||||
<img src="img/alu-usage.png" data-tag="alu-usage" alt="Отчет о количестве элементов">
|
||||
<img data-style="width: 60%" src="img/alu-crystal.png" data-tag="alu-crystal" alt="Схема размещения на кристалле">
|
||||
@ -650,6 +653,58 @@
|
||||
" class="center"></table>
|
||||
<img src="img/muu-stand.png" alt="Схема подключения АЛУ к стенду" data-tag="muu-stand">
|
||||
</section>
|
||||
<section class="col">
|
||||
<h1>Проектирование блока управления командами</h1>
|
||||
<h2>Система памяти</h2>
|
||||
<p>Оперативная память имеет организацию 16x8 ячеек, регистровая - 8x4. В каждой ячейке ОП хранится два
|
||||
четырехразрядных слова, каждое из которого имеет свой адрес. Четыре старших разряда логического адреса ячейки
|
||||
являются физическим адресом, младший бит логического адреса указывает на старший/младший полубайт. В таблице <span
|
||||
data-ref="buk-memory"></span> представлена схема адресации оперативной памяти.</p>
|
||||
<p>Под адрес ОП выделяется 5 бит, под адрес РП выделяется 3 бита, в первой половине ячеек ОП содержатся команды, во
|
||||
второй операнды, поэтому исполнительный адрес 4 бита.</p>
|
||||
<div class="flex row y-center">
|
||||
<table style="flex: 1" class="center" data-tag="buk-memory"
|
||||
data-alt="Физическая и логическая адресация ОП" data-gen="
|
||||
А физический$C 2$,,A логический$C 2$;
|
||||
0$C 2$,,0,1;
|
||||
1$C 2$,,2,3;
|
||||
2$C 2$,,4,5;
|
||||
...$C 5$;
|
||||
13$C 2$,,26,27;
|
||||
14$C 2$,,28,29;
|
||||
15$C 2$,,30,31;
|
||||
"></table>
|
||||
<p style="flex: 1" class="center">Длинные слова хранятся в формате Little Endian.</p>
|
||||
</div>
|
||||
<h2>Определение форматов команд и способов адресации</h2>
|
||||
<p>ЛИНЕЙНАЯ команда - два слова, двухадресная, формат регистр-память. Первый операнд в РП указывается с помощью
|
||||
прямой адресации, второй
|
||||
операнд в ОП с помощью базовой с индексированием адресации. Результат УМНОЖЕНИЯ по адресу второго операнда,
|
||||
результат УСТАНОВКИ БИТА по адресу первого операнда.</p>
|
||||
<p>Команда ПЕРЕХОДА - одно слово, одноадресная. Адрес перехода указывается с помощью относительной адресации со
|
||||
знаком в
|
||||
дополнительном коде. Условный переход осуществляется, если значение флага CF = 1.</p>
|
||||
<table class="center table-fixed" data-alt="Формат команды" data-tag="buk-command" data-gen="
|
||||
$C 4$$R 2$,0$C 4$,1$C 4$,2$C 4$;
|
||||
3,2,1,0,3,2,1,0,3,2,1,0;;
|
||||
умножение$C 4$,КОП$C 2$,Aоперанд$C 4$,Риндекс$C 3$,Рбазовый$C 3$;
|
||||
установка бита$C 4$,КОП$C 2$,Aоперанд$C 4$,Риндекс$C 3$,Рбазовый$C 3$;
|
||||
усл. переход$C 4$,КОП$C 2$,Смещение$C 4$;
|
||||
безусл. переход$C 4$,КОП$C 2$,Смещение$C 4$;
|
||||
"></table>
|
||||
</section>
|
||||
<section class="col">
|
||||
<table class="center" data-style="width: 50%" data-alt="Кодирование КОП" data-tag="buk-cop" data-gen="
|
||||
КОП1,КОП0,Операция;
|
||||
0,0,умножение;
|
||||
0,1,установка бита;
|
||||
1,0,условный переход;
|
||||
1,1,безусловный переход;
|
||||
"></table>
|
||||
<h2>Блок схема выполнения команд БУК</h2>
|
||||
<p>Линейные команды состоят из 3-х слов, нелинейные из 2-х, поэтому всегда, независимо от команды, считывается 2 слова, а затем, если команда линейная, считывается еще одно слово. Алгоритм выполнения команды представлен на рисунке <span data-ref="buk-algo"></span>.</p>
|
||||
<img src="img/buk-algo.drawio.svg" alt="Алгоритм выполнения команды" data-tag="buk-algo" data-style="width: 80%">
|
||||
</section>
|
||||
|
||||
<script src="index.js" type="module"></script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user