컴퓨터 구조

    1. 서론

    1. 서론

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) CPU 성능을 결정 짓는 요소 명령어의 수 - ISA ( 명령어 집합 구조 Instruction set Architecture ), compiler에 의해 결정 된다. CPI, Cycle Time - CPU hardware(프로세서의 구현 방법)에 따라 결정된다. 본 4장은 이 프로세서를 구현하는데 사용되는 원리와 기법에 대한 설명을 포함한다. 명령어의 실행 2장에서 정수형 산술/논리 명령어, 메모리 참조 명령어, 분기 명령어를 포함하는 핵심적인 ..

    7. 부동소수점 덧셈과 곱셈

    7. 부동소수점 덧셈과 곱셈

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 부동소수점 덧셈 부동소수점으로 표현된 수들의 덧셈은 어떻게 진행되는지 알아보자. 1. F1과 F2의 hidden bit을 복구시킨다. ex) F1이 011000...000이라면 원래 수는 1.011이다. (hidden bit = 1) 2. E1과 E2의 자릿수를 맞춰준다. * 자릿수를 맞추는 방법 (1) E1과 E2 중에 큰 것을 고른다. E1 > E2라고 가정하자. (2) E1 - E2 만큼 F2를 right shift(나누기 2) 해준다. (3..

    6. 부동 소수점 반올림과 근사

    6. 부동 소수점 반올림과 근사

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) IEEE 754에는 4가지 자리맞춤 모드(rounding modes)가 있다. Always round up (항상 자리올림) (+∞ 방향) Always round down (항상 자리내림) (-∞ 방향) Truncate (잘라내기) Round to nearest even (가장 가까운 짝수로의 자리맞춤) (반올림) 이러한 자리맞춤 모드들이 존재하는 이유는 아래와 그림과 같이 F field의 비트 수가 제한되어 있기 때문이다. 소수자리 숫자의 개수가..

    11. 프로그램 번역과 실행

    11. 프로그램 번역과 실행

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 프로그램의 번역 과정 C 프로그램을 컴퓨터가 실행할 수 있는 프로그램으로 변환하기 위한 4단계는 다음과 같다. 1. 컴파일 (Compile) 2. 어셈블 (Assemble) 3. 링크 (Link) 4. 로드 (Load) C언어의 번역 계층 상위 수준 언어 프로그램은 어셈블리 언어 프로그램으로 컴파일되고 다시 기계어 형태의 목적 모듈로 어셈블 된다. 링커는 여러 모듈과 라이브러리 루틴을 사용하여 모든 외부 참조를 해결한다. 다음에는 프로세서가 실행할..

    10. 병렬성과 명령어: 동기화

    10. 병렬성과 명령어: 동기화

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 병렬성과 명령어: 동기화 데이터 경쟁 관계 (Data Race) 태스크가 서로 독립적일 때에는 병렬 처리가 쉽다. 하지만 태스크가 서로 협력해야 할 때에는 어떨까? 이때 협력이란, 자원으로 서로 공유한다는 것으로 보통 다른 태스크들이 읽어야 하는 새로운 값을 어떤 태스크들이 쓰는 것을 의미한다. 태스크가 협력해야 하는 상황에서는 데이터 경쟁관계(data race)의 위험이 크다. 예를 들어, 두 프로세서 P1과 P2가 메모리 구역을 공유하고 있다고..

    9. MIPS의 주소 지정 방식

    9. MIPS의 주소 지정 방식

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) MIPS 주소 지정 방식 여러 형태의 주소 표현을 일반적으로 주소 지정 방식(addressing mode)이라고 한다. MIPS에서는 R, I, J 3개의 format으로 주소 지정 방식을 지원한다. 각 그림에서 보라색으로 강조된 부분이 피연산자를 뜻한다. - 수치(Immediate) 주소 지정 피연산자는 명령어 내에 있는 상수이다. - 레지스터 주소 지정 피연산자는 레지스터에 있는 값이다. - 베이스(Base) / 변위(Displacement) ..

    5. 부동소수점

    5. 부동소수점

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 프로그래밍 언어는 부호있는 정수와 부호없는 정수뿐만 아니라 소수 부분을 갖는 수, 실수(reals)도 표현할 수 있어야 하고, 엄청나게 큰 값도 표현할 수 있어야 한다. 이 수들은 32비트 부호있는 정수로는 표현할 수 없다. 과학적 표기법과 정규화된 수, 부동소수점 우선 과학적 표기법과 정규화된 수에 대하여 알아보자. 과학적 표기법(scientific notation)은 소수점의 왼쪽에는 한 자리 수만이 나타나게 하는 표기법이다. 0.0000000..

    4. 나눗셈

    4. 나눗셈

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 나눗셈 나눗셈은 곱셈보다 사용 빈도는 낮지만 훨씬 까다롭다. 0으로 나누기와 같이 수학적으로 유효하지 않은 연산을 요구하기도 한다. 먼저 0과 1로만 이루어진 십진수의 나눗셈, 1001010 ÷ 1000을 보자. 나누어지는 수는 피제수(dividend), 피제수를 나누는 수는 제수(devisor)로 부르고, 몫(quotient)이라 불리는 결과와 나머지(remainder)라고 불리는 두 번째 결과가 있다. 피제수 = 몫 × 제수 + 나머지 보통 초..