PA-8000

PA-8000
HP PA-8000

코드명 OnyxPA-8000(PCX-U)은 PA-RISC 2.0 명령 집합 아키텍처(ISA)를 구현한 HP(Hewlett-Packard)가 개발하고 제작한 마이크로프로세서다.[1]그것은 이전의 PA-RISC 마이크로프로세서에서 파생된 회로가 없는 완전히 새로운 설계였다.PA-8000은 1995년 11월 2일 정밀 RISC 기구(Precision RISC Organization, PRO) 회원들에게 선적되기 시작하면서 도입되었다.[2]PRO 회원들이 독점적으로 사용했으며, 가맹점에서는 판매되지 않았다.모든 후속 PA-8x00 프로세서(PA-8200 ~ PA-8900, 이하 설명)는 기본 PA-8000 프로세서 코어를 기반으로 한다.

PA-8000은 다음에 의해 사용되었다.

설명

PA-8000은 4방향 슈퍼칼라 마이크로프로세서로, 고장난 명령과 추측성 명령을 실행한다.[1][3]이러한 기능은 이전의 PA-RISC 구현에서는 발견되지 않았으며, PA-8000은 단순한 마이크로아키텍처와 높은 클럭 속도 구현을 사용하여 성능을 달성하던 전통을 깬 최초의 PA-RISC CPU가 되었다.[4]

명령 가져오기 장치

PA-8000은 4단계의 프런트엔드를 갖추고 있다.처음 두 단계 동안 IFU(지침 가져오기 장치)에 의해 지침 캐시에서 네 개의 지침을 가져오게 된다.[4]IFU에는 프로그램 카운터, 분기 기록 테이블(BHT), 분기 대상 주소 캐시(BTAC) 및 4-entry translation lookaside buffer(TLB)가 포함되어 있다.[1][4]TLB는 명령 캐시에 액세스하기 위해 가상 주소를 물리적 주소로 변환하는 데 사용된다.TLB가 누락된 경우, 본 TLB로부터 번역을 요청한다.[1]

분기예측

PA-8000은 정적 또는 동적 방법을 사용하여 분기 예측을 수행한다.[1]각 TLB 항목에서 Bit로 PA-8000을 선택한 방법.정적인 예측은 대부분의 뒷가지들을 취했다고 간주하고 앞가지들을 취하지 않은 것으로 간주한다.정적 예측은 또한 컴파일러에 의해 지시사항 자체에 인코딩된 힌트를 검토함으로써 가지의 결과를 예측했다.[1][4]

동적 예측은 분기의 기록된 이력을 이용하여 복용 여부를 결정한다.256 입력 BHT는 이 정보가 저장되는 곳이다.각 BHT 항목은 3비트 교대조 레지스터다.PA-8000은 다수결 알고리즘을 사용했으며, 3비트의 대다수가 설정되면 분기를 취하고, 명확하면 취하지 않았다.[1]잘못 예측된 나뭇가지가 5주기 벌칙을 일으킨다.[4]BHT는 지점의 결과가 알려지면 업데이트된다.PA-8000은 사이클당 두 개의 분기 지침을 실행할 수 있지만, BHT가 구현을 단순화하기 위해 이중 포트로 되어 있지 않기 때문에 결과 중 하나만 기록된다.[3]

PA-8000에는 정확히 예측된 분기에 대한 2주기 거품이 있는데, 이는 분기의 목표 주소가 명령 캐시로 전송되기 전에 계산되어야 하기 때문이다.[4]이 거품의 발생을 줄이기 위해 PA-8000은 32-항목 완전 연관 BTAC를 사용한다.BTAC는 지점의 대상 주소를 캐싱한다.동일한 분기가 발견되어 취합된 것으로 예측되면, 주소는 즉시 명령 캐시로 전송되어, 지체 없이 가져오기를 시작할 수 있다.[1]

BTAC의 효과를 극대화하기 위해 예측된 지점의 지점 목표만 캐시된다.분기가 수신되지 않은 것으로 예측되지만 대상 주소가 BTAC에 캐시되면 해당 항목이 삭제된다.BTAC가 꽉 차서 새 항목을 작성해야 하는 경우 라운드 로빈 교체 정책을 사용하여 교체된 항목을 선택한다.[1]

명령 캐시

