[off-topic] program counter와 instruction pointer 차이

herrcho의 이미지

먼저 프로그래밍과 관련없는 질문 올려서 죄송하구요 :(

운영체제 공부를 하구 있는데, 도움받을 만한 게시판을 찾지 못하고,

방황하다 혹시 여기서 도움을 받을까 싶어 글 올립니다. 양해해주시구요.

program counter와 instruction pointer 가 무슨 차이가 있는지 궁금하네요

둘다 다음 명령어가 있는 메모리 주소값을 가지고 있는거 아닌가요?

헷갈려요 ㅠㅠ

bugiii의 이미지

같은 말 아닌가요?

mach337의 이미지

Instruction 을 fetch 할 Pointer 를 나타내는 것으로 같은것으로 알고 있습니다.

yeppiguy의 이미지

program counter는 CPU에서 실행 명령어를 fetch하기 위하여 사용하는 인덱스에 해당합니다.
instruction pointer는 실행영역 메모리의 주소를 가리킵니다.
즉, instruction pointer는 MMU를 사용할 경우에는 virtual address가 될 수도 있고, 아닐경우는 메인 메모리의 실제 physical address가 될 수도 있습니다.
따라서, 둘은 같은 의미로 사용될수는 있지만, 똑같다고 말할수는 없습니다.
즉, program counter는 CPU의 연산가능 비트폭에 따라서, 한정된 linear offset만을 가질 수 있습니다. 하지만, instruction pointer는 메모리 주소 전체 비트를 포함하기 때문에 엄밀히 따지면 다르죠...

컴퓨터 아키텍쳐 교재의 MMU부분을 참고하시면 둘간의 차이점을 이해하는데 도움이 되실 거 같네요...^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.