프로그램 카운터프로그램 카운터(Program counter, PC)는 마이크로프로세서(중앙 처리 장치) 내부에 있는 레지스터 중의 하나로서, 다음에 실행될 명령어의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다. 때문에 명령어 포인터라고도 한다. 인텔의 x86계열의 CPU에서는 IP(Instruction Pointer)라고 한다.[1] 프로그램 계수기는 각 명령 주기에 따라 자동으로 증가하여, 메모리에 있는 명령어들이 순차적으로 실행될 수 있도록 한다. 단, 분기 또는 서브루틴 호출/복귀 등의 특정 명령어는 프로그램 카운터에 실행해야 위치가 바로 다음 코드가 아니라 새로운 기계어 코드의 위치 값이 들어간다. 대부분의 프로세서에서는 명령어를 반입하고 난 직후에 명령어 포인터를 증가시킨다. 경우에 따라 분기 명령어의 목표가 되는 주소를, 그 분기 명령어의 인수(operand)에서 지정하는 경우도 있다. 명령어의 인수값이 절대 주소값인 경우는 인수값을 프로그램 카운터 값에 설정하면 그 주소를 점프한다.[1] 명령어의 종류에 따라 인수가 현재 위치에서의 상대적으로 지정하는 경우도 있는데 이런 경우 현재 프로그램 카운터 값에 인수값을 더하는 방식을 사용한다. 즉, 다음에 실행될 명령어의 주소는 명령어에 따라 명령어의 인수에 지정되는 경우도 있다. 한편, 재설정가능한 컴퓨터 시스템의 기본 모델(비 폰노이만 모델)에서는 프로그램 계수기 대신 데이터 계수기를 사용한다.[출처 필요] 같이 보기각주
|
Index:
pl ar de en es fr it arz nl ja pt ceb sv uk vi war zh ru af ast az bg zh-min-nan bn be ca cs cy da et el eo eu fa gl ko hi hr id he ka la lv lt hu mk ms min no nn ce uz kk ro simple sk sl sr sh fi ta tt th tg azb tr ur zh-yue hy my ace als am an hyw ban bjn map-bms ba be-tarask bcl bpy bar bs br cv nv eml hif fo fy ga gd gu hak ha hsb io ig ilo ia ie os is jv kn ht ku ckb ky mrj lb lij li lmo mai mg ml zh-classical mr xmf mzn cdo mn nap new ne frr oc mhr or as pa pnb ps pms nds crh qu sa sah sco sq scn si sd szl su sw tl shn te bug vec vo wa wuu yi yo diq bat-smg zu lad kbd ang smn ab roa-rup frp arc gn av ay bh bi bo bxr cbk-zam co za dag ary se pdc dv dsb myv ext fur gv gag inh ki glk gan guw xal haw rw kbp pam csb kw km kv koi kg gom ks gcr lo lbe ltg lez nia ln jbo lg mt mi tw mwl mdf mnw nqo fj nah na nds-nl nrm nov om pi pag pap pfl pcd krc kaa ksh rm rue sm sat sc trv stq nso sn cu so srn kab roa-tara tet tpi to chr tum tk tyv udm ug vep fiu-vro vls wo xh zea ty ak bm ch ny ee ff got iu ik kl mad cr pih ami pwn pnt dz rmy rn sg st tn ss ti din chy ts kcg ve
Portal di Ensiklopedia Dunia