본문 바로가기
컴퓨터 기초/운영체제 이론

6.Load * Store 명령어 디자인

by 인생여희 2021. 1. 18.

Load * Store 명령어 디자인

 

레지스터 필요성에 초점을 맞춘다.

 

 

지금까지 구조는 모든 피연산자에는 메인 메모리의 주소값이 올 수 없다.

(피연산자로 올 수 있는 것을 숫자와 레지스터로 제한 했기 때문에)

때문에 지금까지의 디자인으로 아래와 같은 연산을 할 수 없다.

 

 

 

 

위에서 마지막 줄 소스는 아래와 같이 바뀐다.

 

ADD c a b  = 더해라 / c의 메모리 주소에 저장히라 / a의 메모리 주소와/ b의 메모리주소를

 

지금까지 설계한 레지스터 구조에서는 위의 명령어가 불가능하다.

 

메모리 주소가 올 수 있는 공간이 없기 때문이다.

 

 

 

 

따라서 메인 메모리에 저장된 데이터를 레지스터로 일단 옮겨 놓은 다음에, 덧셈진행을 해야 한다.

그래서 레지스터와 메인 메모리 사이에서 데이터를 전송할 수 있는 명령어가 필요한 상황이다!

 

 

Load

메인 메모리 => 레지스터

 

source 에 메모리 주소 저장.

0x20번지 주소에 있는 값을 레지스터 r1으로 옮겨 놓아라

 

 

Store

레지스터 => 메인 메모리

레지스터 r1의 값을 0x20번지로 옮겨 놓아라.

 

 

 

 

문제 해결

 

 

 

정리

 

 

 

참고 

뇌를 자극하는 윈도우즈 시스템 프로그래밍 정리 - 한빛출판네트워크 

 

 

'컴퓨터 기초 > 운영체제 이론' 카테고리의 다른 글

9.커널 오브젝트  (0) 2021.01.19
7.Direct 모드와 Indirect 모드  (0) 2021.01.19
5.컴퓨터 구조  (0) 2021.01.18
4.Win32비트 Vs Win64비트  (0) 2021.01.18
3.아스키 코드 & 유니코드  (0) 2021.01.18