WEEK2 Flashcards
컴퓨터는 오로지 0과 1만 이해한다 Yes or no ?
Yes
machine language (기계어) 란?
명령들을 이진수로 나타낸것
mips 에서 하나의 명령은 몇 비트 ?
32 bits
3 가지 instruction 형식 (format) 은 ?
R - Type, I-Type, J-Type
what is R-type ?
연산이 사용하는 모든 데이터 값이 레지스터에 있는 것
R type 에는 몇 개의 레지스터 operands 가 존재하는 가?
3개
R type 에 있는 3가지 operands 는 ?
rs, rt : source register
rd : destination register
R type 포맷을 구성하는 요소들은 ?
op : the operation code or opcode
funct : the function (어떤 연산인지)
shamt : the shift amount for shift instruction. shift 연산이 아닌 경우 0
레지스터 operands : rs,rt, rd
R type 포맷을 각 요소에 할당된 비트갯수와 함께 쓰시오
op(6) rs(5) rt(5) rd(5) shamt(5) funct(6)
what is I-type ?
즉치값 (immediates ; hard coded values) 과 레지스터의 값으로 연산하는 명령 타입
I-type 에서 operands 로 무엇이 사용되는가 ?
rs, rt : register operands
imm: immediate
즉치값으로 올수 있는 수의 범위는 ?
16비트의 2의 보수로 표현되므로 범위는 [-2^5, 2^5-1]
I type 포맷을 구성하는 요소들은 ?
op : opcode
rs,rt : register operands
imm : immediate
i type 포맷을 각 요소에 할당된 비트갯수와 함께 쓰시오
op (6) rs (5) rt (5) imm (16)
R-type 에서 op 값은 항상 무엇으로 정해지는가 ?
0
function ‘add’ 는 r type 필드 값으로 바꾸면 얼마인가?
32
function ‘sub’ 는 r type 필드 값으로 바꾸면 얼마인가?
34
add $s0, $s1, $s2
sub $t0, $t3, $t5
를 머신코드로 바꾸면 ?
(hexa 로 나타내시오)
0 17 18 16 0 32
0 11 13 8 0 34
- 맨 앞의 레지스터가 기계어에서는 맨 뒤로 감
000000 10001 10010 10000 00000 100000
-> 0x02328020
000000 01011 01101 01000 00000 100010
-> 0x016D4022
assembly 와 기계어에서 source operands 와 Destination operands 사이에 위치적인 차이가 있다. 어떻게 다른가 ?
어셈블리에서는 destination operands 가 먼저 source operands 가 나중에 나오지만 기계어에서는 source operands 먼저 destination operands 마지막에 나옴
i-type 의 대표적인 연산 3가지와 각각의 opcode 는 ?
addi (8), lw(35), sw(43)
I type 포맷을 구성하는 요소들은 ?
opcode ,
rs,rt,immediate
i type 포맷을 각 요소에 할당된 비트갯수와 함께 쓰시오
opcode (6) rs(5) rt(5) imm(16)
다음 assembly code 를 필드 value 로 변환 하시오
- addi $s, $s1, 5
- addi $t0, $s3, -12
8(addi) 17(rs;$s1) 16(rt;$s) 5(imm)
8(addi) 19(rs;$s3) 8(rt;$t0) -12 (imm)
- 뒤의 레지스터가 앞으로옴 !!
다음 assembly code 를 기계어 ( hexa) 로 변환하시오.
- addi $s0, $s1, 5
- addi $t0, $s3, -12
- field values 로 변환
- 8 17 16 5
- 8 19 8 -12 - 기계어로 변환 (비트 맞춰서)
- 001000 10001 10000 0000000000000101
=> 0x22300005
-001000 10011 01000 1111 1111 1111 0100
=> 0x2268fff4