97.44K
Категория: ЭлектроникаЭлектроника

Счетчик команд

1.

Счетчик команд

2.

Счетчик команд
В данной работе рассмотрено построение счетчика команд.
Известно, что при выполнении программы компьютером,
команды считываются последовательно из ячеек, расположенных
последовательно в памяти компьютера. Для указания адреса
соответствующей ячейки используется специальный регистр,
называемый счетчиком команд (PC - Program Counter). Чтобы
считывание команд происходило из следующих друг за другом
ячеек памяти, содержимое счетчика команд должно после
очередного считывания увеличиваться на единицу.
Кроме того, для реализации условных и безусловных переходов в
программе, необходимо предусмотреть возможность загрузки
счетчика команд требуемым значением адреса перехода. И,
разумеется, для возобновления выполнения программы требуется
обеспечить сброс счетчика, то есть установления его значения в
нуль.
2

3.

Счетчик команд
При построении счетчика команд будут использованы
компоненты, собранные в предыдущих работах. Чтобы не
собирать их снова, можно воспользоваться интересной
возможностью Logisim, подключением библиотек, т.е.,
попросту говоря, подключением разработанных ранее
файлов. Для этого в меню "Проект" выберите подменю
"Загрузить библиотеку" и далее пункт "Библиотека
Logisim...". Появившееся диалоговое окно "Загрузить файл
Logisim" позволяет найти и выбрать нужный файл.
Отметим, что файлы Logisim имеют расширение .circ. Для
сборки счетчика команд потребуется загрузить файл, в
котором был реализован сумматор, и файл, в котором
была реализована память.
3

4.

Однобитовая ячейка
Приведем пошаговую сборку
счетчика команд.
Прежде всего требуется наличие
однобитовой ячейки сумматора,
представленной на рисунке.
Далее с помощью этой ячейки,
которую можно обозначить как
sum1, соберем 4-битный
сумматор, представленный на
следующем слайде.
4

5.

4-битный сумматор
Оформив
представленную
схему в виде
подсхемы, которую
можно обозначить
sum4, соберите с ее
помощью схему
сумматора, в
котором все разряды
второго слагаемого
установлены в нуль,
как показано на
следующем слайде.
5

6.

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

7.

Счетчик команд
7

8.

Сам счетчик команд, показанный на следующем рисунке, кроме
представленной схемы шестнадцатиразрядного сумматора add_1
содержит также шестнадцатиразрядный регистр reg16, собранный
ранее при реализации ячеек памяти, подключенный
непосредственно ко входу этой шестнадцатиразрядного
сумматора add_1. Выход регистра одновременно является
выходом счетчика, указывающим адрес следующей выполняемой
команды. На вход регистра подключен мультиплексор,
позволяющий переключать счетчик либо на ввод нового значения,
когда сигнал "load" установлен в 1, либо на единичное увеличение
значения, когда "load" установлен в 0, а сигнал "inc" в 1.
Второй мультиплексор, подключенный к одному из входов
первого мультиплексора обеспечивает переключение между
загрузкой нового значения счетчика и сбросом счетчика
посредством загрузки в него нулевого значения.
Соберите схему и убедитесь в ее работоспособности.
8

9.

9
English     Русский Правила