Register-memory architecture
- 레지스터뿐만 아니라 메모리에서 작업을 수행할 수 있도록 하는 ISA
ADD 연산을 한다고 가정하면 피연산자중 하나는 메모리, 다른 하나는 레지스터에 있다.
- 특정 아키텍처에 맞도록 개발된 옛 소프트웨어와의 호환성 유지를 위하여 채택중이다.
- 현재의 ISA사이에 아직도 널리 이용되고있다.
Stack architecture
- address가 필요없다.
- 0 - 어드레스 명령어 사용
- 메모리 어드레스가 1개인 load/store 동작은 데이터 전송을 위해서만 사용된다.
- 각 스택 연산에 대해 한번 이상의 숨겨진 메모리 접근 동작이 필요하다.
- 메모리 접근이 많아 성능이 떨어지므로 많이 애용되지 못했다.
- 최근 성능이 향상된 아키텍처에 도입중이고 중간 코드 표현을 스택 연산으로 하는 고급 언어로 된 프로그램을 고속으로 번역할 때 좋은 성능을 보인다.
- 후방 삽입형 postfix
- RPN 표현식
- 연산자를 뒤에 쓰는 표기법
- ex. 2 + 3 ===> 2 3 +
- ex2. (A + B) x C + (D x E) ===> AB + C x DE x +
Reference
[1] M. Mano Logic and Computer Design Fundamentals, 5th Edition⌟ , chapter 9