Счетчик команд и регистр команд

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

и какова длина каждого из этих регистров?

спасибо.

2 ответов


требуются всегда. Счетчик программ (PC) содержит адрес следующей выполняемой инструкции, а регистр команд (IR) содержит закодированную инструкцию. При извлечении инструкции счетчик программы увеличивается на одно "значение адреса" (к местоположению следующей инструкции). Затем инструкция декодируется и выполняется соответствующим образом.

причина, по которой вам нужны оба, заключается в том, что если у вас был только счетчик программ и использовал его для обоих цели вы получите следующую хлопотную систему:

[начало выполнения программы]

  1. ПК содержит 0x00000000 (скажем, это начальный адрес программы в памяти)
  2. закодированная инструкция извлекается из памяти и помещается в ПК.
  3. команда декодируется и выполняется.
  4. теперь пришло время перейти к следующей инструкции, поэтому мы вернемся к ПК, чтобы узнать, какой адрес следующей инструкции. Однако мы есть проблема, потому что предыдущий адрес ПК был удален, поэтому мы понятия не имеем, где находится следующая инструкция.

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

P. S. В ширину регистров варьируется в зависимости от размера слову архитектуры. Например, для 32-разрядного процессора, размер слова составляет 32 бита. Поэтому регистры на CPU будут 32 бит. Регистры инструкций не отличаются размерами. Разница в поведении и интерпретации. Инструкции кодируются в различных формах, однако они по-прежнему занимают 32-разрядный регистр. Например, процессор Nios II от Altera содержит 3 различных типа команд, каждый из которых закодирован по-разному. См. страницу 6ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_nios2_introduction.pdf

вы можете узнайте больше о структуре процессора Nios II по ссылке выше. Это простой IP-процессор. Конечно, у Intel есть своя спецификация / дизайн, и он будет отличаться.


Как вы утверждаете, счетчик программ (PC) содержит адрес следующей инструкции для выполнения, и инструкция Регистрация (IR) сохраняет фактическую инструкцию для выполнения (но не ее адрес).

связанные с длиной этих регистров, текущие машины имеют 64-разрядные ПК. Длина ИК (с логической точки зрения) зависит от архитектуры:

поскольку эти машины могут извлекать, декодировать и выполнять несколько инструкций каждый цикл, физическую реализацию IR нелегко описать в нескольких строках.