mirror of
https://github.com/MPSU/APS.git
synced 2025-09-15 17:20:10 +00:00
ЛР2. Обновление изображений, указание источников
Перерисованы изображения, взятые из Цифровой схемотехники, и добавлена ссылка в конце лабы.
This commit is contained in:
BIN
.pic/Labs/lab_02_alu/fig_01.drawio.png
Normal file
BIN
.pic/Labs/lab_02_alu/fig_01.drawio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
Binary file not shown.
Before Width: | Height: | Size: 21 KiB |
BIN
.pic/Labs/lab_02_alu/fig_02.drawio.png
Normal file
BIN
.pic/Labs/lab_02_alu/fig_02.drawio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
Binary file not shown.
Before Width: | Height: | Size: 198 KiB |
BIN
.pic/Labs/lab_02_alu/fig_03.drawio.png
Normal file
BIN
.pic/Labs/lab_02_alu/fig_03.drawio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 162 KiB |
Binary file not shown.
Before Width: | Height: | Size: 200 KiB |
@@ -26,9 +26,9 @@
|
||||
|
||||
Обычно АЛУ представляет собой комбинационную схему (то есть без элементов памяти), на входы которой поступают информационные (операнды) и управляющие (код операции) сигналы, в ответ на что на выходе появляется результат заданной операции. АЛУ бывает не комбинационной схемой, но это скорее исключение.
|
||||
|
||||

|
||||

|
||||
|
||||
*Рисунок 1. Структурное обозначение элемента АЛУ*
|
||||
*Рисунок 1. Структурное обозначение элемента АЛУ[1, стр. 305].*
|
||||
|
||||
На рис. 1 изображен пример АЛУ, используемый в книге "Цифровая схемотехника и архитектура компьютера" Харрис и Харрис. На входы `A` и `B` поступают операнды с разрядностью *N*. На трехбитный вход `F` подается код операции. Например, если туда подать `000`, то на выходе `Y` появится результат операции *логическое И* между битами операндов `A` и `B`. Если на `F` подать `010`, то на выходе появится результат сложения. Это лишь пример, разрядность и коды могут отличаться в зависимости от количества выполняемых операций и архитектуры.
|
||||
|
||||
@@ -38,15 +38,15 @@
|
||||
|
||||
К одному из входов этих операционных устройств подключен `A` без изменений, а ко второму подключен выход двухвходового мультиплексора, управляемого оставшимся битом *F*. То есть `F[2]` определяет, что будет вторым операндом: `B` или `~B`. Вдобавок `F[2]` подается на входной перенос сумматора, то есть, когда `F[2] == 1` на выходе сумматора появляется результат операции `A + ~B + 1`, что (с учетом [дополнительного кода](https://ru.wikipedia.org/wiki/Дополнительный_код)) эквивалентно `A – B`.
|
||||
|
||||

|
||||

|
||||
|
||||
*Рисунок 2. Структурная схема АЛУ MIPS*
|
||||
*Рисунок 2. Структурная схема АЛУ MIPS[1, стр. 305].*
|
||||
|
||||
Посмотрим, что произойдет, если на вход `F` такого АЛУ подать `111`. Будет выполняться операция `SLT`(сокращение от `Set Less Then`) – выдать `1`, если `A` меньше `B`, в противном случае — выдать `0`. Биты `F[1:0]` переключат мультиплексор на выход блока Zero Extend. На вход Zero Extend поступает старший бит выхода сумматора, этот бит отвечает за знак результата. Так как `F[2] == 1`, сумматор вычисляет `A + ~B + 1`, то есть `A – B`, значит, если `A < B`, то результат вычитания будет отрицательный, а старший бит `Y[N-1] == 1`. Если `A` не меньше `B`, то разность будет неотрицательна, а `Y[N-1] == 0`, как и требуется от этой операции.
|
||||
|
||||

|
||||

|
||||
|
||||
*Рисунок 3. Пример исполнения операции АЛУ*
|
||||
*Рисунок 3. Пример исполнения операции АЛУ.*
|
||||
|
||||
Преимущество такой организации АЛУ в его простой модификации, настройке под нужные коды операций, читаемости кода и масштабируемости. Можно легко добавить или убрать требуемые операции. Подумайте, как бы вы обновили данную схему, если бы от вас потребовалось расширить её функционал операциями XOR (Исключающее ИЛИ) и (SGE операция "больше либо равно")?
|
||||
|
||||
@@ -288,3 +288,7 @@ endmodule
|
||||
5. Добавьте в проект модуль верхнего уровня ([nexys_alu.sv](board%20files/nexys_alu.sv)), соединяющий АЛУ с периферией в ПЛИС. Описание модуля находится [здесь](board%20files)
|
||||
6. Подключите к проекту файл ограничений ([nexys_a7_100t.xdc](board%20files/nexys_a7_100t.xdc), файл ограничений, добавленный в первой лабораторной содержит другие данные, вам необходимо вставить содержимое файла для текущей лабы).
|
||||
7. Проверьте работу АЛУ в ПЛИС.
|
||||
|
||||
## Список использованной литературы
|
||||
|
||||
1. Д.М. Харрис, С.Л. Харрис / Цифровая схемотехника и архитектура компьютера / пер. с англ. Imagination Technologies / М.: ДМК Пресс, 2018.
|
||||
|
Reference in New Issue
Block a user