2014-03-01 1 views
2

, 나는 이러한 기본 MIPS 지침 건너 온의 :어떻게 메모리의 주소입니다 연결된 레지스터 (AddrConstant MIPS 명령) 내 컴퓨터의 조직 과정에서

lw $to, AddrConstant4($s1) //&t0 = constant 4 
add $s3, $s3, St0   //$s3 = $s3 + $t0 ($t0 == 4) 

선생님이 $s1이을이라고 말했다 레지스터 주소와 상수 4이 메모리에 저장됩니다.

메모리 주소와 레지스터 주소가 눈에 띄지 않습니다.

컴퓨터가 레지스터 헤드 주소 $s1, 에서 메모리 주소로 어떻게 이동합니까, 아니면 메모리 주소와 레지스터 주소가 어떻게 연결되어 있습니까?

답변

3

lw $t, offset($s)ttttt 목적지 레지스터의 개수이다 sssss베이스 어드레스 레지스터의 개수,

100011이 오피 코드 인
1000 11ss ssst tttt iiii iiii iiii iiii 

로서 부호화하고 iiiiiiiiiiiiiiii은 즉시 오프셋 서명이다.

는 CPU 만남이 명령어가 알고있는 (즉 10001 $t0 즉, $8 등록 01,000이다 $s1$17 레지스터이다)

1000 1110 0010 1000 0000 0000 0000 0100 

: 될 lw $t0, 4($s1) 인 경우

이것은 비트 패턴에서 이것은 lw이므로 레지스터 번호 sssss + 즉치 오프셋 (부호 확장)의 값으로 형성된 유효 주소를 형성하고 해당 주소에서 단어를로드하고 t 그는 레지스터 번호 ttttt에 값을 매 깁니다.


참고 :
MIPS register table
MIPS instruction set reference