본문 바로가기
2학년 2학기/컴퓨터 구조

8.3 Stack organization

by kkkkk1023 2024. 11. 17.

Stack은 메모리 접근을 편리하게 하기 위한 하나의 방식이다.

 

 

Stack에 대한 기본적인 설명

 


Stack의 PUSH(쓰기)와 POP(읽기)

 

 

 

[PUSH]

 

 


 

[POP]

 

 


 

주소를 참조하는 것들

PC

  • 명령어의 주소를 저장

 

AR

  • 피연산자의 주소를 저장

 

SP

  • Stack을 접근하고자하는 메모리의 주소

 


 

RPN (Reverse Polish Notation)

RPN이라는건 연산자(+, -, *, / 등)를 피연산자(숫자나 변수) 뒤에 쓰는 후위 표기법이다.  이 방식은 Stack을 활용하여 수식을 계산하는 데 매우 적합하다. 

 

 

왜 RPN을 사용하는가?

  • 일반적인 연산과는 다르게 우선순위를 고려할 필요없다. 즉, ()가 필요없다.
  • 따라서, 연산자 순서가 정해져있기 때문에 스택을 이용해 계산 과정을 쉽게 구현할 수 있다.

 

표기법

  • 중위 표기법 (Infix notation): 연산자가 피연산자 사이에 위치. (예: A + B)
  • 전위 표기법 (Prefix notation): 연산자가 피연산자 앞에 위치. (예: +AB)
  • 후위 표기법 (Postfix notation / RPN): 연산자가 피연산자 뒤에 위치. (예: AB+)

 

AB*CD*+ 계산해보기

 

 

 

(A + B) * [C * (D + E) + F] 를 RPN으로 변경해보기

 

 

 

 

실제 예시 살펴보기

'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글

8.5 Addressing modes  (0) 2024.11.17
8.4 Instruction formats  (0) 2024.11.17
8.2 General register organization  (0) 2024.11.17
8.1 Introduction(생략)  (0) 2024.11.17
7.4 Design of control unit / Fuction Field  (0) 2024.11.09