컴퓨터구조

    오류 및 함정

    오류 및 함정

    오류와 함정 (여기서 부르는 함정은 흔히들 하는 실수이고, 오류는 많은 사람들이 공통적으로 잘못 알고 있는 부분이다.) 오류 : 한 비트 왼쪽 자리이동 명령어가 2를 곱해준 것과 같은 결과를 보이듯이 오른쪽 자리이동 명령어는 2로 나누어 준 것과 같은 결과를 나타낸다. 해당 오류는 부호 없는 정수에서는 찾을 수 없다. 문제는 부호있는 정수를 사용하는 경우이다. 예를 들어, -5를 4로 나눈다고 생각하자. 1111 1111 1111 1111 1111 1111 1111 1011 (-5의 2의 보수 표현법) 이러한 오류에 따르면 2비트 오른쪽으로 자리이동한 것은 4로 나눈 것과 샅아야 한다. 0011 1111 1111 1111 1111 1111 1111 1110 이 수는 -1이 아닌 양수의 굉장히 큰 수가 되..

    2. 논리 설계 관례

    2. 논리 설계 관례

    Reference : - 컴퓨터 구조 및 설계 MIPS EDITION [6판] / David A. Patterson / 한빛에듀 - 건국대학교 컴퓨터구조 강의 / 박능수 교수님 - https://developbear.tistory.com/ (김베어의 개발일지) 프로세서의 설계에 대하여 논의하기에 앞서 컴퓨터를 구현하고 있는 논리 회로가 어떻게 동작하고 또 컴퓨터가 어떻게 클러킹되는지 알아보자. Combinational element (조합 소자) 조합 소자 : 똑같은 값이 입력 된다면, 무조건 같은 값이 출력되는 것이 보장된 논리 회로 ex) and-gate,adder, Multiplexer 등등 Sequential Elements (상태 소자) 상태 소자 : 회로 내부에 값을 기억하는 회로 이러한 상태..

    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) ..