Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БВТ2203 курсоваяV2.docx
Скачиваний:
11
Добавлен:
25.01.2023
Размер:
1.76 Mб
Скачать

1.1.3 Команды 1 типа.

Это алгебраические и логические команды в АЛУ, которые производят операции над 2 числами – А и Б. Именно они по большей части отвечают за выполнение алгоритмов. Всего их 16 штук.

Команда

Мнемокод

Номер

Вывод числа А

MOV A

0

Вывод числа Б

MOV B

1

Или

OR

2

И

AND

3

И не

AND NOT

4

Или не

OR NOT

5

Сложение

ADD

6

Вычитание

SUB

7

Умножение

UMN

8

Деление

DEL

9

Сумматор битов А

SUM A

a

Сумматор битов Б

SUM B

b

Инверсия числа А

INV A

c

Инверсия числа Б

INV B

d

Логический сдвиг разряда вправо числа А на 1 разряд

LOG A

e

Логический сдвиг разряда вправо числа Б на 1 разряд

LOG B

f

Вот они в АЛУ

Итого получается, что нам необходимо 4 бита данных для команд АЛУ и так как я соединил дешифратор команд и устройство управления, то для остальных 7 команд понадобиться еще 3 бита. Итого 7 бит на команды.

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

    1. Проектирование шины и памяти озу.

Мы уже определили количество бит на команды. Сколько нам понадобиться бит данных для адреса? 2 в степени 7 дает уже число 128, а значит волноваться о размере числа не стоит. Тогда сколько нам нужно ячеек для записи команд и данных в ОЗУ для выполнения несложных алгоритмов? С учетом того, что архитектура Фон Неймона позволяет хранить и данные и команды в одной ячейке, а с помощью наших команд получиться сделать циклы и перезаписывать уже занятые ячейки, я остановился на 4 битах. В большем количестве, как мне кажется, нет необходимости.

Итого 11 бит данных на шину:

1.3 АЛУ.

1.3.1 Работа Алу

АЛУ как следует из названия предназначен для арифметических и логических операций, в общий вид: подаются два 16 битных числа, необходимая команда(тип операции) и выводит 16 битное значение. Так как при некоторых операциях возможны переполнения, деление на 0 и др. необходимо так же выводить флаги – переполнения, является ли число нулем и тд.

Также я решил вывести сравнение чисел А и Б, чтобы лучше понимать, что будет происходить в АЛУ.

Из acc out(аккумулятор) поддается число А. Число Б подается из ОЗУ.

Команды в АЛУ поступают через тоннель instruction. Флаги выводятся с разных боков. Команды уже были представлены выше, поэтому покажу, как я создал флаги.

1.3.2 Флаги АЛУ

Zeroflag (флаг, если число равно нулю) просто инвертирует выходное число и если какой то бит информации был не 0, то тушит контакт флага.

Overflow - (флаг переполнения) для него в команде сложения и умножения уже есть необходимые выходы, поэтому просто выводим их и с помощью элемента ИЛИ соединяем в нужный флаг.

Del 0 - (флаг деления на ноль) выполняется, если на элемент И из компаратора после сравнение номера команды с номером деления подается единица и если число Б равно нулю.

Флаги сравнение активируются обычным компаратором, сравнивающим число А и Б

1.4 Набор регистров.

Регистры делятся на специальные и общие.

Соседние файлы в предмете Введение в информационные технологии
  • #
  • #
    25.01.2023114 б7konechn_alg_prostoe_chislo_final_1.2tochno
  • #
    25.01.202360.23 Кб10БВТ2203 _курсоваяV2.circ
  • #
    25.01.202326.24 Кб9БВТ2203 Гарвардский Проц и АЛУ Задание №6.circ
  • #
    25.01.202321.65 Кб4БВТ2203 Задание №3 умножение.circ
  • #
  • #
    25.01.202326.89 Кб9БВТ2203 Р.А Задание №3 вычитатель и сумматор.circ
  • #
    25.01.202312.14 Кб9БВТ2203 светофор Задание №5.circ
  • #
    25.01.202319.61 Кб2БВТ2203 Транзисторы задание 1.circ
  • #
    25.01.202350.15 Кб6БВТ2203 триггеры Задание №4.circ