모두CBT

다음 마이크로 오퍼레이션이 나타내는 기능은? (단, SP : Stack… | [전자기사 필기] 15년 3회차 기출문제 상세 페이지

1[전자기사 필기] 15년 3회차
다음 마이크로 오퍼레이션이 나타내는 기능은? (단, SP : Stack Pointer, MAR : Memory Address Register, M[addr] : Memory)
문제 이미지
1
ADD
2
PUSH
3
RET(return)
4
LOAD
해설

이 마이크로 오퍼레이션은 RET(return) 동작이다.

그림은 t0:SP←SP+1t_0: SP \leftarrow SP+1, t1:MAR←SPt_1: MAR \leftarrow SP, t2:PC←M[MAR]t_2: PC \leftarrow M[MAR] 이다. 스택 포인터가 가리키는 스택 위치의 내용을 읽어 PC 에 넣는 것이므로, 서브루틴 호출 때 스택에 저장해 둔 복귀 주소를 꺼내 다음에 실행할 위치로 되돌리는 복귀 명령의 수행 과정이다.

  • ADD 는 메모리 오퍼랜드를 누산기에 더하는 명령인데, 이 과정에는 스택 포인터 증가 외에 데이터 덧셈이 없고 결과가 PC 로 들어가므로 맞지 않다.
  • PUSH 는 스택에 데이터를 써 넣는 명령(메모리 쓰기)인데, 이 과정은 M[MAR]M[MAR] 을 읽어 PC 에 넣는 메모리 읽기이므로 맞지 않다.
  • LOAD 는 명령어가 지정한 주소의 데이터를 누산기(레지스터)로 옮기는 명령인데, 이 과정은 주소를 SP 에서 얻고 목적지가 PC 이므로 맞지 않다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.