학교생활/컴퓨터 구조 9

컴퓨터 구조 - I-format

이전 글에서 했던 R-format과 유사하다. #R-format / I-format의 차이점 or $8, $9, $10#R-format ori $11, $9, 0x8000#I-format constant : 범위는 -2¹⁵ ~ 2¹⁵-1 (-32768 ~ +32767), 이 범위를 넘어서면 out of range 에러가 나온다. address: 주소값, rs에서 더해지는 offset 등 rt : 연산 결과를 저장할 레지스터 (숫자 연산, load / store 명령어 시 사용) Sign Extention 16-bit로 표현된 -2를 32bit -2로 확장하면? 0000 0000 0000 0010 (2진수) = 2 (10진수) 1111 1111 1111 1101 -> 2의 1의보수 +1 ----------..

컴퓨터 구조 - R-format

MIPS R-format Instructions -> 32bit로 정보를 표현하는 방법 op : operation code (opcode) : 명령어가 실행될 연산의 종류 rs : first source register number : 첫번째 source operand 값이 들어있는 레지스터 주소 rt : second source register number : 두번째 source operand 값이 들어있는 레지스터 주소 rd : destination register number : 연산결과가 저장될 레지스터 주소 shamt : shift amount : shift 연산에서 이동의 크기 funct : function code : opfield 내 연산의 종류 중 한 연산을 구체적으로 지정 다양한 예시들

컴퓨터 구조 - logical instructions (논리연산자)

bit logical 연산이다! 초기화 및 논리연산 실습 #초기화 addi $t1, $0, 0x3C00 -> 16진수, 16비트 : 연산 시 00003C00으로 변환 addi $t2, $0, 0x0DC0 #논리연산 실습 or $t0, $t1, $t2 and $t4, $t1, $t2 논리연산 내용 #or $t0, $t1, $t2 $t1 : 0000 0000 0000 0000 0011 1100 0000 0000 (0x00003C00) $t2 : 0000 0000 0000 0000 0000 1101 1100 0000 (0x00000DC0) ----------------------------------------------------------- $t0 : 0000 0000 0000 0000 0011 1101 ..

컴퓨터 구조 - substraction

*Signed Binary Substraction(뺄셈) 7-6 = 7+(-6) => 0000 0000 0000 0000 0000 0000 0000 0111 (2진수) = 7 (10진수) 1111 1111 1111 1111 1111 1111 1111 1010 (2진수) = -6 (10진수) ---------------------------------------------------------------------------- 1 0000 0000 0000 0000 0000 0000 0000 0001 (2진수) = 1 (10진수) -> 캐리는 지워버림! 정수의 뺄셈 a-b = a + (-b)로 계산, b를 양/음수 관계없이 -b(2의 보수)로 만들어 덧셈 overflow 연산의 결과가 32bit로 표현될 ..

컴퓨터 구조 - signed/unsigned bit

*Base-n Numbers(N진수) - i번째 자릿수가 d이면 d * Base^i를 의미(i는 0부터 시작) - d의 범위는 0~Base-1(10진수면 10-1 = 9까지) unsigned / signed 32-bit 표현 2의 보수 만들기 원리 : -2를 표현하려면 2의 2의보수를 만든다! (2+(-2) = 0이기 때문) +2를 2진수로 표현 -> a = 0000 0000 ... 0000 0010 a의 1의 보수를 만든다 -> b = 1111 1111 ... 1111 1101 b에 1을 더한다 -> 1111 1111 ... 1111 1110 -> -2

컴퓨터 구조 - SPIM

SPIM = MIPS simulator 파일명 : addi.s 내용: #addi.s .text .global main main: addi $t0, $0, 10 addi $t1, $0, 16 add $t2, $t0, $t1 결과화면: #[메모리주소]/메모리에저장된값/메모리에저장된값을 disassemble한것/sourcefile의 줄:sourcefile에 쓰인 내용 [00400024] 2008000a addi $8, $0, 10#4:addi $t0, $0, 10 [00400028] 20090010 addi $9, $0, 16#5:addi $t1, $0, 16 [0040002c] 01095020 add $10, $8, $9#6:add $t1, $t0, $t1

컴퓨터 구조 - MIPS Arithmetic Instructions

덧셈, 뺄셈, 곱셈, 나눗셈 등의 산술논리연산을 하기 위한 명령어들이다. => 3 operands(연산자) : 1 destination(종착지, 연산의 결과가 저장되는 곳) & 2 sources(요소, 연산이 진행될 요소) Arithmetic instructions use only register operands. 산술 연산자는 register의 변수를 사용한다. MIPS는 32*32-bit의 register file을 가지고 있으며, $0~$31의 일련번호로 변수를 저장한다. *register : 프로세서(CPU) 내부에 있는 작고 빠른 임시 메모리 #C언어 f = (g+h) - (i+j) #MIPS add $7, $3, $4#$7 = $3(g) + $4(h) add $8, $5, $6#$8 = #5(..

컴퓨터 구조 - 개요

Computer Architecture = 컴퓨터 구조 ISA(Instruction Set Architecture) = 명령어 집합 구조, -> 컴퓨터(프로세서)에서 사용되는 명령어들의 집합 및 그 정의 ISA의 예시 MIPS RISC 1, 2 -> SPARC ARM x86 family(intel) 많은 최근의 컴퓨터는 작은 instruction set을 사용함 (회로가 간단해지기 때문) 그 중 이 수업에서는 MIPS ISA를 배울 예정임! MIPS ISA란? Microprocessor without Interlocked Pipeline Stages의 약자 3가지 명령어 존재 R type => c = a + b같은 연산 I type => rt = rs + imm J type => 특정 메모리 주소로 바로..

728x90