명령 캐시는 외부이며 256KB~4MB의 용량을 지원한다. 명령은 각 명령어에 5비트를 추가하여 캐시에 들어가기 전에 미리 디코딩된다.이러한 비트는 파이프라인 후반부에서 명령을 디코딩하는 데 필요한 시간을 줄인다.명령 캐시는 집합 연관 캐시의 복잡성을 피하기 위해 직접 매핑되며 148비트 버스를 통해 액세스된다.캐시에 대한 태그도 외부적이다.동기식 S램(SSRAM)으로 구축했다.

디코딩 및 명령 순서 변경 버퍼

3단계에서는 지침이 디코딩된다.4단계에서는 명령 재주문 버퍼(IRB)에 배치한다.IRB의 목적은 실행 레지스터의 명칭 변경, 질서 없는 실행, 투기적 실행 및 지침이 폐기될 때까지 결과가 임시로 저장될 수 있는 장소를 제공하는 것이다.IRB는 5단계 동안 어떤 지침이 발행되는지를 결정한다.

IRB는 두 개의 버퍼로 구성되며, 하나는 정수 및 부동 소수점 명령용이고 다른 하나는 부하 및 저장 명령용이다.일부 지침은 두 버퍼에 모두 배치된다.이러한 지침은 분기 지침과 특정 시스템 지침이다.각 버퍼에는 28개의 항목이 있다.각 버퍼는 사이클당 최대 4개의 지침을 수용할 수 있으며, 사이클당 최대 2개의 명령을 기능 단위에 발행할 수 있다.

실행

모든 지침은 10개 기능 유닛의 6단계 동안 실행을 시작한다.곱셈을 제외한 정수 지시사항은 두 개의 산술 논리 단위(ALU)와 두 개의 시프트/머지 단위로 실행된다.이러한 장치에서 실행되는 모든 지침은 단일 주기 지연 시간을 가지며, 그 결과는 7단계에서 목적지 레지스터에 기록된다.

부동 소수점 명령과 정수 곱하기 명령은 두 개의 퓨전 곱하기(FMAC) 단위와 두 개의 나누기/제곱근 단위로 실행된다.FMAC 장치는 파이프라인으로 되어 있으며 3주기 지연 시간을 가진다.6단계에서 7단계, 8단계에서 반올림, 9단계에서 쓰기 등 곱셈을 수행한다.곱셈 단계와 누적 단계 사이에는 반올림이 없다.FMAC 장치는 또한 개별 곱셈과 추가 명령을 실행하는데, 이 명령 또한 단일 정밀 변종과 이중 정밀 변종에 대해 3 사이클의 지연 시간을 가진다.분할/제곱근-루트 단위는 파이프라인되지 않으며 17주기 지연 시간을 가진다.등록 포트 제한으로 인해 클록 사이클당 1개의 지침이 발급될 수 있지만, 서로와 FMAC 유닛과 병렬로 작동할 수 있다.

정수 및 부동 소수점 로드와 저장 지침은 모두 두 개의 전용 주소 추가자에 의해 실행된다.

변환 lookaside 버퍼

TLB(translation lookaside buffer)는 96개의 항목을 포함하고 있으며 이중 포트로 되어 있고 완전 연관되어 있다.그것은 사이클당 두 개의 가상 주소를 번역할 수 있다.이 TLB는 지침과 데이터 모두에 대한 주소를 변환한다.IFU의 TLB가 누락되었을 때, 이 TLB는 그것을 위한 번역을 제공한다.부하와 상점의 번역은 지시 사항의 번역보다 우선순위가 높다.각 TLB 항목은 크기가 4KB에서 16MB 사이인 페이지에 4의 힘으로 매핑될 수 있다.

데이터 캐시

PA-8000에는 최대 4MB 용량의 데이터 캐시가 있다.데이터 캐시는 이중 포트로 되어 있기 때문에 매 사이클마다 두 번의 읽기 또는 쓰기를 수행할 수 있다.2개의 캐시 뱅크를 구현하여 이중포트되므로, 2개의 읽기 또는 쓰기가 동일한 뱅크를 참조할 경우 충돌이 발생하고 1개의 작업만 수행할 수 있기 때문에 실제로 이중포팅이 되지 않는다.은행마다 하나씩, 64비트 버스 두 대가 접속한다.캐시 태그는 외부 입니다.각 은행에는 독립적인 접근을 허용하는 캐시 태그의 복사본이 두 개 있다.데이터 캐시는 명령 캐시와 동일한 이유로 직접 매핑된다.그것은 SSRAM으로 만들어졌다.

