Similar presentations:
Счетчик команд
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
electronics