시스템 프로그래밍 과목을 수강하고 있습니다.
그중 pc에 메모리에서 명령어를 가지고 오는 fetch 부분을 배우고 있었습니다
pc가 가리키는 부분은 리눅스상으로 text영역 이므로 모두 명령어가 된다는건 어떻게 유추했습니다.
그런데 어떻게 pc가 해당 명령어가 4바이트인지, 6바이트인지 판단하여 가져오는지 잘 이해가 안됐습니다 =_=
그래서 교수님한데 질문을 했는데, 굉장히 귀찮으신듯 답을 얼버무리고 그냥 가셨습니다 ㅡㅡ;
(수업중이 아닌 수업이 끝난뒤에 질문 했드랬죠;..)
예를들어 2바이트, 4바이트, 6바이트 명령어가 순차적으로 메모리에 올라가면
(시작하는 메모리 주소가 0이라고 한다면,)
0~1번 주소에는 2바이트 명령어가,
2~5번 주소에는 4바이트 명령어가,
6~11번 주소에는 6바이트 명령어가 들어가게 되고
pc에서 하나씩 가져온다는데 아니 애초에 명령어 해독과정이 없으면 일련의 바이너리 코드만 쭉 있는데
어떻게 그걸 구분해서 가져온다는지 이해가 너무 안됩니다 ㅜㅜ
pc는 다음 명령어의 주소를 가리킨다고 들었는데,
처음에 0바이트 주소를 가리키다가 다음에는 2바이트, 그리고 다음엔 6바이트 명령어를 가리키게 될텐데
이 일련의 과정이 궁금합니다-_-..;
(그래서 원래 전 워드크기만큼 점프 하는줄 알았습니다..)
그리고 제 질문이 그렇게 시덥잖은 질문인가요 ..;
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.