런웨이버스

외부 인터페이스는 활주로 버스, 64비트 주소 및 데이터 멀티플렉스 버스다.PA-8000은 40비트 물리적 주소를 사용하므로 1TB의 물리적 메모리를 처리할 수 있다.

물리적인

PA-8000은 380만 개의 트랜지스터를 가지고 있으며 면적 337.69mm에서2 가로 17.68mm, 세로 19.10mm이다.[5]그것은 HP에 의해 CMOS-14C 공정에서 제조되었는데, CMOS-14 공정의 10% 게이트 수축이다.[4]CMOS-14C 공정은 0.5 μm, 5-레벨 알루미늄 인터커넥트, 보완 금속-산화물-반도체(CMOS) 공정이었다.다이에는 신호용 땜납이 704개, 전력 또는 접지용 땜납이 1200개 있다.1,085패드 플립칩 알루미나 세라믹 랜드 그리드 어레이(LGA)로 포장되어 있다.[6]PA-8000은 3.3V 전원 공급 장치를 사용한다.

PA-8200

암호명 벌컨PA-8200(PCX-U+)은 PA-8000을 더욱 발전시킨 것이었다.PA-8200을 사용하는 첫 번째 시스템은 1997년 6월에 사용 가능하게 되었다.PA-8200은 200 ~ 240 MHz로 운용되었으며 주로 알파 21164와 경쟁하였다.분기 예측과 TLB가 개선되었다.[3][7]분기 예측은 주변 회로를 재설계하지 않고 맞추기 위해 2비트 알고리즘을 사용해야 하는 BHT 항목 수를 1,024개로 4배 늘리고, 두 가지 분기 결과를 BHT가 한 개 대신 기록할 수 있는 쓰기 대기열을 구현함으로써 개선되었다.TLB 출품작을 96개에서 120개로 늘려 TLB 누락 건수를 줄였다.시계 주파수도 마이너 회로 재설계를 통해 개선됐다.PA-8200의 다이(die)는 개선 사항이 다이의 빈 영역을 활용했기 때문에 PA-8000과 크기가 동일했다.그것은 CMOS-14C 공정에서 조작되었다.

PA-8500

HP PA-8500

코드명 Barracuda인 PA-8500(PCX-W)은 PA-8200을 더욱 발전시킨 제품이다.그것은 1998년 초에 녹화되었고 1998년 후반에 시스템에 도입되었다.생산 버전은 300~440MHz의 주파수에서 작동했지만, 500MHz까지 작동하도록 설계되었고, 지금까지 운영되어 왔다.[8]가장 주목할 만한 개선사항은 더 높은 작동 주파수와 기본 캐시의 통합이다.[9]노심과 동일한 다이에서 더 높은 작동 주파수와 1차 캐시의 통합은 0.25μm 공정으로의 마이그레이션에 의해 가능해졌다.새로운 공정에서 PA-8500 코어는 0.5μm PA-8200 면적의 절반 이하인2 10.8mm x 11.4mm(123.12mm)로 측정됐다.이 영역은 캐시를 통합하는 데 사용할 수 있는 영역을 만들었다.

PA-8500에는 512KB 명령 캐시와 1MB 데이터 캐시가 있다.마이크로아키텍처 개선사항으로는 PA-8200의 두 배 용량인 2,048개의 항목을 포함하는 더 큰 BHT와 160개의 항목을 포함하는 더 큰 TLB가 있다.PA-8500은 활주로 버스의 새로운 버전을 사용한다.새로운 버전은 125 MHz에서 작동하며 클럭 신호의 상승 에지와 하강 에지(double data rate, DDR)에 대한 데이터를 전송하며 240 MT/s 또는 2 GB/s의 대역폭을 산출한다.활주로 버스는 주소와 데이터를 전송하기 위해 사용되므로 가용 대역폭은 2GB/s의 80% 또는 약 1.6GB/s이다.

PA-8500은 1억 4천만 개의 트랜지스터를 포함하고 있으며 가로 21.3mm x 세로 22.0mm(468.6mm2)이다.[8]Intel Corporation이 5단계의 알루미늄 인터커넥트로 0.25 μm CMOS 공정에서 제작했다.2.0V 전원 공급 장치를 사용한다.HP는 이전의 PA-RISC 마이크로프로세서를 조작하는 데 사용된 CMOS-14C보다 새로운 프로세스를 구현하기 위해 그들의 팹을 업그레이드하지 않았기 때문에 PA-8500 자체를 조작하지 않았다.

