본문 바로가기

Study/컴퓨터구조4

[컴퓨터구조] Rformat op 6bits와 funct 6bits를 보면 instruction 종류를 알 수 있음assembly 언어에서는 destination register 번호가 첫 번째로 옴기계어에서는 destination register 번호는 세 번째로 옴20 hex (16진수) -> 10진수로 32왜 register는 5 bit씩 할당하였는가 (register가 총 32개이기 때문)25=32 (0~31 표현가능)  Disassemble the following MIPS instruction (기계어 -> 어셈블리어)op field부터 먼저 확인 3가지 MIPS instruction 모두 공통으로 6bit op field를 가지고 있기 때문000000이면 Rformat instructionex) sllsource fie.. 2024. 9. 17.
[컴퓨터구조] logical instructions arithmetic instruction에서는 register를 32bit signed 정수로 해석 logical instruction 역시 operand가 register이어야 되고 32bit(32개로 적지말 것)로 구성되어 있음단, 독립적인 32bit 값이 모여있을 뿐 논리연산 = 1 bit 연산 (0 or 1)NOT -> 단항 연산 (operand 1개)AND, OR -> 이항 연산bitwise(bit-by-bit) logical operators or / ori ori = addiA or 0 = A 당분간 out of range error는 무시하고 실행  and / andiA and 1 = A nor = not ornot instruction은 필요 없음 (nor 활용) sll : shift l.. 2024. 9. 16.
[컴퓨터구조] multi & div 곱셈MIPS에서 곱셉 연산의 operand는 2개 (2개 모두 source operand)32bit 2개를 곱하여 64bit64bit 중 높은 32 bit -> High나머지 32 bit -> Lowexcess하려면 mfhi or mflo (operand는 하나, register는 destination)mult / multu 관계는 add / addu 관계와 다름overflow 체크 X multu -> source operand에 있는 register 값을 signed integer로 해석할 것인지 unsigned integer로 해석할 것인지 정함 위에 3줄은 무조건 작성 나눗셈operand 2개div / divu 관계는 multi / multiu 관계와 동일No overflow or divided-b.. 2024. 9. 16.
[컴퓨터구조] subtraction $0 → 값은 항상 0register 총 32개 ($0 ~ $31, 각각 32bit)Signed Binary Subtraction6 → 0000 0000 0000 0000 0000 0000 0000 0110의 1의 보수→ 1111 1111 1111 1111 1111 1111 1111 1001(-6) → 1111 1111 1111 1111 1111 1111 1111 1010 MIPS source file 1 instruction은 32bit (=1 word =4B)[메모리 주소] -> 16진수(8자리)로 나타냄 -> ex) 00400024 byte에 해당 데이터가 있음메모리에 저장된 내용 -> 16진수(8자리)로 나타냄왜 다음 instruction 주소는 00400025가 아니라 00400028일까 (1 .. 2024. 9. 16.