32비트
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
32비트는 컴퓨터 아키텍처, 정수 표현, 이미지 형식 및 파일 형식 등 다양한 맥락에서 사용되는 용어이다. 32비트 레지스터는 232개의 값을 저장할 수 있으며, 부호 없는 정수 표현 시 0부터 4,294,967,295까지, 2의 보수 표현 시 -2,147,483,648부터 2,147,483,647까지의 범위를 갖는다. 32비트 프로세서는 최대 4GiB의 메모리에 직접 접근할 수 있다. 32비트 아키텍처는 1948년 맨체스터 베이비에서 처음 등장했으며, IBM System/360, 인텔 IA-32, ARM 등이 주요 32비트 아키텍처로 사용되었다. 32비트 응용 프로그램은 x86 아키텍처에서 32비트 선형 주소 공간을 사용하는 소프트웨어를 의미하며, 32비트 이미지는 일반적으로 RGBA 색 공간을 나타낸다. 32비트 파일 형식은 각 기초 정보가 32비트로 정의된 이진 파일 형식이다.
더 읽어볼만한 페이지
- 데이터 단위 - 바이트
바이트는 디지털 정보의 기본 단위로, 일반적으로 8비트로 구성되지만, 역사적으로는 다양한 비트 수를 가질 수 있었으며, 컴퓨터 메모리 용량이나 데이터 크기를 나타내는 데 널리 사용된다. - 데이터 단위 - 16비트
16비트는 16비트 정수를 사용하여 216개의 값을 저장할 수 있는 컴퓨터 아키텍처를 의미하며, 1950년대에 등장하여 미니컴퓨터와 마이크로프로세서에 널리 사용되었고, 64 KiB 메모리에 직접 접근 가능하며 뱅크 전환 등의 메모리 확장 방식을 사용했으며, MS-DOS, OS/2 1.x 등과 같은 운영 체제와 Windows Metafile, UTF-16 등의 파일 형식이 존재하며, 현재는 임베디드 시스템에서 활용된다.
| 32비트 | |
|---|---|
| 32비트 컴퓨팅 | |
| 역사 | |
| 등장 | 1980년대 초 |
| 주요 칩 | 인텔 80386 |
| 대중화 | 1990년대 초 |
| 아키텍처 | |
| 주소 공간 | 232 (4,294,967,296 또는 4기비바이트) |
| 장점 | |
| 메모리 처리 | 더 큰 메모리 공간 활용 가능 |
| 성능 향상 | 16비트 시스템에 비해 일반적으로 더 빠른 연산 처리 속도 |
| 단점 | |
| 메모리 낭비 | 작은 데이터 유형에도 32비트를 할당하여 메모리 효율성이 떨어질 수 있음 |
| 호환성 문제 | 이전 16비트 시스템과의 호환성 문제가 발생할 수 있음 |
| 운영체제 | |
| 예시 | 윈도우 95 윈도우 98 윈도우 NT 리눅스 macOS |
| 응용 프로그램 | |
| 예시 | 다양한 게임 그래픽 편집 소프트웨어 과학 시뮬레이션 프로그램 |
| 참고 사항 | |
| 후속 기술 | 64비트 컴퓨팅 |
2. 정수 표현 범위
32비트 레지스터는 232개의 서로 다른 값을 저장할 수 있으며, 사용되는 정수 표현에 따라 저장 가능한 값의 범위가 달라진다. 가장 일반적인 두 가지 표현 방식은 부호 없음 이진수 표현과 2의 보수 표현이다. 부호 없는 정수로 표현할 경우 0부터 4,294,967,295 (232 - 1)까지, 2의 보수로 표현할 경우 -2,147,483,648 (-231)부터 2,147,483,647 (231 - 1)까지 표현할 수 있다.[1]
2. 1. 부호 없는 정수
32비트 레지스터는 232개의 서로 다른 값을 저장할 수 있다. 32비트에서 저장할 수 있는 정수 값의 범위는 사용되는 정수 표현에 따라 달라진다. 부호 없음 이진수로 표현할 경우 범위는 0부터 4,294,967,295 (232 − 1)까지이다.2. 2. 부호 있는 정수 (2의 보수)
2의 보수로 표현할 경우 범위는 -2,147,483,648 (-231)부터 2,147,483,647 (231 - 1)까지이다.[1]3. 기술적 역사
1948년, 세계 최초의 프로그램 내장 방식 전자 컴퓨터인 맨체스터 베이비가 32비트 아키텍처를 사용했지만, 이는 개념 증명에 불과했고 실질적인 성능은 거의 없었다.[4] 이 컴퓨터는 윌리엄스 튜브에 32개의 32비트 워드만 저장할 수 있었으며, 덧셈 연산은 없고 뺄셈만 가능했다.
32비트 아키텍처가 처음 등장한 1960년대부터 1980년대까지는 메모리뿐만 아니라 다른 디지털 전자 회로와 배선도 비용이 비쌌다.[4] 따라서 구형 32비트 프로세서 제품군(또는 더 간단하고 저렴한 변형 제품)은 비용 절감을 위해 많은 타협과 제한 사항을 가질 수밖에 없었다. 예를 들어, 16비트 산술 논리 장치(ALU)를 사용하거나 32비트보다 좁은 외부(또는 내부) 버스를 사용하여 메모리 크기를 제한하거나 명령어 인출, 실행 또는 쓰기 백에 더 많은 사이클을 요구할 수 있었다.
그럼에도 불구하고, 이러한 프로세서는 여전히 32비트 레지스터와 32비트 양을 조작할 수 있는 명령어를 가지고 있기 때문에 "32비트"라고 명명될 수 있었다. 예를 들어, IBM System/360 Model 30은 8비트 ALU, 8비트 내부 데이터 경로, 그리고 메모리에 대한 8비트 경로를 가지고 있었고,[5] 오리지널 모토로라 68000은 16비트 데이터 ALU와 16비트 외부 데이터 버스를 가지고 있었지만, 32비트 레지스터와 32비트 지향 명령어 집합을 가지고 있었다. 68000 디자인은 때때로 "16/32비트"라고 불리기도 했다.[6]
그러나 새로운 32비트 디자인에서는 이와 반대되는 경우가 많았다. 예를 들어, 펜티엄 프로 프로세서는 32비트 레지스터와 32비트 양을 조작하는 명령어를 가진 32비트 머신이지만, 외부 주소 버스는 36비트 너비로 4GB보다 더 큰 주소 공간을 제공하며, 외부 데이터 버스는 64비트 너비로 주로 명령어와 데이터를 보다 효율적으로 프리페치(미리 읽어 오기)하기 위한 것이다.[7]
4. 32비트 아키텍처
1948년 세계 최초의 프로그램 내장 방식 전자 컴퓨터인 맨체스터 베이비는 32비트 아키텍처를 사용했지만, 이는 단지 개념 증명에 불과했고 실질적인 성능은 거의 없었다.[4] 이 컴퓨터는 윌리엄스 튜브에 32개의 32비트 워드만 저장할 수 있었으며, 덧셈 연산은 없고 뺄셈만 가능했다.
32비트 아키텍처가 처음 등장한 수십 년(1960년대부터 1980년대까지) 동안 메모리뿐만 아니라 다른 디지털 전자 회로와 배선도 비용이 비쌌다.[4] 따라서 구형 32비트 프로세서 제품군은 비용 절감을 위해 많은 타협과 제한 사항을 가질 수밖에 없었다. 예를 들어, 16비트 산술 논리 장치(ALU)를 사용하거나 32비트보다 좁은 외부(또는 내부) 버스를 사용하여 메모리 크기를 제한하거나 명령어 인출, 실행 또는 쓰기 백에 더 많은 사이클을 요구할 수 있었다.
그럼에도 불구하고, 이러한 프로세서는 여전히 32비트 레지스터와 32비트 양을 조작할 수 있는 명령어를 가지고 있기 때문에 "32비트"라고 명명될 수 있었다. 예를 들어, IBM System/360 Model 30은 8비트 ALU, 8비트 내부 데이터 경로, 그리고 메모리에 대한 8비트 경로를 가지고 있었고,[5] 오리지널 모토로라 68000은 16비트 데이터 ALU와 16비트 외부 데이터 버스를 가지고 있었지만, 32비트 레지스터와 32비트 지향 명령어 집합을 가지고 있었다. 68000 디자인은 때때로 "16/32비트"라고 불리기도 했다.[6]
그러나 새로운 32비트 디자인에서는 이와 반대되는 경우가 많다. 예를 들어, 펜티엄 프로 프로세서는 32비트 레지스터와 32비트 양을 조작하는 명령어를 가진 32비트 머신이지만, 외부 주소 버스는 36비트 너비로 4GB보다 더 큰 주소 공간을 제공하며, 외부 데이터 버스는 64비트 너비로 주로 명령어와 데이터를 보다 효율적으로 프리페치(미리 읽어 오기)하기 위한 것이다.[7]
일반적인 컴퓨팅에 사용되는 주요 32비트 명령어 집합 아키텍처에는 IBM System/360, IBM System/370, DEC VAX, NS320xx, 모토로라 68000 제품군, 인텔 IA-32, ARM[8], SPARC, MIPS, PowerPC, PA-RISC 아키텍처 등이 있다. 임베디드 컴퓨팅에 사용되는 32비트 명령어 집합 아키텍처로는 68000 제품군 및 ColdFire, x86, ARM, MIPS, PowerPC, Infineon TriCore 아키텍처 등이 있다.
32비트로 저장할 수 있는 부호 없는 정수의 범위는 0에서 4,294,967,295이다. 2의 보수로 표현할 수 있는 부호 있는 정수는 −2,147,483,648에서 2,147,483,647까지이다. 따라서 32비트 메모리 주소를 가진 프로세서는 4기비바이트의 바이트 어드레스 메모리에 직접 접근할 수 있다 (주소 공간이 최대 4 기비바이트).
프로세서 내부(논리)가 32비트여도 외부(물리)의 어드레스 버스나 데이터 버스가 32비트 폭이라고는 할 수 없다. 예를 들어 80386SX는 프로세서 내부는 32비트이지만, 외부 주소는 24비트 폭, 외부 데이터 버스는 16비트 폭이다. 펜티엄 프로는 프로세서 내부는 32비트이지만, 외부 어드레스 버스는 36비트 폭, 외부 데이터 버스는 64비트 폭이다. 또한 프로세서 내부에서도 SIMD 명령 등에 대응하기 위해 32비트 이외의 구조를 가지는 경우가 있는데, 펜티엄 III는 SSE 명령을 위해 128비트 레지스터를 가지고 있다.
ARM 아키텍처는 v7까지 32비트였지만, 2011년에 발표된 v8에서 64비트를 지원하게 되었다.[11]
4. 1. 주요 32비트 프로세서 (한국 시장 중심)
인텔 80386, 인텔 80486, 펜티엄 시리즈는 한국 PC 시장에서 널리 사용된 대표적인 32비트 프로세서이다.[4] 모토로라 68000 시리즈는 일부 워크스테이션 및 임베디드 시스템에 사용되었다.[4] AMD는 386 호환 프로세서 (Am386, Am486, Am5x86 등)를 출시하여 인텔과 경쟁했다.[4]| 프로세서 | 제조사 | 비고 |
|---|---|---|
| 인텔 80386 | 인텔 | 한국 PC 시장에서 널리 사용됨 |
| 인텔 80486 | 인텔 | 한국 PC 시장에서 널리 사용됨 |
| 펜티엄 시리즈 | 인텔 | 한국 PC 시장에서 널리 사용됨 |
| 모토로라 68000 시리즈 | 모토로라 | 일부 워크스테이션 및 임베디드 시스템에 사용 |
| Am386 | AMD | 386 호환 프로세서 |
| Am486 | AMD | 386 호환 프로세서 |
| Am5x86 | AMD | 386 호환 프로세서 |
5. 32비트 응용 프로그램
x86 아키텍처에서 32비트 응용 프로그램은 일반적으로 80386 및 이후 칩에서 가능한 32비트 선형 주소 공간(또는 플랫 메모리 모델)을 사용하는 소프트웨어를 의미한다. 이러한 맥락에서 이 용어는 MS-DOS, 마이크로소프트 윈도우, OS/2[9]가 원래 8088/8086 또는 80286용으로 작성되었기 때문에 생겨났다. 이들은 16비트 마이크로프로세서였기 때문에 프로그램이 64 킬로바이트 이상의 객체 파일 코드 또는 데이터에 접근하기 위해 세그먼트 간에 전환해야 하는 메모리 세그먼트를 가졌다. 이는 다른 기계 연산에 비해 시간이 많이 걸려 성능 저하를 유발할 수 있었다. 또한 세그먼트를 사용한 프로그래밍은 복잡해지는 경향이 있었으며, 어셈블리 언어뿐만 아니라 파스칼, 컴파일된 BASIC, 포트란, C와 같은 고급 언어에서도 'far', 'near' 키워드 또는 메모리 모델을 (주의해서) 사용해야 했다.
80386 및 그 후속 제품은 80286의 16비트 세그먼트를 완벽하게 지원하지만, 32비트 주소 오프셋(주요 레지스터의 새로운 32비트 폭 사용)에 대한 세그먼트도 지원한다. 모든 32비트 세그먼트의 기저 주소를 0으로 설정하고, 세그먼트 레지스터를 명시적으로 사용하지 않으면, 세분화를 잊을 수 있으며, 프로세서는 간단한 선형 32비트 주소 공간을 가진 것처럼 보인다. 윈도우 또는 OS/2와 같은 운영 체제는 16비트(세그먼트) 프로그램뿐만 아니라 32비트 프로그램도 실행할 수 있는 가능성을 제공한다. 전자는 하위 호환성을 위해 존재하며, 후자는 일반적으로 새로운 소프트웨어 공학 소프트웨어 개발에 사용된다.[10]
6. 이미지
디지털 이미지에서 32비트는 일반적으로 RGBA 색 공간을 의미하며, 24비트 트루컬러 이미지에 8비트 알파 채널이 추가된 것이다. RGBE과 같이 다른 이미지 형식도 픽셀당 32비트를 사용한다.
32비트는 채널당 32비트, 픽셀당 총 96비트를 사용하는 HDR (High Dynamic Range) 이미지 형식을 의미하기도 한다. 채널당 32비트 이미지는 sRGB 색 공간이 표현할 수 있는 범위보다 밝은 값(흰색보다 밝음)을 나타내는 데 사용된다. 이러한 값은 이미지의 노출을 낮추거나 어두운 필터, 둔한 반사를 통해 볼 때 밝은 하이라이트를 보다 정확하게 유지하는 데 사용될 수 있다.
예를 들어, 유막의 반사는 거울 표면에서 보이는 것의 일부에 불과하다. HDR 이미지를 사용하면 둔한 회색 모양 대신 밝은 흰색 영역으로 하이라이트의 반사를 표현할 수 있다.[12]
7. 파일 형식
32비트 파일 형식은 각 기초 정보가 32비트(또는 4 바이트)로 정의되어 있는 이진 파일 형식이다. 강화 메타파일 형식(EMF)이 그 예이다.[13] Vulkan 및 OpenCL에서 셰이더 프로그램 또는 장치 커널 코드의 중간 표현으로 사용되는 Standard Portable Intermediate Representation|SPIR-V영어는 32비트를 1워드로 하는 바이너리 형식이다.[13]
참조
[1]
간행물
16 or 32 Bits: Should It Matter to You?
https://books.google[...]
1995-11-07
[2]
서적
Software Development for Engineers : C/C++, Pascal, Assembly, Visual Basic, HTML, Java Script, Java DOS, Windows NT, UNIX.
https://books.google[...]
Elsevier Science
1997
[3]
서적
Essential Computer and IT Fundamentals for Engineering and Science Students
S. Chand Publishing
[4]
서적
Readings in Computer Architecture
Academic Press
2000
[5]
문서
IBM System/360 Model 30 Functional Characteristics
http://www.bitsavers[...]
IBM
1971-08
[6]
웹사이트
Motorola 68000 Family Programmer's Reference Manual
https://www.nxp.com/[...]
1992
[7]
논문
Intel's P6 Uses Decoupled Superscalar Design
http://www.eecg.toro[...]
1995-02-16
[8]
웹사이트
ARM architecture overview
https://web.eecs.umi[...]
[9]
문서
There were also variants of UNIX for the 80286
[10]
문서
32-bit+application
[11]
뉴스
ARMが64ビット対応アーキテクチャ「ARMv8」を発表、サーバー機器向けの展開を本格化 - EDN Japan
https://edn.itmedia.[...]
[12]
웹사이트
Photoshop でのハイダイナミックレンジ(HDR)画像
https://helpx.adobe.[...]
[13]
웹사이트
Vulkan Environment for SPIR-V :: Vulkan Documentation Project
https://docs.vulkan.[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com