32비트 응용 프로그램

위키백과, 우리 모두의 백과사전.

프로세서
4비트 8비트 12비트 16비트 18비트 24비트 31비트 32비트 36비트 48비트 60비트 64비트 128비트
응용 프로그램
16비트 32비트 64비트
데이터 크기
니블   옥텟   바이트   워드   더블 워드   쿼드 워드

컴퓨터 구조론에서, 32비트 인티저, 주소 공간, 또는 다른 데이터 단위는 최대 32비트 (4 옥텟) 크기인 것을 말한다. 또한 32비트 CPUALU 구조는 32비트 크기의 레지스터, 어드레스 버스 또는 데이터 버스를 기반으로 하는 것을 말한다. 32비트는 또한 32비트 프로세서가 표준인 컴퓨터 세대를 일컫는 용어이기도 하다.

32비트 응용 프로그램(32-bit application)은 32비트 평면 주소 공간(flat address space)에서 실행되는 소프트웨어이다.

32비트 응용 프로그램이라는 용어는 DOS마이크로소프트 윈도우가 처음부터 인텔 8088인텔 80286용으로 작성되었기 때문이다. [출처 필요] 두 프로세서는 세그먼트화된 주소공간을 가진16비트 마이크로프로세서다. 따라서 코드와 데이터가 64 킬로바이트 이상인 프로그램은 꽤 자주 세그먼트를 교체해야 했다. 이러한 동작은 다른 프로세서 동작에 비해 상당히 시간을 많이 소모하기 때문에, 응용 프로그램의 성능이 떨어지게 된다. 더욱이, CC++ 언어의 "C 메모리 모델" 환경인 경우, 세그먼트를 이용하는 프로그래밍은 평면 주소 공간에서 보다 더욱 복잡해진다.

IBM 호환 시스템의 경우, 16비트 소프트웨어에서 32비트 소프트웨어로의 이동은 '386이 소개되면서 가능해 졌다. 이 프로세서와 후속 프로세서들은 16비트 세그먼트와 32비트 세그먼트 주소공간을 지원했다(정확하게는 16비트 또는 32비트 어드레스 오프셋을 가진 세그먼트). 모든 32비트 세그먼트의 베이스 어드레스가 0으로 설정되고, 세그먼트 레지스터를 명시적으로 사용하지 않으면, 세그멘테이션은 16비트 주소 공간처럼 계산된다. 그럼에도 불구하고 호환성의 문제 때문에, 많은 소프트웨어가 16비트 모델용으로 작성되었다.

마이크로소프트 윈도우OS/2와 같은 운영 체제는 32비트 프로그램뿐만 아니라 16비트 프로그램도 실행할 수 있게 한다. 16비트 프로그램을 지원하는 것은 하위 호환성을 위한 것이고, 32비트 프로그램을 지원하는 것은 새로운 소프트웨어 개발을 위한 것이다.

참고 자료[편집]

이 문서에는 GFDL 라이선스로 배포된 자유 온라인 컴퓨팅 사전(FOLDOC)의 내용을 기초로 작성된 내용이 포함되어 있습니다.

같이 보기[편집]