PA-8500은 다이 상의 1차 캐시가 통합되어 외부 캐시와 관련 I/O 패드와 통신하는 128비트 버스 2대가 제거됨에 따라 소형 544패드 육상 그리드 어레이(LGA)로 포장되었다.

PA-8600

HP PA-8600

코드명 랜드샤크인 PA-8600(PCX-W+)은 2000년 1월 도입된 PA-8500을 더욱 발전시킨 것이다.PA-8600은 2000년 중반에 도입될 예정이었다.[10]그것은 480에서 550 MHz의 더 높은 클럭 주파수에 도달할 수 있도록 하기 위해 PA-8500의 트윗 버전이었다.명령 캐시에 최근 사용한 준레스트(LRU) 퇴거 정책을 활용해 마이크로아키텍처를 개선했다.그것은 인텔에 의해 조작되었다.

PA-8700

HP PA-8700 마이크로프로세서

암호명 피라냐인 PA-8700(PCX-W2)은 PA-8600의 추가 개발이다.2001년 8월에 도입되었으며, 625~750MHz로 운용되었다.개선된 점은 데이터 프리페치(prefetching)의 구현, 데이터 캐시에 대한 준-LRU 대체 정책, 16TB의 물리적 메모리를 처리하기 위한 더 큰 44비트 물리적 주소 공간이었다.[11]PA-8700은 또한 용량이 각각 50% 증가한 0.75MB와 1.5MB로 더 큰 명령과 데이터 캐시를 가지고 있다.PA-8700은 IBM Microelectronics[12] 의해 절연체(SOI) CMOS 공정에서 0.18μm의 실리콘으로 제작되었으며 구리 상호 연결과 저선량 유전자가 있다.

PA-8700+

PA-8700+는 2002년 중반 시스템에 도입된 PA-8700의 추가 개발이다.875MHz로 작동했다.[12]

PA-800

코드명 마코인 PA-8800은 PA-8700을 더욱 발전시킨 것이다.[13]2004년에 도입되었으며, HP가 C8000 워크스테이션과 HP 9000 Superdome 서버에서 사용하였다.0.8, 0.9, 1.0GHz로 이용할 수 있었다.PA-800은 하나의 다이 위에 두 개의 수정된 PA-8700+ 마이크로프로세서로 구성된 듀얼 코어 설계였다.각 코어에는 768KB 명령 캐시와 768KB 데이터 캐시가 있다.기본 캐시는 PA-8700의 캐시보다 작아서 양쪽 코어가 동일한 다이(die)에 맞도록 한다.

PA-8700에 비해 향상된 점은 분기 예측과 외부 32MB 유니파이드 2차 캐시 포함이다.보조 캐시의 대역폭은 10GB/s이고 대기 시간은 40 사이클이다.그것은 4방향 세트 연관성이 있고 물리적으로 색인화되며 128바이트의 선 크기로 물리적으로 태그가 되어 있다.I/O 핀 수를 줄이기 위해 세트 연관성을 선택했다.L2 캐시는 72 Mbit(9MB) 증강 메모리 시스템(ESRAM) 칩 4개를 사용하여 구현되며, 이름에도 불구하고 SRAM과 같은 인터페이스를 갖춘 1T-SRAM – DRAM(Dynamic Random Access Memory)을 구현한 것이다.각 코어에 의한 이 캐시에 대한 액세스는 온 다이 컨트롤러에 의해 조정되며, 1MB의 2차 캐시 태그도 온 다이(On-die)에 SRAM으로 존재하며 ECC에 의해 보호된다.PA-8800은 6.4GB/s의 대역폭을 제공하는 맥킨리 이타늄 마이크로프로세서와 동일한 전면 버스를 사용했으며, zx1과 같은 HP의 이타늄 칩셋과 호환된다.

그것은 23.6 mm x 15.5 mm (365.8 mm2)의 다이 위에 3억 개의 트랜지스터로 구성되었고, 그 중 2천 5백만 개는 논리적인 것이었다.[13]구리 인터커넥트저유전계 유전체를 이용해 0.13μm SOI 공정에서 IBM이 조작했다.PA-8800은 4개의 ESRAM과 함께 인쇄회로기판(PCB)에 탑재된 세라믹 볼 그리드 어레이로 포장되어 초기 Itanium 마이크로프로세서가 사용하는 것과 유사한 모듈을 형성하고 있다.

