Word (컴퓨터 아키텍처)
Word (computer architecture)컴퓨터 아키텍처 비트폭 |
---|
조금 |
어플 |
이진 부동 소수점 정확 |
소수 부동소수점 정확 |
컴퓨팅에서 단어는 특정 프로세서 설계에 사용되는 데이터의 자연 단위입니다.워드는 명령어 집합 또는 프로세서의 하드웨어에 의해 단위로 처리되는 고정된 크기의 데이터입니다.단어의 비트 수 또는 숫자(단어[a] 크기, 단어 너비 또는 단어 길이)는 특정 프로세서 설계 또는 컴퓨터 아키텍처의 중요한 특성입니다.
워드의 크기는 컴퓨터의 구조와 동작의 여러 측면에 반영됩니다. 프로세서의 레지스터 대부분은 보통 워드 크기이며, 한 번의 동작으로 작업 메모리와 주고 받을 수 있는 가장 큰 데이터는 (모든 것이 아닌) 많은 아키텍처의 워드입니다.메모리에서 위치를 지정하는 데 사용되는 가능한 최대 주소 크기는 일반적으로 하드웨어 단어입니다(여기서 "하드웨어 단어"는 사용되는 다른 정의와 달리 프로세서의 전체 크기 자연어를 의미합니다).
단어 크기가 고정된 오래된 컴퓨터의 설명서에서는 일반적으로 메모리 크기를 바이트나 문자가 아닌 단어로 설명합니다.설명서는 때로 미터법 접두사를 정확하게 사용하며, 65536개 단어에 대해 65킬로워드(KW)를 의미하는 경우도 있고, 1024개 단어(210)를 의미하는 킬로워드(KW)와 1,048,576개 단어(220)를 의미하는 메가워드(MW)를 의미하는 경우도 있습니다.8비트 바이트와 바이트 주소에 대한 표준화를 통해 메모리 크기를 1000이 아닌 1024의 전력으로 명시하는 것이 일반적인 방법이 되었습니다. IEC 이진 접두사의 일부 사용도 있습니다.
초기 컴퓨터들 중 몇몇은 일반적으로 십진법이 아닌 이진법으로 부호화된 십진법을 사용하며, 일반적으로 십진법 숫자 10자리 또는 12자리의 단어 크기를 가지고 있으며, 일부 초기 십진법 컴퓨터들은 고정된 단어 길이가 전혀 없습니다.초기의 바이너리 시스템은 6비트의 배수 정도의 워드 길이를 사용하는 경향이 있었으며, 메인프레임 컴퓨터에서는 36비트 워드가 특히 일반적이었습니다.ASCII의 도입으로 인해 워드 길이가 8비트의 배수인 시스템으로 이동하게 되었고, 16비트 시스템은 32비트 또는 64비트의 최신 프로세서로 이동하기 전인 1970년대에 인기를 끌었습니다.[1]디지털 신호 프로세서와 같은 특수 목적 설계는 4비트에서 80비트의 단어 길이를 가질 수 있습니다.[1]
이전 컴퓨터와의 하위 호환성으로 인해 단어의 크기가 예상과 다를 수 있습니다.여러 개의 호환 가능한 변형 또는 프로세서 제품군이 공통 아키텍처 및 명령어 집합을 공유하지만 단어 크기가 다를 경우, 그 차이를 수용하기 위해 설명서 및 소프트웨어가 명목상으로 복잡해질 수 있습니다(아래 크기 제품군 참조).
단어의 용법
컴퓨터의 구성 방식에 따라 단어 크기 단위는 다음과 같은 용도로 사용될 수 있습니다.
- 고정점수
- 일반적으로 정수인 고정점의 홀더는 하나 또는 여러 가지 다른 크기로 제공될 수 있지만 사용 가능한 크기 중 하나는 거의 항상 단어입니다.다른 크기는 단어 크기의 배수 또는 분수일 가능성이 있습니다.작은 크기는 일반적으로 메모리의 효율적인 사용을 위해서만 사용됩니다. 프로세서에 로드되면 값이 일반적으로 큰 워드 크기의 홀더에 들어갑니다.
- 부동 소수점 수
- 부동 소수점 숫자 값의 홀더는 일반적으로 단어 또는 단어의 배수입니다.
- 주소
- 메모리 주소의 홀더는 필요한 범위의 값을 표현할 수 있는 크기여야 하지만 지나치게 크지 않아야 하므로 사용되는 크기가 단어이지만 단어 크기의 배수 또는 부분일 수도 있습니다.
- 레지스터
- 프로세서 레지스터는 정수, 부동 소수점 번호 또는 주소와 같이 보유하고 있는 데이터 유형에 적합한 크기로 설계됩니다.많은 컴퓨터 아키텍처는 여러 표현으로 데이터를 저장할 수 있는 범용 레지스터를 사용합니다.
- 메모리-프로세서 전송
- 프로세서가 메모리 서브시스템에서 레지스터로 읽거나 레지스터의 값을 메모리에 쓸 때 전송되는 데이터의 양은 단어가 되는 경우가 많습니다.역사적으로, 한 주기로 전송될 수 있는 이 양의 비트는 일부 환경(예: Bull GAMMA 60 ])[2][3]에서는 카테나(catena)라고도 불렸습니다.단순한 메모리 서브시스템에서, 워드는 일반적으로 워드 또는 반 워드의 폭을 갖는 메모리 데이터 버스를 통해 전송됩니다.캐시를 사용하는 메모리 서브시스템에서 워드 크기 전송은 프로세서와 캐시의 첫 번째 레벨 사이의 전송입니다. 메모리 계층의 낮은 레벨에서는 일반적으로 워드 크기의 배수인 더 큰 전송이 사용됩니다.
- 주소 해상도 단위
- 주어진 아키텍처에서 연속적인 주소 값은 거의[b] 항상 연속적인 메모리 단위를 지정합니다. 이 단위는 주소 해결의 단위입니다.대부분의 컴퓨터에서 단위는 문자(예: 바이트) 또는 단어입니다. (일부 컴퓨터에서는 비트 해상도를 사용했습니다.)단위가 단어인 경우, 주어진 크기의 주소를 사용하여 더 많은 양의 메모리에 접근할 수 있으며, 복잡성이 더해진 비용으로 개별 문자에 접근할 수 있습니다.반면, 단위가 바이트인 경우 개별 문자를 처리할 수 있습니다(즉, 메모리 동작 중에 선택됨).
- 지침들
- 기계 명령어는 일반적으로 RISC 아키텍처에서와 같이 아키텍처 단어의 크기이거나, "char" 크기의 몇 배입니다.명령과 데이터가 일반적으로 동일한 메모리 서브시스템을 공유하기 때문에 이는 당연한 선택입니다.하버드 아키텍처에서는 명령어와 데이터가 서로 다른 메모리에 저장되므로 명령어와 데이터의 단어 크기는 관련이 있을 필요가 없습니다. 예를 들어 1ESS 전자 전화 스위치의 프로세서에는 37비트 명령어와 23비트 데이터 단어가 있습니다.
단어크기선택
컴퓨터 아키텍처가 설계될 때 단어 크기의 선택은 상당히 중요합니다.특정 용도(예: 주소)를 위해 특정 비트 그룹 크기를 권장하는 설계 고려 사항이 있으며, 이러한 고려 사항은 용도에 따라 다른 크기를 나타냅니다.그러나 설계에서 경제성에 대한 고려는 기본 크기에 대한 배수 또는 분수(하위 배수)와 관련된 한 가지 크기 또는 극소수의 크기를 강하게 요구합니다.그 선호하는 크기가 아키텍처의 단어 크기가 됩니다.
문자 크기는 과거(사전 변수 크기 문자 인코딩)로 주소 단위 해상도와 단어 크기 선택에 영향을 미쳤습니다.1960년대 중반 이전에는 문자가 6비트로 저장되는 경우가 가장 많았습니다. 이로 인해 64자를 초과할 수 없었기 때문에 알파벳은 대문자로 제한되었습니다.단어 크기가 문자 크기의 배수가 되는 것이 시간과 공간에서 효율적이기 때문에, 이 시기의 단어 크기는 대개 6비트의 배수였습니다(이진기의 경우).일반적인 선택은 부동 소수점 형식의 숫자 속성에 적합한 크기인 36비트 단어였습니다.
8비트 문자를 사용하고 소문자를 지원하는 IBM System/360 디자인이 도입된 후 문자의 표준 크기(정확히는 1바이트)는 8비트가 됩니다.그 이후의 단어 크기는 자연스럽게 8비트의 배수가 되며, 16비트, 32비트, 64비트가 일반적으로 사용됩니다.
가변 워드 아키텍처
초기 기계 설계에는 가변 단어 길이라고 하는 것을 사용하는 것이 포함되어 있었습니다.이러한 유형의 조직에서는 피연산자의 길이가 고정되어 있지 않습니다.컴퓨터와 명령에 따라 길이는 카운트 필드, 구분 문자 또는 플래그 또는 워드 마크와 같은 추가 비트로 표시될 수 있습니다.이러한 시스템은 숫자에 대해 이진 코드로 표시된 10진수를 4비트 숫자로 사용하거나 6비트 문자로 사용하는 경우가 많습니다.이 컴퓨터 클래스에는 IBM 702, IBM 705, IBM 7080, IBM 7010, UNIVAC 1050, IBM 1401, IBM 1620 및 RCA 301이 포함됩니다.
대부분의 기계는 한 번에 한 개의 메모리 단위로 작동하며, 각 명령어나 데이텀이 여러 단위이기 때문에 각 명령어는 메모리에 접근하는 데만 몇 사이클이 걸립니다.이 기계들은 이것 때문에 종종 꽤 느려집니다.예를 들어 IBM 1620 모델 I의 명령어 페치는 명령어의 12자리 숫자를 읽는 데만 8주기(160μs)가 소요됩니다(모델 II는 이를 6주기로 줄이거나 명령어에 두 주소 필드가 모두 필요 없는 경우 4주기로 줄였습니다).명령 실행은 피연산자의 크기에 따라 다양한 사이클 수가 소요됩니다.
워드, 비트 및 바이트 주소 지정
건축물의 기억 모델은 단어 크기의 영향을 강하게 받습니다.특히, 메모리 어드레스의 해상도, 즉 어드레스에 의해 지정될 수 있는 가장 작은 단위가 단어로 선택되는 경우가 많습니다.이 접근법에서, 워드 어드레싱 가능한 기계 접근법, 하나씩 다른 어드레스 값은 인접한 메모리 워드를 지정합니다.이는 거의 항상 워드(또는 복수 워드) 단위로 처리하는 기계에서는 당연한 일이며, 명령어가 최소 크기의 필드를 사용하여 주소를 포함할 수 있어 명령어 크기가 작거나 명령어의 종류가 더 다양하다는 장점이 있습니다.
바이트 처리가 워크로드의 중요한 부분을 차지하는 경우, 일반적으로 단어보다는 바이트를 주소 해결 단위로 사용하는 것이 더 유리합니다.1만큼 다른 주소 값은 메모리의 인접 바이트를 지정합니다.이를 통해 문자열 내의 임의 문자를 바로 처리할 수 있습니다.단어는 여전히 주소를 지정할 수 있지만 사용할 주소는 단어 해상도 대안보다 몇 비트가 더 필요합니다.단어 크기는 이 조직의 문자 크기의 정수배여야 합니다.이 어드레싱 접근 방식은 IBM 360에서 사용되었으며, 그 이후로 설계된 기계에서 가장 일반적인 접근 방식이었습니다.
워크로드에 다양한 크기의 필드를 처리해야 하는 경우 비트에 대응하는 것이 유리할 수 있습니다.비트 어드레싱 기능이 있는 시스템에는 프로그래머 정의 바이트 크기를 사용하는 명령어와 고정된 데이터 크기에서 작동하는 명령어가 있을 수 있습니다.예를 들어 IBM 7030[4]("Stretch")에서 부동 소수점 명령어는 단어만 지정할 수 있지만 정수 산술 명령어는 1-64비트의 필드 길이, 1-8비트의 바이트 크기 및 0-127비트의 누산기 오프셋을 지정할 수 있습니다.
SS(Storage-to-Storage) 명령이 있는 바이트 주소 지정 시스템에서는 일반적으로 하나 또는 여러 바이트를 임의의 위치에서 다른 위치로 복사하는 이동 명령이 있습니다.SS 명령이 없는 바이트 지향(바이트 주소 지정 가능) 시스템에서 단일 바이트를 임의의 위치에서 다른 위치로 이동하는 것은 일반적으로 다음과 같습니다.
- 소스 바이트 로드
- 결과를 대상 바이트에 다시 저장
단어 지향 기계에서 개별 바이트는 두 가지 방법 중 하나로 접근할 수 있습니다.바이트는 레지스터의 시프트 및 마스크 작업 조합으로 조작할 수 있습니다.한 임의의 위치에서 다른 위치로 단일 바이트를 이동하려면 다음과 같은 작업이 필요할 수 있습니다.
- 소스 바이트를 포함하는 단어를 로드합니다.
- 소스 워드를 SHIFT하여 원하는 바이트를 대상 워드의 올바른 위치에 정렬합니다.
- 그리고 원하는 비트를 제외한 모든 비트를 영점화하는 마스크가 있는 소스 워드.
- 대상 바이트를 포함하는 단어를 로드합니다.
- 그리고 목표 바이트를 영점화하는 마스크가 있는 목표 단어.
- 또는 소스 바이트를 삽입할 소스 및 대상 단어를 포함하는 레지스터
- 결과를 대상 위치에 다시 저장
또는 많은 워드 지향 머신들은 레지스터나 메모리의 특수 바이트 포인터를 사용하여 명령어로 바이트 연산을 구현합니다.예를 들어, PDP-10 바이트 포인터는 바이트의 크기(다른 크기의 바이트에 액세스할 수 있음), 단어 내 바이트의 비트 위치, 데이터의 단어 주소를 포함했습니다.명령어는 예를 들어 작업을 로드 및 입금(저장)할 때 포인터를 다음 바이트로 자동 조정할 수 있습니다.
2의 힘
데이터 값을 정확도가 다른 정도로 저장하는 데는 서로 다른 양의 메모리가 사용됩니다.일반적으로 사용되는 크기는 보통 주소 분해능 단위(바이트 또는 워드)의 2배의 거듭제곱입니다.배열에 있는 항목의 인덱스를 해당 항목의 메모리 주소 오프셋으로 변환하면 곱셈이 아닌 시프트 연산만 필요합니다.어떤 경우에는 이 관계가 분할 작업의 사용을 피할 수도 있습니다.그 결과 대부분의 현대 컴퓨터 디자인은 바이트 크기의 2배에 달하는 파워를 가진 단어 크기(및 기타 피연산자 크기)를 가지고 있습니다.
패밀리 크기
컴퓨터 설계가 복잡해짐에 따라 아키텍처에서 단일 단어 크기의 중요성이 감소했습니다.성능이 뛰어난 하드웨어는 더 다양한 크기의 데이터를 사용할 수 있지만, 시장에서는 프로세서 기능을 확장하면서 하위 호환성을 유지하도록 압력을 가하고 있습니다.따라서 새로운 디자인에서 중심 단어 크기가 될 수 있었던 것은 하위 호환 디자인에서 원래 단어 크기에 대한 대체 크기로 공존해야 합니다.원래 단어 크기는 향후 설계에서 사용할 수 있으며 크기 패밀리의 기본을 구성합니다.
1970년대 중반 DEC은 VAX를 16비트 PDP-11의 32비트 후속 모델로 설계했습니다.그들은 16비트의 양을 뜻하는 단어를 사용했지만 긴 단어는 32비트의 양을 가리켰습니다. 이 용어는 PDP-11에 사용된 용어와 동일합니다.이것은 기억을 다루는 자연 단위를 단어라고 부르는 이전의 기계들과는 대조적이었습니다. 반면에 1/2 단어인 양을 반 단어라고 부르는 것이었습니다.이 방식에 맞게 VAX 쿼드워드는 64비트입니다.그들은 이 16비트 단어/32비트 긴 단어/64비트 쿼드 단어 용어를 64비트 Alpha로 계속 사용했습니다.
또 다른 예로는 x86 계열이 있는데, 이들 계열 중 3개의 다른 워드 길이(16비트, 이후 32비트 및 64비트)의 프로세서가 출시된 반면 워드는 16비트 수량을 계속 지정하고 있습니다.소프트웨어가 한 단어 길이에서 다음 단어 길이로 일상적으로 포팅되기 때문에 일부 API 및 설명서는 소프트웨어가 컴파일될 수 있는 CPU의 전체 단어 길이보다 오래된(따라서 더 짧은) 단어 길이를 정의하거나 참조합니다.또한, 바이트가 많은 프로그램에서 작은 숫자에 사용되는 방식과 유사하게 더 짧은 단어(16비트 또는 32비트)는 더 넓은 단어의 범위가 필요하지 않은 상황에서 사용될 수 있습니다(특히 상당한 스택 공간 또는 캐시 메모리 공간을 절약할 수 있는 경우).예를 들어 Microsoft의 Windows API는 표준 워드 크기가 각각 32비트 또는 64비트인 x86 프로세서에서 API를 사용할 수 있음에도 불구하고 WORD의 프로그래밍 언어 정의를 16비트로 유지합니다.이렇게 다른 크기의 단어를 포함하는 데이터 구조는 다음과 같이 말합니다.
- WORD(16비트/2바이트)
- DWORD(32비트/4바이트)
- QWORD(64비트/8바이트)
인텔의 x86 어셈블리 언어에서도 비슷한 현상이 나타났습니다. 명령어 집합에서 다양한 크기(및 하위 호환성)를 지원하기 때문에 일부 명령어 니모닉에서는 아키텍처의 원래 16비트 워드 크기 측면에서 "double-", "quad-" 또는 "double-quad-"를 나타내는 "d" 또는 "q" 식별자를 전달합니다.
단어 크기가 다른 예로는 IBM System/360 계열이 있습니다.시스템/360 아키텍처, 시스템/370 아키텍처 및 시스템/390 아키텍처에는 8비트 바이트, 16비트 하프 워드, 32비트 워드 및 64비트 더블 워드가 있습니다.해당 아키텍처 제품군의 64비트 구성원인 z/Architecture는 16비트 하프 워드, 32비트 워드 및 64비트 더블 워드를 계속해서 참조하며 128비트 쿼드 워드를 추가로 지원합니다.
일반적으로 새 프로세서는 이전 프로세서와 이진 호환성을 가지려면 이전 프로세서와 동일한 데이터 워드 길이와 가상 주소 너비를 사용해야 합니다.
소스 코드 호환성과 소프트웨어 이식성을 염두에 두고 작성된 주의 깊게 작성된 소스 코드는 데이터 워드 길이가 다르거나 주소 폭이 다르거나 둘 다 다른 프로세서에서도 실행되도록 다시 컴파일될 수 있습니다.
단어 크기 표
키: 비트: 비트, c: 문자, d: 10진수, w: 아키텍처의 워드 크기, n: 가변 크기, wm: 워드 마크 | |||||||
---|---|---|---|---|---|---|---|
연도 | 컴퓨터. 건축물 | 단어크기 w | 정수 사이즈들 | 부동 점 사이즈들 | 설명 사이즈들 | 주소단위 결의안 | 글자크기 |
1837 | 배비지 해석기관 | 50 d | w | — | 다섯 개의 다른 카드가 각기 다른 기능에 사용되었는데, 정확한 카드의 크기는 알려지지 않았습니다. | w | — |
1941 | Zuse Z3 | 22비트 | — | w | 8비트 | w | — |
1942 | ABC | 50비트 | w | — | — | — | — |
1944 | 하버드 마크 1세 | 23d | w | — | 24비트 | — | — |
1946 (1948) {1953} | 에니악 (패널 #16[5] 포함) {w/패널 #26[6]} | 10 d | w, 2w (w) {w} | — | — (2d, 4d, 6d, 8d) {2d, 4d, 6d, 8d} | — — {w} | — |
1948 | 맨체스터 베이비 | 32비트 | w | — | w | w | — |
1951 | 유니바치 I | 12 d | w | — | 1⁄2w | w | 1d |
1952 | IAS기 | 40비트 | w | — | 1⁄2w | w | 5비트 |
1952 | 고속 유니버셜 디지털 컴퓨터 M-2 | 34비트 | w? | w | 34비트 = 4비트 opcode + 3x10비트 주소 | 10비트 | — |
1952 | IBM 701 | 36비트 | 1 ⁄2w, w | — | 1⁄2w | 1 ⁄2w, w | 6비트 |
1952 | 유니백 60 | 이윽고 | 1 d, ... 10 d | — | — | — | 2d, 3d |
1952 | ARRAI | 30비트 | w | — | w | w | 5비트 |
1953 | IBM 702 | nc | 0c, ... 511c | — | 5c | c | 6비트 |
1953 | UNIVAC 120 | 이윽고 | 1 d, ... 10 d | — | — | — | 2d, 3d |
1953 | ARRA II | 30비트 | w | 2w | 1⁄2w | w | 5비트 |
1954 (1955) | IBM 650 (IBM 653 포함) | 10 d | w | — (w) | w | w | 2d |
1954 | IBM 704 | 36비트 | w | w | w | w | 6비트 |
1954 | IBM 705 | nc | 0c, ...255c | — | 5c | c | 6비트 |
1954 | IBM NORC | 16 d | w | w, 2w | w | w | — |
1956 | IBM 305 | 이윽고 | 1 d, ... 100 d | — | 10 d | d | 1d |
1956 | 아르맥 | 34비트 | w | w | 1⁄2w | w | 5비트, 6비트 |
1956 | LGP-30 | 31비트 | w | — | 16비트 | w | 6비트 |
1957 | 오토네틱스 레콤 I | 40비트 | w, 79비트, 8d, 15d | — | 1⁄2w | 1 ⁄2w, w | 5비트 |
1958 | 유니박 II | 12 d | w | — | 1⁄2w | w | 1d |
1958 | SAGE | 32비트 | 1⁄2w | — | w | w | 6비트 |
1958 | 오토네틱스 레콤 II | 40비트 | w, 79비트, 8d, 15d | 2w | 1⁄2w | 1 ⁄2w, w | 5비트 |
1958 | 세툰 | 6 trit(~9.5비트)[c] | 최대 6회 시도 | 최대 3회까지 | 4 trit? | ||
1958 | 일렉트로로지카 X1 | 27비트 | w | 2w | w | w | 5비트, 6비트 |
1959 | IBM 1401 | nc | 1c, ... | — | 1 c, 2 c, 4 c, 5 c, 7 c, 8 c | c | 6비트 + wm |
1959 (TBD) | IBM 1620 | 이윽고 | 2d, ... | — (4d, ... 102d) | 12 d | d | 2d |
1960 | LARC | 12 d | w, 2w | w, 2w | w | w | 2d |
1960 | CDC 1604 | 48비트 | w | w | 1⁄2w | w | 6비트 |
1960 | IBM 1410 | nc | 1c, ... | — | 1 c, 2 c, 6 c, 7 c, 11 c, 12 c | c | 6비트 + wm |
1960 | IBM 7070 | 10 d[d] | w, 1-9d | w | w | w, d | 2d |
1960 | PDP-1 | 18비트 | w | — | w | w | 6비트 |
1960 | 엘리엇 803 | 39 bit | |||||
1961 | IBM 7030 (스트레치) | 64비트 | 1비트, ... 64비트, 1 d , ... 16 d | w | 1 ⁄2w, w | 비트(integer), 1 ⁄2w(branch), w (float) | 1비트, ... 8비트 |
1961 | IBM 7080 | nc | 0c, ...255c | — | 5c | c | 6비트 |
1962 | GE-6xx | 36비트 | w, 2w | w, 2w,80비트 | w | w | 6비트, 9비트 |
1962 | 유니박 III | 25비트 | w, 2w, 3w, 4w, 6d, 12d | — | w | w | 6비트 |
1962 | 오토네틱스 D-17B 미니트맨 I 안내 컴퓨터 | 27비트 | 11비트, 24비트 | — | 24비트 | w | — |
1962 | UNIVAC 1107 | 36비트 | 1 ⁄6w, 1 ⁄3w, 1 ⁄2w, w | w | w | w | 6비트 |
1962 | IBM 7010 | nc | 1c, ... | — | 1 c, 2 c, 6 c, 7 c, 11 c, 12 c | c | 6 b + wm |
1962 | IBM 7094 | 36비트 | w | w, 2w | w | w | 6비트 |
1962 | SDS 9 시리즈 | 24비트 | w | 2w | w | w | |
1963 (1966) | 아폴로 유도 컴퓨터 | 15비트 | w | — | w, 2w | w | — |
1963 | 새턴 발사체 디지털 컴퓨터 | 26비트 | w | — | 13비트 | w | — |
1964/1966 | PDP-6/PDP-10 | 36비트 | w | w, 2w | w | w | 6비트 7비트 (typical) 9비트 |
1964 | 타이탄 | 48비트 | w | w | w | w | w |
1964 | CDC 6600 | 60비트 | w | w | 1 ⁄4w, 1 ⁄2w | w | 6비트 |
1964 | 오토네틱스 D-37C 미니트맨 II 유도 컴퓨터 | 27비트 | 11비트, 24비트 | — | 24비트 | w | 4비트, 5비트 |
1965 | 쌍둥이자리 유도 컴퓨터 | 39 bit | 26비트 | — | 13비트 | 13비트,26 | —비트 |
1965 | IBM 1130 | 16비트 | w, 2w | 2w, 3w | w, 2w | w | 8비트 |
1965 | IBM 시스템/360 | 32비트 | 1 ⁄2w, w, 1 d , ... 16 d | w, 2w | 1 ⁄2w, w, 11 ⁄2w | 8비트 | 8비트 |
1965 | UNIVAC 1108 | 36비트 | 1 ⁄6w, 1 ⁄4w, 1 ⁄3w, 1 ⁄2w, w, 2w | w, 2w | w | w | 6비트, 9비트 |
1965 | PDP-8 | 12비트 | w | — | w | w | 8비트 |
1965 | 일렉트로니카 X8 | 27비트 | w | 2w | w | w | 6비트, 7비트 |
1966 | SDS 시그마 7 | 32비트 | 1 ⁄2w, w | w, 2w | w | 8비트 | 8비트 |
1969 | 사상계 AL1 | 8비트 | w | — | ? | ? | ? |
1970 | MP944 | 20비트 | w | — | ? | ? | ? |
1970 | PDP-11 | 16비트 | w | 2w, 4w | w, 2w, 3w | 8비트 | 8비트 |
1971 | CDC STAR-100 | 64비트 | 1 ⁄2w, w | 1 ⁄2w, w | 1 ⁄2w, w | 조금 | 8비트 |
1971 | TMS1802NC | 4비트 | w | — | ? | ? | — |
1971 | 인텔 4004 | 4비트 | w, d | — | 2w, 4w | w | — |
1972 | 인텔 8008 | 8비트 | w, 2d | — | w, 2w, 3w | w | 8비트 |
1972 | 칼콤프900 | 9비트 | w | — | w, 2w | w | 8비트 |
1974 | 인텔 8080 | 8비트 | w, 2w, 2d | — | w, 2w, 3w | w | 8비트 |
1975 | 일리악 IV | 64비트 | w | w, 1 ⁄2w | w | w | — |
1975 | 모토로라 6800 | 8비트 | w, 2d | — | w, 2w, 3w | w | 8비트 |
1975 | 모스테크 6501 모스테크 6502 | 8비트 | w, 2d | — | w, 2w, 3w | w | 8비트 |
1976 | 크레-1 | 64비트 | 24비트, w | w | 1 ⁄4w, 1 ⁄2w | w | 8비트 |
1976 | 질로그 Z80 | 8비트 | w, 2w, 2d | — | w, 2w, 3w, 4w, 5w | w | 8비트 |
1978 (1980) | 16비트 x86 (인텔 8086) (floating 포인트 포함:인텔 8087) | 16비트 | 1 ⁄2w, w, 2d | — (2w, 4w, 5w, 17d) | 1 ⁄2w, w, ... 7w | 8비트 | 8비트 |
1978 | VAX | 32비트 | 1 ⁄4w, 1 ⁄2w, w, 1d, ... 31d, 1비트, ... 32비트 | w, 2w | 1 ⁄4w, ... 141 ⁄4w | 8비트 | 8비트 |
1979 (1984) | 모토로라 68000계 (floating 포인트 포함) | 32비트 | 1 ⁄4w, 1 ⁄2w, w, 2d | — (w, 2w, 21 ⁄2w) | 1 ⁄2w, w, ... 71 ⁄2w | 8비트 | 8비트 |
1985 | IA-32 (인텔 80386) (부동점 포함) | 32비트 | 1 ⁄4w, 1 ⁄2w, w | — (w, 2w, 80비트) | 8비트, ... 120비트 1 ⁄4w...33 ⁄4w | 8비트 | 8비트 |
1985 | ARMv1 | 32비트 | 1 ⁄4w, w | — | w | 8비트 | 8비트 |
1985 | MIPS I | 32비트 | 1 ⁄4w, 1 ⁄2w, w | w, 2w | w | 8비트 | 8비트 |
1991 | 크레용C90 | 64비트 | 32비트, w | w | 1 ⁄4w, 1 ⁄2w, 48비트 | w | 8비트 |
1992 | 알파 | 64비트 | 8비트, 1⁄4w, 1⁄2w, w | 1 ⁄2w, w | 1⁄2w | 8비트 | 8비트 |
1992 | 파워PC | 32비트 | 1 ⁄4w, 1 ⁄2w, w | w, 2w | w | 8비트 | 8비트 |
1996 | ARMv4 (엄지 포함) | 32비트 | 1 ⁄4w, 1 ⁄2w, w | — | w (1 ⁄2w, w) | 8비트 | 8비트 |
2000 | IBM z/아키텍처 (vector시설 포함) | 64비트 | 1 ⁄4w, 1 ⁄2w, w 1 d , ... 31 d | 1 ⁄2w, w, 2w | 1 ⁄4w, 1 ⁄2w, 3 ⁄4w | 8비트 | 8비트, UTF-16, UTF-32 |
2001 | IA-64 | 64비트 | 8비트, 1⁄4w, 1⁄2w, w | 1 ⁄2w, w | 41비트(128비트 번들)[7] | 8비트 | 8비트 |
2001 | ARMv6 (VFP 포함) | 32비트 | 8비트, 1⁄2w, w | — (w, 2w) | 1 ⁄2w, w | 8비트 | 8비트 |
2003 | x86-64 | 64비트 | 8비트, 1⁄4w, 1⁄2w, w | 1⁄2w,w,80bit | 8비트, ... 120비트 | 8비트 | 8비트 |
2013 | ARMv8-A 및 ARMv9-A | 64비트 | 8비트, 1⁄4w, 1⁄2w, w | 1 ⁄2w, w | 1⁄2w | 8비트 | 8비트 |
연도 | 컴퓨터. 건축물 | 단어크기 w | 정수 사이즈들 | 부동 점 사이즈들 | 설명 사이즈들 | 주소단위 결의안 | 글자크기 |
키: 비트: 비트, c: 문자, d: 10진수, w: 아키텍처의 워드 크기, n: 가변 크기, wm: 워드 마크 |
참고 항목
메모들
참고문헌
- ^ a b Beebe, Nelson H. F. (2017-08-22). "Chapter I. Integer arithmetic". The Mathematical-Function Computation Handbook - Programming Using the MathCW Portable Software Library (1 ed.). Salt Lake City, UT, US: Springer International Publishing AG. p. 970. doi:10.1007/978-3-319-64110-2. ISBN 978-3-319-64109-6. LCCN 2017947446. S2CID 30244721.
- ^ Dreyfus, Phillippe (1958-05-08) [1958-05-06]. Written at Los Angeles, California, US. System design of the Gamma 60 (PDF). Western Joint Computer Conference: Contrasts in Computers. ACM, New York, NY, US. pp. 130–133. IRE-ACM-AIEE '58 (Western). Archived (PDF) from the original on 2017-04-03. Retrieved 2017-04-03.
[...] Internal data code is used: Quantitative (numerical) data are coded in a 4-bit decimal code; qualitative (alpha-numerical) data are coded in a 6-bit alphanumerical code. The internal instruction code means that the instructions are coded in straight binary code.
As to the internal information length, the information quantum is called a "catena," and it is composed of 24 bits representing either 6 decimal digits, or 4 alphanumerical characters. This quantum must contain a multiple of 4 and 6 bits to represent a whole number of decimal or alphanumeric characters. Twenty-four bits was found to be a good compromise between the minimum 12 bits, which would lead to a too-low transfer flow from a parallel readout core memory, and 36 bits or more, which was judged as too large an information quantum. The catena is to be considered as the equivalent of a character in variable word length machines, but it cannot be called so, as it may contain several characters. It is transferred in series to and from the main memory.
Not wanting to call a "quantum" a word, or a set of characters a letter, (a word is a word, and a quantum is something else), a new word was made, and it was called a "catena." It is an English word and exists in Webster's although it does not in French. Webster's definition of the word catena is, "a connected series;" therefore, a 24-bit information item. The word catena will be used hereafter.
The internal code, therefore, has been defined. Now what are the external data codes? These depend primarily upon the information handling device involved. The Gamma 60 is designed to handle information relevant to any binary coded structure. Thus an 80-column punched card is considered as a 960-bit information item; 12 rows multiplied by 80 columns equals 960 possible punches; is stored as an exact image in 960 magnetic cores of the main memory with 2 card columns occupying one catena. [...] - ^ Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips; Buchholz, Werner (1962). "4: Natural Data Units" (PDF). In Buchholz, Werner (ed.). Planning a Computer System – Project Stretch. McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA. pp. 39–40. LCCN 61-10466. Archived (PDF) from the original on 2017-04-03. Retrieved 2017-04-03.
[...] Terms used here to describe the structure imposed by the machine design, in addition to bit, are listed below.
Byte denotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other than character is used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined from bite, but respelled to avoid accidental mutation to bit.)
A word consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. Word size is thus defined as a structural property of the memory. (The term catena was coined for this purpose by the designers of the Bull GAMMA 60 computer.)
Block refers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. [...] - ^ "Format" (PDF). Reference Manual 7030 Data Processing System (PDF). IBM. August 1961. pp. 50–57. Retrieved 2021-12-15.
- ^ Clippinger, Richard F. [in German] (1948-09-29). "A Logical Coding System Applied to the ENIAC (Electronic Numerical Integrator and Computer)". Aberdeen Proving Ground, Maryland, US: Ballistic Research Laboratories. Report No. 673; Project No. TB3-0007 of the Research and Development Division, Ordnance Department. Retrieved 2017-04-05.
- ^ Clippinger, Richard F. [in German] (1948-09-29). "A Logical Coding System Applied to the ENIAC". Aberdeen Proving Ground, Maryland, US: Ballistic Research Laboratories. Section VIII: Modified ENIAC. Retrieved 2017-04-05.
- ^ "4. Instruction Formats" (PDF). Intel Itanium Architecture Software Developer's Manual. Vol. 3: Intel Itanium Instruction Set Reference. p. 3:293. Retrieved 2022-04-25.
Three instructions are grouped together into 128-bit sized and aligned containers called bundles. Each bundle contains three 41-bit instruction slots and a 5-bit template field.
- ^ Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips (1997). Computer Architecture: Concepts and Evolution (1 ed.). Addison-Wesley. ISBN 0-201-10557-8. (1213페이지) (NB.이것은 단권판입니다.이 작품은 2권으로 제작된 것도 있습니다.)
- ^ Ralston, Anthony; Reilly, Edwin D. (1993). Encyclopedia of Computer Science (3rd ed.). Van Nostrand Reinhold. ISBN 0-442-27679-6.