본문 바로가기

Computer Science 254

3. Floating-Point Arithmetic Floating-Point Arithmetic Floating-point를 이용할 경우 매우 작은 수와 매우 큰 수를 표현할 수 있다. 매우 작은 수와 큰 수를 다루는 과학 계산을 위해 만들어졌으며, 소수점이 있는(non-integer) 수를 표현할 수 있다. +9.5와 같이 작은 수는 fixed-point를 사용해서 충분히 표현 가능하다. Normalized Floating-point는 significand(유효숫자) + exponent(지수)로 나눠서 표현한다. 표현 방법이 여러 개가 될 수 있기 때문에 normalized 방식으로 표현한다. Normalized는 소수점 왼쪽에 하나의 0이 아닌 수로 유효숫자를 표현하는 것을 말한다. 예를 들어 $-2.34 \times 10^{56}$은 normali.. 2021. 5. 16.
3. Integer Arithmetic Integer Arithmetic Integer의 표현은 크게 2가지가 있다. Signed integer의 표현에는 여러 방법이 있지만, 표준으로 정의된 방법은 없다. 그러나 2의 보수가 ALU을 구현하는데 추가적인 보정이 필요 없기 때문에 누구나 다 2의 보수를 음수 표현에 사용한다. Unsigned integer 표현되는 모든 수는 양수이다. 표현 방법이 한가지이다. Signed integer Sign magnitude MSB를 부호로 사용하고, 양의 수에서 MSB가 1이면 부호만 바뀐다. 예 : 001 = +1, 101 = -1 문제점 양수 + 음수가 0이 되지 않는다. 따라서 연산에서 보정이 필요하기 때문에 ALU에서는 부적합하다. 1's complement 1의 보수를 음수로 사용한다. 예 : .. 2021. 5. 16.
3. Computer Arithmetic Computer Arithmetic 1950년대의 computer design은 더빠른 컴퓨터를 만들기 위해서 faster ALU을 위한 algorithm과 implementation에 초점을 두었다. Computer Arithmetic은 1960년대 거의 완성되었고, 그로부터 조금씩 발전되는 형태이다. 과거에는 ALU을 직접 개발해서 사용하였지만, 오늘날에는 ALU을 지적재산처럼 구매해서 사용한다. Computer arithmetic은 크게 3가지로 구분할 수 있다. Integer arithmetic Floating-point arithmetic Multimedia arithmetic 2021. 5. 16.
2. Compile, Link, Run Compile 프로그램 개발 Program은 여러 source file들로 구성되어 있다. Develop : 각 모듈로 나눠서 개발을 진행한 후 Compile : 각 모듈은 compile을 object file을 생성한다. Linking : 만들어진 object file들을 합쳐서 하나의 executable file을 생성한다. Compile 과정과 linking 과정을 합쳐서 compile이라고도 한다. Compile Compiler는 program(source code)을 machine instruction으로 변환한다. 만들어진 object file에는 다음과 같은 정보가 담겨있다. Header object module의 내용을 담고 있다. 이름, text size, data size 등 Text .. 2021. 5. 9.
2. MIPS : Runtime Environment Runtime Environment Program execution model을 구현한 것이다. 프로그램 실행을 위해서 register와 memory를 어떻게 사용하는가를 말한다. 이는 processor designer가 독자적으로 결정할 수 있는 것이 아니다. CPU, OS, compiler, 주요 application designer(programmer)들의 협의에 결정된다. 즉, 많은 HW-SW interaction을 다룬다. Register Register의 이름은 대부분 프로그램 실행, procedure call/return과 관련되어 붙어진 것이다. Memory 각 프로세스는 아래와 같은 2GB의 process virtual address space을 가진다. Stack Automatic st.. 2021. 5. 9.