컴퓨터구조 및 설계/3장. Arithmetic for Computers 6

3.7 실례: x86의 SSE와 AVK

🔑Table of Contentsx86 FP ArchitectureStreaming SIMD Extension 2 (SSE2)📌 x86 FP Architecture8087 FP Coprocessor 기반8개의 80비트 확장 정밀도 레지스터 사용스택구조 사용데이터를 스택에 푸시하고 스택의 상위 두개 요소를 사용해 연산을 수행한 뒤 결과를 스택에 저장레지스터 인덱스 : 스택의 최상단을 기준으로 인덱싱FP 값의 메모리 표현메모리에서 부동소수점 값은 32비트 또는 64비트로 저장된다 메모리에 저장되거나 로드될때 형변환이 이루어진다정수도 부동소수점으로 변환될 수 있다 코드 생성 및 최적화의 어려움FP 성능 저하 (스택 기반으로 코드 생성과 최적화가 어려움, FP 연산 성능이 비교적 낮음)스택기반으로 설계된 x..

3.5 Floating Point

🔑Table of ContentsFloating Point                            - 부동소수점Floating Point Standard            - IEEE이론IEEE Floating-Point Format      - IEEE계산방법,예제Single-Precision Range            - 단정도 범위Double-Precision Range           -배정도 범위Floating-Point Precision            - 부동소수점의 정밀도Floating-Point ExampleDenormal Number                     - 비정규 숫자Infinities and NaNs                    - 무한대와 ..

3.4 Division

🔑Table of ContentsDivisionDivision Hardware (First version)   - 나눗셈알고리즘(초기버전)Optimized Divider (Sequencial version)Left Shift and Subtract Division Hardware궁금한점 📌Divisiondivisor(제수)가 0인지 확인한다긴 나눗셈의 접근법현재까지의 dividend(피제수) 자릿수가 divisor(제수) 자릿수보다 크거나 같으면몫의 현재 비트에 1을 넣고, 피제수에서 제수만큼 뺀다아닐경우몫의 현재 비트에 0을 넣고, 피제수의 비트자리를 한단계 뒤로 추가한다복원(Restoring) division피제수에서 제수만큼 뺐는데 음수가 된다면, 다시 제수를 더해 복원해줘야한다Signed(부호..

3.3 Multiplication

🔑Table of ContentsMultiplication        - 곱셈Multiplication Hardware (First version)Optimized Multiplier ( Sequencial version)  - 최적화된 곱셈기Add and Right Shift Multiplier Hardware     - 4bit 수들의 곱Faster Multiplier     MIPS Multiplication궁금한점📌MultiplicationMultiplicand 왼쪽으로 시프트, Multiplier 오른쪽으로 시프트됨 -> 64비트 ALU(산술 논리 연산장치)를통해 연산된다product의 길이 = Multiplicand와 Multiplier의 길이를 합친 값(32bit * 32bit = 64..

3.2 Addition and Subtraction

🔑Table of ContentsInteger Addition                  - 정수형덧셈Integer Subtraction             - 정수형 뺄셈Dealing with Overflow         - 오버플로우 처리Arithmetic for Multimedia궁금한점 📌Integer Addition정수형 덧셈예시)7(0b111) + 6(0b110) = 13(0b1101)만약 결과가 정수형 표현 가능한 범위를 벗어나면 오버 플로우가 일어난다피연산자가 양의값(+ve)과 음의 값(-ve)인 덧셈에서는 오버플로우가 발생하지 않는다피연산자 2개 모두 양의 값(+ve)라면, 발생 할 수 있다부호비트(MSB)로 1이 넘어가면서 음수화피연산자 2개 모두 음의 값(-ve)이라면, 발..