Program Counter

 So let's talk about the PC, or Program Counter register


Từ góc nhìn của user: 

PC là  một thanh ghi có thể truy cập (user accessible register), nó có thể đọc với operand và có thể ghi với 1 destination. Giá trị của thanh ghi PC sẽ tăng lên tại mỗi điểm của cycle tới instruction tiếp theo vì vậy mà giá trị này có thể nhìn từ phía datapath và mạch PROM. 

Từ góc nhìn của hardware: 

PC là một thanh ghi với MUX2 (để select dữ liệu tới từ RESULT của datapath) và một bộ cộng.


Làm sao để sử dụng và tại sao? 

  • Ghi vào một instruction address tới PC vì vậy nó có thể thực thi lệnh tiếp theo tại địa chỉ mới, một lệnh tương ứng với BRANCH hoặc JUMP
  • Đọc PC để thực hiện toán tử trên địa chỉ hiện tại và JUMP tới relative address
  • Đọc PC để save lại, ngay trước đó nhảy tới subroutine và thực hiện lệnh CALL
Path cuối cùng yêu cầu một bộ MUX để PC có thể được lưu trữ trong khi địa chỉ mới được computed (tính toán)

Để chọn CALL path, 

Nhận xét