[컴퓨터구조] MIPS

정환우·2021년 3월 28일
0

학교수업

목록 보기
2/2

Computer Architecture 수업을 수강 중인데, 과제도 할겸 시험 공부도 할겸 복습하기 위해서 정리해 보는 시간

MIPS란

  • John Hennesy 이라는 스탠포드 교수가 개발함

  • 32비트, 64비트 버전이 있고, embedded systrems 에 여전히 사용되고 있다.

디자인 철학

  • 규칙적이다. 고정된 크기와 항상 맨 앞 6비트에 위치하는 Opcode라는 것이 있음.

  • 작을수록 더 빠르다는 생각 때문에 제한이 많다. 레지스터 개수라던가...

  • 자주 사용하는 규칙들은 더 빠르게 만든다.

우리가 코딩할 때 가지는 철학이나 지향점과 비슷한 것 같아서 중요하진 않지만 적어봤다.

연산 규칙

3 개의 연산자를 가진다. 두 개의 source와 1개의 destination 으로 이루어짐

// c언어
f = g + h

// MIPS
add, t0, g, h	// t0에 g+h 값을 넣는다. t0 레지스터가 f의 역할을 하는 것.

레지스터

MIPS 연산은 레지스터를 이용하기 때문에 레지스터에 대한 이해가 굉장히 중요하다. 주소값이라던가, 레지스터의 개수라던가 등등 뒤에서 다룰 때 확실하게 이해해놓지 않으면 헷갈리기 때문.

  • 작고 빠른 저장 공간이다. CPU 안에 있기 때문에 가능.
  • MIPS는 32 X 32 비트 레지스터이다.

비트란?

  • 8bit : Byte
  • 16bit : Halfword
  • 32bit : Word

활용하기

  • MIPS에서 하나의 Word는 4Byte이다. (32비트니까 8비트짜리 1바이트가 4개!)

  • 고로 주소는 4의 배수. 왜냐하면 Word가 4Byte이므로 주소는 4바이트 간격으로 시작지점이 정해지기 때문이다. => lw(load word), sw(store word) instructions 에서 4의 배수로 쓰여야 한다.

  • 16진수 1자리 : 4bit 이다. 그러므로 2자리가 1Byte.

MIPS Instruction Fields

레지스터는 32비트다. 그러면 MIPS Fields는 어떻게 구성이 되어 있을까?

MIPS

  • op : 6비트. 어떤 연산인지 특정해 준다. 6비트 opcode는 나타낼 수 있는 경우의 수가 64가지 이므로 모든 경우를 표현할 수 없어서 funct 코드와 함께 표현하기도 한다.

  • rs : Register of the first source operand.

  • rt : Register of the second source operand.

  • rd : Register of the result`s dstination.

  • shamt : Shift Amount.

0개의 댓글