본문 바로가기

mips4

[컴퓨터구조] 3 컴퓨터 연산 3.1 ~ 3.4 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※3.1 서론아래의 질문에 답할 수 있는 내용을 배울 예정이다.소수나 실수를 어떻게 표현하는지?컴퓨터로 표현할 수 있는 것보다 더 큰 수가 계산의 결과로 나오면 어떻게 되는지?하드웨어가 실제로 어떻게 곱셈, 나눗셈을 수행하는지?3.2 덧셈과 뺄셈컴퓨터는 덧셈을 할 때 사람이 하는 것처럼 가장 아랫 자리부터 더하고, 올림수는 그 위의 자리에 더한다. 뺄셈은 수의 부호를 바꿔서 더한다.덧셈 시에 오버플로가 발생할 수 있다. 서로 다른 부호의 수를 더할 때는 오버플로가 발생하지 않는다. 뺄셈 시에는 부호가 같을 경우에 오버플로가 발생하지 않는다.(덧셈과 뺄셈은 산술논리연상장치(arithmetic logic uni, A.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.11 ~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.11 병렬성과 명령어: 동기화태스크가 병렬로 동작할 때 주의할 점은 태스크들이 경쟁 상태에 놓일 수 있다는 점이다. 이를 위해 태스크 간에 동기화가 필요하다. 동기화란 공유 자원에 접근할 때 서로 간섭 없이 올바르게 작업이 이루어지도록 접근 순서를 조정하는 것이다.이를 위해 동기화 연산인 lock과 unlock을 통해 단 하나의 프로세서만 작업할 수 있는 영역을 만들어서 상호 배제(mutual exclusion)을 구현할 예정이다.동기화를 구현하기 위해서는 메모리 주소에서 데이터를 읽고 수정하는 작업을 원자적으로 처리할 수 있는 하드웨어 프리미티브가 필요하다. 중간에 인터럽트나 다른 스레드가 개입하지 않도록.. 2024. 10. 15.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.6~ ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.6 논리 연산 명령어지금까지 워드 단위로 처리하는 명령어를 보았다. 하지만 워드 내 일부 비트들 뿐만 아니라 개개 비트에 대한 연산이 필요한 경우도 있다. 비트를 워드로 묶거나(packing), 워드를 비트 단위로 나누는(unpacking) 작업을 하는 명령어가 명령어 집합(instruction set)에 추가되었다. 이런 명령어를 논리 연산 명령어라고 한다.[ Logical operations ][ C operators ][ MIPS instructions ]Shift leftsllShift right>>srlBit-by-bit AND&and, andiBit-by-bit OR|or, oriBit-by-bi.. 2024. 10. 8.
[컴퓨터구조] 2 명령어: 컴퓨터 언어 2.1~2.5 ※"컴퓨터 구조 및 설계 6판 MIPS EDITION" 책을 간단하게 정리한 내용의 글입니다.※2.1 서론컴퓨터가 사용하는 어휘들을 명령어 집합(instruction set)이라고 한다.명령어 집합은 아키텍처(ISA)에 따라 다르다.2.2 하드웨어 연산add a, b, cb와 c를 더해서 a에 넣는 명령어여기서 add는 연산자(operator)이고, a, b, c는 피연산자(operand)이다.MIPS 대부분의 명령어가 피연산자를 반드시 3개씩 갖도록 하고 있는데, 그 이유는 하드웨어를 단순하게 하기 위함이다. 설계 원칙 1: 간단하게 하기 위해서는 규칙적인 것이 좋다.f = (g + h) - (i + j);이 코드를 MIPS 명령어로 치환하면 다음과 같다.add t0, g, hadd t1, i, js.. 2024. 10. 1.