목록전체 글 (42)
leehyeon-dv 님의 블로그
📍1. MIPS에서 곱셈 알고리즘을 이용한 7X5 연산을 수행하는 과정을 적어보시오 반복승수피승수곱001010000 01110000 0000101010000 01110000 011101010000 11100000 011100100000 11100000 0111200100000 11100000 011100100001 11000000 011100010001 11000000 0111300010001 11000010 001100010011 10000010 001100000011 10000010 0011400000011 10000010 001100000111 00000010 001100000111 00000010 0011 📍2. -0.75는 십진수이다. 이 수를 IEEE 754 이진 표현법에 따라 단일정밀도 ..
🔑Table of Contentsx86 FP ArchitectureStreaming SIMD Extension 2 (SSE2)📌 x86 FP Architecture8087 FP Coprocessor 기반8개의 80비트 확장 정밀도 레지스터 사용스택구조 사용데이터를 스택에 푸시하고 스택의 상위 두개 요소를 사용해 연산을 수행한 뒤 결과를 스택에 저장레지스터 인덱스 : 스택의 최상단을 기준으로 인덱싱FP 값의 메모리 표현메모리에서 부동소수점 값은 32비트 또는 64비트로 저장된다 메모리에 저장되거나 로드될때 형변환이 이루어진다정수도 부동소수점으로 변환될 수 있다 코드 생성 및 최적화의 어려움FP 성능 저하 (스택 기반으로 코드 생성과 최적화가 어려움, FP 연산 성능이 비교적 낮음)스택기반으로 설계된 x..
🔑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 - 무한대와 ..
🔑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(부호..
🔑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..
🔑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)이라면, 발..
📌Arithmetic for Computers컴퓨터를 위한 산술정수(integer) 영역의 작업(operation)덧셈(Addition)과 뺄셈(Subtraction)곱셈(Multiplication)과 나눗셈(division)오버플로우(overflow)를 주의해야함부동 소수점(floating -point)의 실수(real numbers)표현(representation)과 작업(operation)
🔑Table of Contents32-bit Constants - 32비트 상수, lui사용Branch Addressing - 분기대상 주소계산Jump Addressing - 32비트의 jump주소Target Addressing Example - MIPS계산(분기 명령어에서 오프셋사용)Branching Far Away - 이동할 주소가 먼경우 j사용Addressing Memory Summary - 궁금한점📌32-bit Constants대부분의 상수는 작은 크기임16비트 immediate로도 충분하다가끔 32-bit 상수가 쓰임 MIPS에서..
🔑Table of ContentsCharacter Data - 문자 데이터Byte/Halfword OperationsString Copy Example궁금한 점📌 Character DataByte-encoded(1byte = 8bit) character setsASCII : 128개의 문자표현 (95개의 그래픽, 33개의 제어용)Latin -1 : 256개의 문자표현 (ASCII보다 96개의 그래픽이 더 많음(191))Unicode : 32-bit character setjava, C++ 등에서 쓰임대부분의 국가 언어 문자와 기호를 표현 가능UTF-8, UTF-16 : 여러 길이의 인코딩이 존재함📌Byte/Halfword Operations bitwise operation(비트연산)으로 1비트씩..
🔑Table of Contents6 Steps in Execution of a Producedure - 프로시저(함수) 실행의 6단계Register Usage Procedure Call Instructions Leaf Procedure 예제 None-Leaf Procedures - 프로시저 내에서 다른 프로시저 호출Local Data on the Stack - 프로그램에서 프로시저가 호출될때 메모리할당Memory Layout궁금한점📌6 Steps in Execution..