명령어: 컴퓨터 언어의 단어에 해당, 컴퓨터가 실행할 수 있는 프로그램의 최소 단위
MIPS의 산술 연산은 레지스터에서만 실행되므로 메모리와 레지스터 간에 데이터를 주고 받는 명렁어가 있어야 한다.
이런 명령어를 데이터 전송 명렁어라고 한다.
레지스터: 프로세서 데이터패스에 있는 소규모의 데이터 저장장소이다. MPS 산술 명령어의 피연산자는 레지스터로 제한되어 있다.
💡MIPS 레지스터는 32개($0 ~ $31)이다!
💡각 레지스터의 크기는 32비트, 1워드이다!
변수에 해당하는 레지스터는 $s0, $s1, ... $s7이고
임시 레지스터는 $t0, $t1, ... $t9로 표현한다
메모리
메모리 주소: 메모리 배열 내에서 특정 데이터 요소의 위치를 표시하는 데 사용하는 값이다.
💡 레지스터 개수보다 훨씬 많은 데이터 원소를 가지고 있다. 레지스터가 아니라 메모리에 저장한다.
💡 메모리는 주소가 인덱스 역할을 하는 큰 1차원 배열이다. 주소는 0부터 시작한다.
메모리에서 레지스터로 데이터를 복사해 오는 데이터 전송 명령을 적재(load)라고 한다. 적재 명령은 연산자 이름과 메모리에서 읽어 온 값을 지정할 레지스터, 메모리 접근에 사용할 상수와 레지스터로 구성된다.
- 적재: MIPS의 lw(load word) 명령어로 메모리에서 레지스터로 데이터를 가져온다.
- 저장: MIPS의 sw(store word) 명령어로 레지스터 내용을 메모리에 넣는다.
데이터를 메모리에 저장할 때 항상 데이터 크기의 정수배 번지에 저장한다. 그러므로 MIPS에서 워드의 시작 주소는 항상 4의 배수이다.
(연속된 워드의 주소는 4씩 차이가 난다.)
+ 이러한 요구사항을 정렬 제약이라고 하며, 정렬을 사용하면 데이터 전송이 빨라진다.
엔디안(endianness)
- 빅 엔디안(big endian): 제일 왼쪽, 즉 최상위 바이트 주소를 워드 주소로 사용한다.
- 리틀 엔디안(little endian): 제일 오른쪽, 즉 최하위 바이트 주소를 워드 주소로 사용한다.
'2-2 학기 > Computer Organization' 카테고리의 다른 글
[컴퓨터구조] Lec15 Pipelining (1) | 2023.11.01 |
---|---|
[컴퓨터구조] Lec12 Datapath Design (0) | 2023.10.30 |
[컴퓨터구조] Lec10 Floating Point (1) | 2023.10.30 |
[컴퓨터구조] Lec8 Multiplication (0) | 2023.10.30 |
[컴퓨터구조] Lecture 4 Machine Instructions (1) | 2023.09.30 |