hi.log
로그인
hi.log
로그인
Mips design principle
David8
·
2022년 9월 15일
팔로우
0
MIPS
0
컴퓨터구조
목록 보기
10/18
목표
성능 최대, 비용 최소, 디자인 시간(컴파일러와 하드웨어) 줄임 --> 하드웨어를 간소화!
mips 레지스터
32X32 bits 일반 레지스터(
32bit짜리 레지스터 32개 있음
)
32X32 bits floating point 레지스터
double의 경우 16X64bits로 레지스터 이용 가능
HI(32bits), LO(32bits)
곱셈, 나눗셈 결과값 저장
나눗셈: HI-나머지, LO-몫 저장
곱셈: HI-상단 32bit(msb), LO-하단 32bit(lsb)
pc
레지스터 convention
$a0~a3: arguments
$v0~v1: return value
$ra($31): return address(함수 종료 후 돌아오는 장소 저장)
메모리 구조
기본은 byte 단위 주소
필요에 따라 word(4bytes) 단위로 사용 가능
Mips design principle
regularity
특정한 규칙 사용 고수 --> istruction format 단순화!
예시
대부분 3개 operand 사용
Mips 산술, 논리 연산의 operand는 레지스터 사용
smaller
32 레시스터만을 제공
많은 레지스터 --> clock cycle time 증가
make the common case fast
예시
산술 연산 중 상수 사용 빈번
sol1: 레지스터에 상수값 넣어줌
sol2: 상수 산술 연산 만듬 --> ADDI
피연산자 상수 허용한 새로운 명령 --> 메모리부터 load 하는 것 보다 빠름
good design demands good compromise
기본적으로 r포맷 사용 --> 상수를 넣기 위해 i-type 사용
i-format에서는 rd가 없어지고 rt가 destination 역할!
예시
addi 명령어에서 상수를 5bits로 모두 나타내기 어려움 --> addi의 포맷을 바꾸어 상수를 16bit로 나타냄
David8
팔로우
이전 포스트
isa case study
다음 포스트
mips instruction set
0개의 댓글
댓글 작성