PA-8900

코드명이 Shortfin인 PA-8900은 PA-8800의 파생품이었다.그것은 마지막으로 개발된 PA-RISC 마이크로프로세서였으며 마이크로프로세서를 사용하는 시스템이 사용 가능하게 된 2005년 5월 31일에 도입되었다.그것은 HP 9000 서버와 C8000 워크스테이션에서 사용되었다.0.8, 0.9, 1.0, 1.1GHz로 작동했다.그것은 이전에 소문대로 PA-8800의 다이 수축이 아니다.L2 캐시는 용량이 64MB로 2배 증가했으며 대기 시간이 짧았으며 캐시에서의 오류 감지 및 보정이 개선되었다.맥킨리 시스템 버스를 사용했으며 HP zx1과 같은 Itanium 2 칩셋과 호환이 가능했다.마이크로아키텍처 변경은 없었으나, 부동 소수점 장치와 온 다이 캐시 회로는 전력 소비를 줄이기 위해 재설계되었고, 이후 각 코어는 약 35 W를 1.0 GHz로 소멸시켰다.

메모들

  1. ^ a b c d e f g h i 헌트 1995
  2. ^ "HP, PRO 파트너에게 PA-8000 릴리즈 발표"
  3. ^ a b c 스콧 1997
  4. ^ a b c d e f g 그웬나프 1994
  5. ^ 갓디스 1996, 페이지 1697
  6. ^ 쿠마르, "HP PA-8000 RISC CPU"
  7. ^ 그웬나프 1996
  8. ^ a b 반스 1999
  9. ^ 그웬나프 1997
  10. ^ Wermer, "HP의 PA-8600 프로세서가 예상보다 빨리 출하됨"
  11. ^ 크루웰 2000
  12. ^ a b 컴퓨터와이어 2002
  13. ^ a b 존슨 2001, 페이지 1

참조

  • Barnes, Phillip (26 February 1999). "A 500 MHz 64 bit RISC CPU with 1.5Mbyte on chip Cache". Proceedings of the International Solid State Circuits Conference.
  • ComputerWire(2002년 6월 28일)"HP 듀얼 코어 PA-800 읽기"레지스터.
  • Gaddis, N.; Lotz, J. (November 1996). "A 64-b quad-issue CMOS RISC microprocessor". IEEE Journal of Solid-State Circuits 31 (11): pp. 1697–1702.
  • Gwennap, Linley (14 November 1994). "PA-8000 Combines Complexity and Speed". Microprocessor Report, Volume 8, Number 15.
  • Gwennap, Linley (28 October 1996). "HP Pumps Up PA-8x00 Family". Microprocessor Report, Volume 10, Number 14.
  • Gwennap, Linley (17 November 1997). "PA-8500's 1.5M Cache Aids Performance". Microprocessor Report.
  • 휴렛패커드 컴퍼니(1995년 11월 2일).HP, PRO 파트너에게 PA-8000 릴리즈 발표 (언론 릴리즈)
  • 힐, J. Michael과 Lachman, Jonathan (2000년)"900MHz 2.25MByte 캐시(On Chip CPU 포함) - 이제 SOI/Cu 내" 2000년 국제 솔리드 스테이트 회로 컨퍼런스
  • Hunt, D. (1995). "Advanced performance features of the 64-bit PA-8000". Proceedings of CompCon. pp. 123–128.
  • Johnson, David J. C. (16 October 2001). "HP's Mako Processor". 2001 Microprocessor Forum.
  • Krewell, Kevin (22 May 2000). "HP Extends PA-RISC With 8700". Microprocessor Report.
  • 쿠마르, 아석(1996년 8월 19일)."HP PA-8000 RISC CPU".Hot Chips VIII의 진행.
  • 레사르트르, 그레그; 헌트, 더그(1997)"PA-8500:PA-8000 가족의 지속적인 진화"CompCon의 진행.
  • 파운틴, 딕(1995년 7월)"HP's Speed RISC".바이트.
  • Scott, Anne P. et al. (August 1997). "Four-Way Superscalar PA-RISC Processors". Hewlett-Packard Journal.
  • 차이, 리 C. (2001년 2월 16일)"1GHz PA-RISC 프로세서"국제 고체 회로 회의.
  • 베르메르, 산드라 (1999년 3월 8일)"HP의 PA-8600 프로세서가 예상보다 일찍 출하됨"HOISe.

추가 읽기