프로그램 카운터

위키百科, 우리 모두의 百科事典.

프로그램 카운터 (Program counter, PC )는 마이크로프로세서 ( 中央 處理 裝置 ) 內部에 있는 레지스터 中의 하나로서, 다음에 實行될 命令語의 住所를 가지고 있어 實行할 機械語 코드의 位置를 指定한다. 때문에 命令語 포인터 라고도 한다. 인텔 의 x86系列의 CPU에서는 IP(Instruction Pointer)라고 한다. [1]

프로그램 計數器는 各 命令 周忌 에 따라 自動으로 增加하여, 메모리에 있는 命令語들이 順次的으로 實行될 수 있도록 한다. 單, 分期 또는 서브루틴 呼出/復歸 等의 特定 命令語는 프로그램 카운터에 實行해야 位置가 바로 다음 코드가 아니라 새로운 機械語 코드의 位置 값이 들어간다.

大部分의 프로세서에서는 命令語를 搬入하고 난 直後에 命令語 포인터를 增加시킨다. 境遇에 따라 分期 命令語의 目標가 되는 住所를, 그 分期 命令語의 引受(operand)에서 指定하는 境遇도 있다. 命令語의 引受값이 絶對 住所값인 境遇는 引受값을 프로그램 카운터 값에 設定하면 그 住所를 점프한다. [1] 命令語의 種類에 따라 引受가 現在 位置에서의 相對的으로 指定하는 境遇도 있는데 이런 境遇 現在 프로그램 카운터 값에 引受값을 더하는 方式을 使用한다. 卽, 다음에 實行될 命令語의 住所는 命令語에 따라 命令語의 引受에 指定되는 境遇도 있다.

한便, 再設定可能한 컴퓨터 시스템의 基本 모델(비 폰노이만 모델)에서는 프로그램 計數器 代身 데이터 計數器 를 使用한다. [ 出處 必要 ]

같이 보기 [ 編輯 ]

各州 [ 編輯 ]

  1. “Intel 64 & IA-32 命令語 集合” (PDF) . 2015年 6月 25日에 確認함 .