부동소수점 장치: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
편집 요약 없음
4번째 줄:
모든 CPU가 별도의 FPU를 가지고 있는 것은 아니다. 대부분의 8비트 마이크로프로세서는 정수형 [[산술 논리 장치|ALU]] 만을 가지고 있기 때문에, 소프트웨어 개발도구에서 부동소수점을 계산하는 함수 형태의 기계어 코드 집합을 제공한다. 대부분의 8비트 CPU 개발도구는 단정밀 부동소수점 처리함수만 제공한다. 정수형 ALU을 사용하여 부동 소수점을 계산하는 여러개의 기계어 코드를 이용하여 FPU의 기능을 흉내낸다. 물론 이 경우는 FPU를 사용하는 경우보다 연산 속도가 훨씬 느리다.
 
인텔의 x86계열의 경우 i386은[[인텔 80386|i386]]은 정수형 ALU만을 가지고 있어서, i387이라는[[x87|i387]]이라는 칩을 별도로 PCB 상에서 연결하여 사용하였다. 이를 사용할 경우 별도의 기계어 명령어 집합을 가지고 있어 두개의 연산장치를 구별하였다. i486에서 한개의 칩에 통합되었다. 그러나 마이크로프로세서 입장에서 ALU가 일반적인 레지스터(EAX, EBX,...)와 연결되어 있다면, FPU는 별도의 FPU-레지스터 버퍼를 가지고 있어 메모리의 실수 데이터를 FPU-레지스터에 전송하고 수학계산 명령어를 실행하면 계산된다. 계산된 FPU-레지스터 값을 다시 메모리에 전송하여 처리한다.
 
임베디드 시스템에 많이 사용하는 ARM의 경우 많은 경우 FPU가 존재하지 않는다. 수학계산이 많다면 FPU가 존재하는 응용분야의 ARM 계열을 사용해야 한다.