작품
IA-64
IA-64(Intel Itanium architecture)는 단종된 64비트 인텔 마이크로프로세서의 아이테니엄 계열의 명령어 집합 (ISA)이다. 기본 ISA 사양은 휴렛 팩커드(HP)에서 시작되었으며, 이후 인텔이 HP와 협력하여 구현했다. 첫 아이테니엄 프로세서인 코드명 메르세드는 2001년에 출시되었다.
작품
IA-64(Intel Itanium architecture)는 단종된 64비트 인텔 마이크로프로세서의 아이테니엄 계열의 명령어 집합 (ISA)이다. 기본 ISA 사양은 휴렛 팩커드(HP)에서 시작되었으며, 이후 인텔이 HP와 협력하여 구현했다. 첫 아이테니엄 프로세서인 코드명 메르세드는 2001년에 출시되었다.
이 항목이 포함된 사건 파일에서 정보와 관계를 함께 살펴보세요.
이 항목이 포함된 사건 파일이 아직 없습니다.
이 항목으로 조사 시작하기IA-64(Intel Itanium architecture)는 단종된 64비트 인텔 마이크로프로세서의 아이테니엄 계열의 명령어 집합 (ISA)이다. 기본 ISA 사양은 휴렛 팩커드(HP)에서 시작되었으며, 이후 인텔이 HP와 협력하여 구현했다.
IA-64(Intel Itanium architecture)는 단종된 64비트 인텔 마이크로프로세서의 아이테니엄 계열의 명령어 집합 (ISA)이다. 기본 ISA 사양은 휴렛 팩커드(HP)에서 시작되었으며, 이후 인텔이 HP와 협력하여 구현했다. 첫 아이테니엄 프로세서인 코드명 메르세드는 2001년에 출시되었다.
아이테니엄 아키텍처는 명시적인 명령어 수준 병렬성을 기반으로 하며, 컴파일러가 병렬로 실행할 명령어를 결정한다. 이는 런타임에 프로세서가 명령어 종속성을 관리하는 슈퍼스칼라 아키텍처와 대조된다. 투킬라를 포함한 모든 아이테니엄 모델에서 코어는 클럭당 최대 6개의 명령어를 실행한다.
2008년 아이테니엄은 x86-64, 파워 ISA, SPARC에 이어 기업급 시스템에서 네 번째로 많이 배포된 마이크로프로세서 아키텍처였다.
2019년 인텔은 IA-64 아키텍처를 지원하는 마지막 CPU의 단종을 발표했다. 마이크로소프트 윈도우 버전은 IA-64를 지원했지만, 지원이 중단되었으며, 예를 들어 리눅스 커널은 훨씬 더 오랫동안 지원했지만 2024년 버전 6.7부터 지원을 중단했다(리눅스 6.6 LTS에서는 여전히 지원됨). HP-UX, OpenVMS, FreeBSD와 같은 몇몇 다른 운영체제만 IA-64를 지원했으며; HP-UX와 OpenVMS는 여전히 지원하지만 FreeBSD는 FreeBSD 11에서 지원을 중단했다.
1989년, HP는 축소 명령어 집합 컴퓨터(RISC) 아키텍처가 클럭당 하나의 명령어 처리 한계에 접근하고 있다는 우려를 가지기 시작했다. 인텔과 HP 연구원들은 모두 미래 설계에 대한 컴퓨터 아키텍처 옵션을 탐색하고 있었고, 1980년대 초 예일 대학교의 연구에서 비롯된 초장명령어 워드(VLIW)라는 새로운 개념을 따로 조사하기 시작했다.
VLIW는 단일 명령어 워드에 여러 명령어를 하나의 매우 긴 명령어 워드로 인코딩하여 프로세서가 각 클럭 사이클에서 여러 명령어를 실행하도록 하는 컴퓨터 구조 개념이다(RISC 및 CISC와 유사). 일반적인 VLIW 구현은 컴파일 시간에 어떤 명령어를 동시에 실행할 수 있는지와 이 명령어의 실행을 위한 적절한 스케줄링을 결정하고 분기 작업의 방향을 예측하는 데 정교한 컴파일러에 크게 의존한다. 이 접근 방식의 가치는 더 적은 클럭 사이클에서 더 유용한 작업을 수행하고 프로세서 명령어 스케줄링 및 분기 예측 하드웨어 요구 사항을 단순화하는 것이며, 더 빠른 실행을 위해 프로세서 복잡성, 비용 및 에너지 소비가 증가하는 단점이 있다.
이 기간 동안 HP는 자체와 같은 개별 기업 시스템 회사들이 독점 마이크로프로세서를 개발하는 것이 더 이상 비용 효율적이지 않다고 믿기 시작했다. 인텔 또한 x86 ISA를 넘어선 여러 아키텍처 옵션을 연구하여 고성능 엔터프라이즈 서버 및 고성능 컴퓨팅(HPC) 요구 사항을 충족하려 했다.
인텔과 HP는 1994년 IA-64 ISA 개발을 위해 협력했으며, 인텔이 명시적 병렬 명령어 컴퓨팅(EPIC)이라고 명명한 VLIW 설계 개념의 변형을 사용했다. 인텔의 목표는 HP가 초기 VLIW 작업에서 개발한 전문 지식과 자체 기술을 활용하여 앞서 언급한 고급 시스템을 대상으로 모든 OEM(Original Equipment Manufacturer)에 판매할 수 있는 대량 생산 제품 라인을 개발하는 것이었고, HP는 인텔의 대량 생산 및 최신 공정 기술을 사용하여 PA-RISC 프로세서보다 우수한 기성 프로세서를 구매할 수 있기를 원했다.
인텔은 설계 및 상용화 프로세스를 주도했으며, HP는 ISA 정의, Merced/Itanium 마이크로아키텍처 및 아이테니엄 2에 기여했다. 첫 아이테니엄 제품군인 Merced를 출시하려던 원래 목표 연도는 1998년이었다.
인텔의 제품 마케팅 및 산업 참여 노력은 상당했으며, 당시 RISC 프로세서를 기반으로 한 대부분의 기업 서버 OEM과의 설계 계약을 따냈다. 산업 분석가들은 IA-64가 서버, 워크스테이션, 고급 데스크톱에서 지배적인 위치를 차지하고 궁극적으로 모든 범용 응용 프로그램에서 RISC 및 CISC 아키텍처를 대체할 것이라고 예측했다. 컴팩과 실리콘 그래픽스는 Alpha와 MIPS 아키텍처의 추가 개발을 포기하고 IA-64로 전환하기로 결정했다.
1997년이 되자 IA-64 아키텍처와 컴파일러가 원래 생각했던 것보다 구현하기 훨씬 어렵다는 것이 분명해졌고, 아이테니엄의 출시는 지연되기 시작했다. 아이테니엄은 최초의 EPIC 프로세서였기 때문에 개발 노력은 팀이 예상했던 것보다 더 많은 예상치 못한 문제에 부딪혔다. 게다가 EPIC 개념은 이전에 구현된 적 없는 컴파일러 기능에 의존했으므로 더 많은 연구가 필요했다.
여러 그룹이 이 아키텍처를 위한 운영체제를 개발했는데, 여기에는 마이크로소프트 윈도우, 유닉스 및 유닉스 계열 시스템(예: 리눅스, HP-UX, FreeBSD, 솔라리스, Tru64 UNIX, 그리고 몬터레이/64 (마지막 세 개는 시장에 출시되기 전에 취소됨)가 포함된다. 1999년, 인텔은 리눅스를 IA-64로 포팅하기 위한 오픈소스 산업 컨소시엄("Trillium", 이후 상표권 문제로 "Trillian"으로 개명) 구성을 주도했으며, 이 컨소시엄은 인텔이 주도하고 칼데라 시스템즈, CERN, 시그너스 솔루션스, 휴렛 팩커드, IBM, 레드햇, SGI, SUSE, 터보리눅스 및 VA 리눅스 시스템즈가 참여했다. 그 결과, 작동하는 IA-64 리눅스가 예정보다 일찍 출시되었으며, 새로운 아이테니엄 프로세서에서 실행되는 최초의 운영체제였다.
인텔은 1999년 10월 4일 프로세서의 공식 명칭을 아이테니엄으로 발표했다. 몇 시간 만에 유즈넷 뉴스그룹에서 이 명칭에 대한 말장난으로 아이테닉이라는 이름이 붙여졌다. 아이테닉은 1912년 처녀 항해에서 침몰한 "가라앉지 않는" 타이타닉호에서 유래했다.
바로 다음 날인 1999년 10월 5일, AMD는 인텔의 x86 명령어 집합을 확장하여 완벽하게 하위 호환되는 64비트 모드를 포함할 계획을 발표했으며, AMD의 새로운 x86 64비트 아키텍처가 AMD의 차기 8세대 마이크로프로세서인 SledgeHammer에 통합될 것이라고 추가로 밝혔다. AMD는 또한 아키텍처 사양 및 추가 세부 정보가 2000년 8월에 공개될 것이라고 밝혔다.
AMD는 IA-64 아키텍처에 기여하는 당사자로 초대된 적이 없었고 어떤 종류의 라이센싱도 불가능해 보였기 때문에, AMD의 AMD64 아키텍처 확장은 기존 x86 아키텍처에 64비트 컴퓨팅 기능을 추가하는 진화적인 방법으로 처음부터 자리매김했으며, 레거시 32비트 x86 코드도 여전히 지원했다. 이는 IA-64로 완전히 새로운, x86과 완전히 호환되지 않는 64비트 아키텍처를 만드는 인텔의 접근 방식과는 대조적이었다.
2019년 1월, 인텔은 키트슨(Kittson)이 단종될 것이며, 마지막 주문일은 2020년 1월, 마지막 선적일은 2021년 7월이 될 것이라고 발표했다. 2023년 11월, IA-64 지원은 리눅스 커널에서 제거되었으며, 이후 트리 외부에서 유지되고 있다.
인텔은 아이테니엄의 명령어 집합을 광범위하게 문서화했으며, 기술 언론에서는 개요를 제공했다.
이 아키텍처는 역사상 여러 번 이름이 변경되었다. HP는 원래 이를 PA-WideWord라고 불렀다. 인텔은 나중에 IA-64라고 불렀고, 그 다음에는 아이테니엄 프로세서 아키텍처(IPA)라고 불렀다. 최종적으로 인텔 아이테니엄 아키텍처로 정착했지만, 여전히 IA-64로 널리 불린다.
이것은 64비트 레지스터가 풍부한 명시적 병렬 아키텍처이다. 기본 데이터 워드는 64비트이며, 바이트 주소 지정이 가능하다. 논리 주소 공간은 264바이트이다. 이 아키텍처는 술어, 추측 실행, 그리고 분기 예측을 구현한다. 매개변수 전달을 위해 가변 크기 레지스터 윈도잉을 사용한다. 동일한 메커니즘은 루프의 병렬 실행을 허용하는 데도 사용된다. 추측 실행, 예측, 술어, 그리고 이름 변경은 컴파일러의 제어 하에 있다. 각 명령어 워드에는 이를 위한 추가 비트가 포함된다. 이 접근 방식은 아키텍처의 특징적인 요소이다.
이 아키텍처는 많은 수의 레지스터를 구현한다.
128개의 일반 정수 프로세서 레지스터. 이들은 64비트이며 투기적 실행에 사용되는 트랩 비트("NaT", "nothing"의 약자)가 하나 더 있다. 이 중 32개는 정적이고, 나머지 96개는 가변 크기 레지스터 윈도를 사용하거나 파이프라인 루프를 위해 회전한다. gr0은 항상 0을 읽는다.
128개의 부동소수점 레지스터. 부동소수점 레지스터는 중간 결과의 정밀도를 유지하기 위해 82비트 길이이다. 정수 레지스터와 같은 전용 "NaT" 트랩 비트 대신, 부동소수점 레지스터는 "NaTVal"("Not a Thing Value")이라는 트랩 값을 가지며, 이는 NaN과 유사하지만 구별된다. 이 레지스터들 역시 32개의 정적 레지스터와 96개의 윈도우 또는 회전 레지스터를 가진다. fr0은 항상 +0.0을 읽고, fr1은 항상 +1.0을 읽는다.
64개의 1비트 술어 레지스터. 이들은 16개의 정적 레지스터와 48개의 윈도우 또는 회전 레지스터를 가진다. pr0은 항상 1(참)을 읽는다.
8개의 분기 레지스터는 간접 점프 주소를 위한 것이다. br0은 br.call로 함수가 호출될 때 반환 주소로 설정된다.
128개의 특수 목적(또는 "응용 프로그램") 레지스터는 주로 커널에 관심이 있으며 일반 응용 프로그램에는 해당되지 않는다. 예를 들어, bsp라는 한 레지스터는 레지스터 창이 래핑될 때 하드웨어가 자동으로 레지스터를 스필하는 두 번째 스택을 가리킨다.
각 128비트 명령어 워드를 번들(bundle)이라고 하며, 각각 41비트 명령어를 담는 세 개의 슬롯과 각 슬롯에 어떤 종류의 명령어가 들어있는지를 나타내는 5비트 템플릿으로 구성된다. 이러한 종류에는 M-유닛(메모리 명령어), I-유닛(정수 ALU, 비ALU 정수, 또는 긴 즉시 확장 명령어), F-유닛(부동소수점 명령어), 또는 B-유닛(분기 또는 긴 분기 확장 명령어)이 있다. 템플릿은 또한 스톱(stop)을 인코딩하는데, 이는 스톱 전후의 데이터 사이에 데이터 종속성이 존재함을 나타낸다. 한 쌍의 스톱 사이에 있는 모든 명령어는 번들링과 관계없이 명령어 그룹을 구성하며, 많은 유형의 데이터 종속성으로부터 자유로워야 한다. 이 지식은 프로세서가 자체적으로 복잡한 데이터 분석을 수행할 필요 없이 병렬로 명령어를 실행할 수 있도록 한다. 이러한 분석은 명령어가 작성될 때 이미 수행되었기 때문이다.
각 슬롯 내에서, 몇 가지 예외를 제외하고 모든 명령어는 술어화되며, 술어 레지스터를 지정하는데, 이 레지스터의 값(참 또는 거짓)에 따라 명령어가 실행될지 여부가 결정된다. 항상 실행되어야 하는 술어화된 명령어는 항상 참을 읽는 pr0에 술어화된다.
IA-64 어셈블리 언어와 명령어 형식은 주로 컴파일러에 의해 작성되도록 의도적으로 설계되었으며, 사람에 의해 작성되지 않는다. 명령어는 세 개의 번들로 그룹화되어야 하며, 세 개의 명령어가 허용된 템플릿과 일치해야 한다. 명령어는 특정 유형의 데이터 종속성 사이에 스톱을 발행해야 하며, 스톱은 허용된 템플릿에 따라 제한된 위치에서만 사용할 수 있다.
출처: IA-64 (CC BY-SA)
확인된 구조화 정보, 사용자 의견, AI가 찾은 관계를 구분해 표시해요.
아직 댓글이 없어요. 먼저 한마디 남겨 보세요.