ฉันไม่รู้ว่าซีพียูรู้ตำแหน่งหน่วยความจำแบบใดที่จำเป็นต้องใส่ไว้ในตัวนับโปรแกรม (ชุดคำสั่ง) ก่อนที่จะเริ่มดำเนินการตามคำสั่งนั้น
จริงๆแล้วมันไม่ซับซ้อนเลย
การลงทะเบียน Program Counter (aka PC) ประกอบด้วยที่อยู่หน่วยความจำของคำสั่ง (ถัดไป) เพื่อดำเนินการ (ดึงข้อมูลและ)
(สมมติว่าเราใช้ CPU กับสถาปัตยกรรมสแต็ก)
ในการรีเซ็ตโปรเซสเซอร์ (เช่นหลังจากเปิดเครื่อง) พีซีจะถูกโหลดโดยอัตโนมัติด้วยที่อยู่ที่กำหนดไว้ล่วงหน้าซึ่งคาดว่าจะเป็นตำแหน่งของคำสั่งแรกของโปรแกรมบูตสแตรป
เมื่อคำสั่งที่กำลังดำเนินการเป็นสาขาใด ๆ กระโดดหรือการดำเนินการโทรแล้วที่อยู่เป้าหมายจะถูกคำนวณและโหลดลงใน PC register คำสั่งถัดไปคือ (เรียกและ) ดำเนินการจากที่อยู่เป้าหมายนั้น
เมื่อคำสั่งที่ถูกดำเนินการเป็นการดำเนินการส่งคืนที่อยู่ส่งคืนจะถูกดึงออกจากสแต็กและโหลดลงใน PC register คำสั่งถัดไปคือ (เรียกและ) ดำเนินการจากที่อยู่ผู้ส่งนั้น
สำหรับคำแนะนำอื่น ๆ ทั้งหมดการลงทะเบียนพีซีนั้นเพิ่มขึ้นเพียง (เช่น " นับ ") เพื่อไปยังคำสั่งถัดไปในหน่วยความจำ นั่นคือคำสั่งจะถูกนำมาใช้ (ดึงข้อมูลและ) ดำเนินการตามลำดับ (จนกว่าจะมีคำสั่งแยกประเภทของคำสั่งหรือเกิดการขัดจังหวะ)
หากการขัดจังหวะเกิดขึ้นเมื่อคำสั่งปัจจุบันเสร็จสมบูรณ์เนื้อหาของการลงทะเบียน PC ที่อัปเดตจะถูกส่งไปยังสแต็ก (เพื่อใช้ในภายหลังเป็นที่อยู่ผู้ส่ง) การลงทะเบียนพีซีจะถูกโหลดด้วยที่อยู่ของตัวจัดการขัดจังหวะซึ่งจะถูกดำเนินการแล้ว