'Store'에 해당되는 글 1건

"사칙연산결과를 레지스터에만 저장할 수 있도록 하겠다." 라는 제약사항이 있는데,
그렇다면 메인메모리의 주소값을 통한 사칙연산은 할수없다.
따라서 메인메모리에 저장된 데이터를 레지스터로 일단 옮겨놓은후 사칙연산을 하여야한다.
[메모리 -> 레지스터 ]: LOAD  [레지스터 -> 메모리 ]: STORE

명령어 디자인


Load 명령어 디자인을 해석하면 "destination(레지스터) 에 source(메모리 주소값)에있는 데이터를 저장해라" 라는 명령어이다.
STORE도 마찬가지로 "destination(메모리)에 source(레지스터)에있는 데이터를 저장해라" 라는명령어이다.

예)

int a=10;  //0x10번지할당
int b=20; //0x20번지할당
int c=0; //0x30번지할당
c= a+b;
위와같이 프로그래밍되었다면 

LOAD r1,0x10
LOAD r2,0x20
ADD r3,r1,r2
STORE r3,0x30

위순서대로cpu는 명령을 진행할것이다.

하지만 여기서 ADD때와같은 문제점이있다.
주소값을 표현할때 해봐야 8비트(0~255)밖에 표현이 안된다는 것이다. 
cpu 데이터버스크기가 16비트인데 메모리 주소공간을 8비트만 쓸것인가? 
이에대한 답은 컴퓨터구조 -(4) 에 실어두었다.

블로그 이미지

pringlee

하드코어보단 캐주얼!

,