PCIe3.0x4의 이론적 최대 읽기 또는 쓰기 속도는 4GB/s입니다. 프로토콜 오버헤드에 관계없이 초당 4GB/4K 4K IO를 전송할 수 있습니다. 값은 1M이며 이는 이론적 최대 IOPS가 1000K임을 의미합니다. 따라서 SSD의 기본 레이어에서 어떤 미디어가 사용되는지(플래시이든 3D xpoint이든) 인터페이스 속도는 너무 낮을 뿐이며 최대 IOPS는 이 값을 초과할 수 없습니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
PCIe 인터페이스 소개
PCIe는 현재까지 발전해 왔으며, 이전 세대보다 속도가 빨라졌습니다.
링크 너비 줄에 X1, X2, X4가 표시됩니다...이게 무슨 뜻인가요? PCIe 연결의 레인(Lane) 수를 나타냅니다. 고속도로와 마찬가지로 1차선, 2차선, 4차선이 있습니다. 하지만 8차선 이상의 고속도로는 흔하지 않지만 PCIe는 최대 32차선까지 가질 수 있습니다.
아래 그림과 같이 두 장치 간의 PCIe 연결을 링크라고 합니다.
A에서 B로 자동차는 A에서 B로 주행할 수 있습니다. 동시에 자동차를 B에서 A까지 운전하여 원하는 길로 갈 수도 있습니다. 두 개의 PCIe 장치 사이에는 전용 전송 및 수신 채널이 있으며 데이터는 동시에 양방향으로 전송될 수 있습니다. PCIe 사양에서는 이 작업 모드를 이중 심플렉스 모드라고 부르는데, 이는 전이중 모드로 이해될 수 있습니다.
SATA의 작동 모드는 무엇입니까?
PCIe와 마찬가지로 SATA에도 독립적인 송신 및 수신 채널이 있지만 PCIe 작동 모드와는 다릅니다. 동시에 하나의 채널만 데이터를 전송할 수 있습니다. 즉, 하나의 채널에서 데이터를 보냅니다. 한 레인에서는 다른 데이터를 수신할 수 없으며 그 반대의 경우도 마찬가지입니다. 이 작업 모드는 반이중 모드여야 합니다. PCIe는 휴대폰과 같아서 양쪽이 동시에 대화할 수 있는 반면, SATA는 무전기와 같아서 한 사람이 말할 때 다른 사람은 듣기만 할 수 있고 말할 수는 없습니다.
앞의 PCIe 대역폭 표로 돌아가세요. 위의 대역폭(예: PCIe3.0x1)은 2GB/s의 대역폭을 가지며 이는 양방향 대역폭, 즉 읽기 및 쓰기 대역폭을 나타냅니다. 읽기 또는 쓰기만 참조하는 경우 값을 절반으로 줄여야 합니다. 즉, 읽기 속도 또는 쓰기 속도는 1GB/s입니다.
표의 대역폭이 어떻게 계산되는지 살펴보겠습니다.
PCIe는 직렬 버스입니다. PCIe1.0의 온라인 비트 전송 속도는 2.5Gb/s입니다. 물리 계층은 8/10 인코딩을 사용합니다. 즉, 실제로 10비트가 전송되어야 합니다. 따라서:
PCIe1.0 x 1的带宽=(2.5Gb/s x 2(双向通道))/ 10bit = 0.5GB/s
이것은 단일 레인의 대역폭입니다. 레인이 여러 개인 경우 전체 대역폭에 레인 수를 곱한 값입니다.
PCIe2.0의 온라인 비트 전송 속도는 PCIe1.0을 기준으로 5Gb/s로 두 배가 되었습니다. 물리 계층도 8/10 인코딩을 사용하므로:
PCIe2.0 x 1的带宽=(5Gb/s x 2(双向通道))/ 10bit = 1GB/s
마찬가지로 레인 수, 대역폭은 1GB입니다. /s에 레인 수를 곱합니다.
PCIe3.0의 온라인 비트 전송 속도는 PCIe2.0을 기반으로 두 배로 증가하지 않았고 10Gb/s가 아니라 8Gb/s이지만 물리 계층은 데이터 전송에 128/130 인코딩을 사용하므로 다음과 같습니다.
PCIe3.0 x 1的带宽=(8Gb/s x 2(双向通道))/ 8bit = 2GB/s
마찬가지로 대역폭은 2GB/s에 레인 수를 곱한 값입니다.
128/130 인코딩을 사용하기 때문에 128비트 데이터에는 2비트의 오버헤드만 추가되고 유효 데이터 전송 비율은 증가하지만 온라인 비트 전송 속도는 두 배가 되지 않지만 유효 데이터 대역폭은 여전히 범위 내에 있습니다. PCIe2.0 기본적으로 두 배입니다.
위에서 계산된 데이터 대역폭은 8/10 또는 128/130 인코딩을 고려했다는 점을 언급할 가치가 있습니다. 따라서 대역폭을 계산할 때 온라인 인코딩을 고려할 필요가 없습니다.
SATA 단일 채널과 달리 PCIe 연결은 채널 수를 늘려 대역폭을 확장할 수 있어 유연성이 뛰어납니다. 채널 수가 많을수록 속도가 빨라집니다. 그러나 채널 수가 많을수록 비용이 높아지고 공간을 많이 차지하며 전력도 더 많이 소모합니다. 따라서 몇 개의 채널을 사용할지는 성능과 기타 요소를 종합적으로 고려해야 합니다. 성능만 고려하면 PCIe의 최대 대역폭은 64GB/s에 달하는데, PCIe 3.0 x 32에 해당하는 대역폭은 무시무시한 수치입니다. 하지만 기존 PCIe 인터페이스 SSD는 일반적으로 PCIe3.0x4 등 최대 4개 채널을 사용하며 양방향 대역폭은 8GB/s, 읽기 또는 쓰기 대역폭은 4GB/s입니다.
몇 GB/s의 전송 속도로 작은 영화를 읽고 쓰는 것은 대단한 일입니다.
여기서 PCIe3.0x4의 이론상 최대 4K IOPS를 계산해 보겠습니다. PCIe3.0x4의 이론적 최대 읽기 또는 쓰기 속도는 4GB/s입니다. 프로토콜 오버헤드에 관계없이 초당 4GB/4K 4K IO를 전송할 수 있습니다. 이 값은 1M이며 이는 이론적 최대 IOPS가 1000K임을 의미합니다. 따라서 SSD의 경우 하단에서 어떤 미디어를 사용하든 플래시든 3D xpoint든 인터페이스 속도는 너무 낮을 뿐이며 최대 IOPS는 이 값을 초과할 수 없습니다.
PCIe는 PCI에서 개발된 것입니다. PCIe의 "e"는 Express의 약자로 빠르다는 뜻입니다. PCIe가 어떻게 PCI(또는 PCI-X)보다 빠를 수 있습니까? PCIe는 물리적 전송 측면에서 근본적으로 PCI와 다릅니다. PCI는 병렬 포트를 사용하여 데이터를 전송하는 반면 PCIe는 직렬 포트 전송을 사용합니다. 내 PCI 병렬 버스는 단일 클럭 사이클에서 32비트 또는 64비트를 전송할 수 있습니다. 단일 클럭 사이클에서 1비트 데이터를 전송하는 직렬 버스와 비교할 수 없는 이유는 무엇입니까?
실제 클럭 주파수가 상대적으로 낮을 때 병렬 포트는 동시에 여러 비트를 전송할 수 있기 때문에 실제로 직렬 포트보다 빠릅니다. 기술이 발전함에 따라 데이터 전송 속도도 점점 빨라져야 하고, 클럭 주파수도 점점 빨라져야 하지만, 병렬버스의 클럭 주파수는 원하는 만큼 빨라질 수 없습니다.
송신 측에서는 특정 클럭 에지(왼쪽 시계의 첫 번째 상승 에지)에서 데이터가 전송되고, 수신 측에서는 다음 클럭 에지(왼쪽 시계의 첫 번째 상승 에지)에서 데이터가 수신됩니다. 오른쪽 시계의 두 번째 상승 에지). 따라서 수신단에서 데이터를 올바르게 수집하려면 클럭 주기가 데이터 전송 시간(송신단에서 수신단까지의 비행 시간)보다 커야 합니다. 데이터 전송 시간(데이터 라인의 길이가 길어질수록 증가함)에 의해 제한되므로 클록 주파수를 너무 높게 설정할 수 없습니다. 또한, 클록 신호가 온라인으로 전송될 때 위상 변화(클럭 스큐)도 발생하며 이는 수신 측의 데이터 수집에 영향을 미칩니다. 또한 병렬 전송의 경우 수신 측에서는 가장 느린 데이터 비트를 기다려야 합니다. 전체 데이터를 잠그기 전에 도착합니다(신호 왜곡).
PCIe는 데이터 전송을 위해 직렬 버스를 사용할 때 이러한 문제가 없습니다. 외부 클럭 신호가 없으며 클럭 정보는 8/10 인코딩 또는 128/130 인코딩을 통해 데이터 스트림에 포함되므로 데이터 전송에 의해 제한되지 않습니다. 회선의 길이나 데이터 전송 주파수의 속도는 중요하지 않습니다. 외부 클록 신호가 없으면 직렬 전송이기 때문에 당연히 클록 왜곡 문제가 발생하지 않습니다. 1비트가 전송되므로 신호 스큐 문제가 없습니다. 하지만 여러 레인을 사용하여 데이터를 전송하는 경우(직렬에는 병렬성이 있습니다. ㅎㅎ) 문제가 다시 발생합니다. 수신 측에서도 전체 데이터를 처리하기 전에 가장 느린 레인의 데이터가 도착할 때까지 기다려야 하기 때문입니다.
PCIe 버스에 대한 기본 지식
PCI 버스는 엔드투엔드 연결 방식을 사용하므로 PCIe 링크의 양쪽 끝에는 하나의 장치만 연결할 수 있습니다. 송신단과 데이터 수신단은 서로를 위한 데이터입니다. 버스 링크 외에도 PCIe 버스에는 여러 계층이 있습니다. 송신자는 데이터를 보낼 때 이러한 계층을 통과하고 수신자는 데이터를 수신할 때 이러한 계층을 사용합니다. PCIe 버스에서 사용되는 계층 구조는 네트워크 프로토콜 스택과 유사합니다.
PCIe 링크는 "end-to-end 데이터 전송 방식"을 사용합니다. 송신측과 수신측 모두 TX(송신 논리)와 RX(수신 논리)를 포함하며 그 구조는 그림과 같습니다.
위 그림과 같이 PCIe 버스의 물리적 링크의 데이터 경로(레인)에는 두 세트의 차동 신호, 총 4개의 신호 라인이 있습니다. 송신단의 TX 구성요소와 수신단의 RX 구성요소는 차동 신호 세트를 사용하여 연결됩니다. 이 링크는 송신단의 송신 링크라고도 하며 수신단의 수신 링크이기도 합니다. 송신단의 TX 구성요소와 수신단의 TX 구성요소는 또 다른 차동 신호 세트를 사용합니다. 이 링크는 송신단의 수신 링크라고도 하며 수신단의 전송 링크이기도 합니다. PCIe 링크는 여러 레인으로 구성될 수 있습니다.
고속 차동 신호의 전기 사양에서는 AC 커플링을 위해 커패시터를 송신단에 직렬로 연결해야 합니다. 이 커패시터는 AC 커플링 커패시터라고도 합니다. PCIe 링크는 데이터 전송을 위해 차동 신호를 사용합니다. 차동 신호는 D+와 D-의 두 신호로 구성됩니다. 신호 수신 측에서는 두 신호의 차이를 비교하여 송신 측에서 논리 "1"을 보내는지 아니면 논리 ""를 보내는지 결정합니다. 0" ".
단일 종단 신호와 비교하여 차동 신호는 배선 중에 "동일한 길이", "동일한 너비", "근접"이 필요하고 동일한 레이어에 있기 때문에 간섭에 더 강합니다. 따라서 외부 간섭 잡음은 두 신호 D+와 D-에 동일한 값과 동시에 로드되며 이상적인 상황에서는 차이가 0이므로 신호의 논리 값에 거의 영향을 미치지 않습니다. 따라서 차동 신호는 더 높은 버스 주파수를 사용할 수 있습니다.
또한 차동 신호를 사용하면 전자기 간섭 EMI(전자기 간섭)를 효과적으로 억제할 수 있습니다. 차동 신호 D+와 D-는 매우 가깝고 신호 진폭이 동일하며 극성이 반대이기 때문입니다. 이 두 전선과 접지선 사이에 결합된 전자기장의 진폭은 동일하고 서로 상쇄되므로 차동 신호는 외부 세계에 대한 전자기 간섭을 덜 유발합니다. 물론 차동 신호의 단점도 분명합니다. 첫째, 차동 신호는 두 개의 신호를 사용하여 1비트의 데이터를 전송합니다. 둘째, 차동 신호의 배선은 상대적으로 엄격합니다.
PCIe 링크는 여러 레인으로 구성될 수 있습니다. 현재 PCIe 링크는 1, 2, 4, 8, 12, 16 및 32 레인, 즉 ×1, ×2, ×4, ×8, ×12, ×16을 지원할 수 있습니다. 및 ×32 너비 PCIe 링크. 각 레인에 사용되는 버스 주파수는 사용되는 PCIe 버스 버전과 관련이 있습니다.
첫 번째 PCIe 버스 사양은 V1.0이고 그 뒤를 V1.0a, V1.1, V2.0 및 V2.1입니다. PCIe 버스의 최신 사양은 현재 V2.1이고, V3.0은 개발 중이며 2010년에 출시될 예정입니다. 표 41에 표시된 것처럼 다양한 PCIe 버스 사양에 따라 다양한 버스 주파수와 링크 코딩 방법이 정의됩니다.
PCIe 버스 사양과 버스 주파수 및 인코딩의 관계
PCIe 버스 사양 | 버스 주파수 [1] | 단일 레인의 최대 대역폭 | 인코딩 방법 |
---|---|---|---|
1. x | 1.25GHz | 2.5GT/s | 8/10b 인코딩 |
2.x | 2.5GHz | 5GT/s | 8/10b 인코딩 |
3.0 | 4GHz | 8GT /s | 128/130b 인코딩 |
위 표에서 볼 수 있듯이 PCIe 버스 사양에 따라 서로 다른 버스 주파수를 사용하고 서로 다른 데이터 인코딩 방법을 사용합니다. PCIe 버스 V1.x 및 V2.0 사양은 물리 계층에서 8/10b 인코딩을 사용합니다. 즉, PCIe 링크의 10비트에는 8비트의 유효한 데이터가 포함되는 반면, V3.0 사양은 128/130b 인코딩을 사용합니다. PCIe 링크의 130비트에는 128비트의 유효한 데이터가 포함됩니다.
위 표에서 볼 수 있듯이 V3.0 사양에서 사용하는 버스 주파수는 4GHz에 불과하지만 유효 대역폭은 V2.x의 두 배입니다. 다음은 V2.x 사양을 예로 들어 표 42와 같이 다양한 폭의 PCIe 링크가 제공할 수 있는 최대 대역폭을 보여줍니다.
PCIe 버스의 최대 대역폭
PCIe 버스의 데이터 비트 폭 | ×1 | ×2 | ×4 | ×8 | ×12 | ×16 | ×3 2 |
---|---|---|---|---|---|---|---|
최대 대역폭(GT/s) | 5 | 10 | 20 | 40 | 60 | 80 | 160 |
위 표에 표시됨 , ×32 PCIe 링크는 PCI/PCI-X 버스가 제공하는 최대 대역폭보다 훨씬 높은 160GT/s의 링크 대역폭을 제공합니다. 곧 출시될 PCIe V3.0 사양은 4GHz 버스 주파수를 사용하여 PCIe 링크의 피크 대역폭을 더욱 증가시킵니다.
PCIe 버스에서 GT(Gigatransfer)를 사용하여 PCIe 링크의 최대 대역폭을 계산합니다. GT는 PCIe 링크에서 전송되는 최대 대역폭이며 계산 공식은 버스 주파수 × 데이터 비트 폭 × 2입니다.
PCIe 버스에는 유효 대역폭에 영향을 미치는 요소가 많기 때문에 유효 대역폭을 계산하기가 어렵습니다. 그럼에도 불구하고 PCIe 버스가 제공하는 유효 대역폭은 여전히 PCI 버스보다 훨씬 높습니다. PCIe 버스에도 약점이 있는데, 그 중 가장 눈에 띄는 것은 전송 대기 시간입니다.
PCIe 링크는 데이터 전송을 위해 직렬 모드를 사용합니다. 그러나 칩 내부에서는 데이터 버스가 여전히 병렬이므로 PCIe 링크 인터페이스는 직렬-병렬 변환을 수행해야 합니다. 지연. 또한 PCIe 버스의 데이터 패킷은 트랜잭션 계층, 데이터 링크 계층 및 물리 계층을 통과해야 합니다. 이러한 데이터 패킷은 이러한 계층을 통과할 때 지연을 유발합니다.
PCIe 버스 기반 장치 중에서는 ×1 PCIe 링크가 가장 일반적이고, ×12 PCIe 링크는 드물며, ×4 및 ×8 PCIe 장치도 드뭅니다. Intel은 일반적으로 저속 주변 장치를 연결하기 위해 ICH에 여러 개의 ×1 PCIe 링크를 통합하고, 그래픽 카드 컨트롤러를 연결하기 위해 MCH에 ×16 PCIe 링크를 통합합니다. PowerPC 프로세서는 일반적으로 ×8, ×4, ×2 및 ×1 PCIe 링크를 지원할 수 있습니다.
PCIe 버스의 물리적 링크 간 데이터 전송은 클럭 기반 동기식 전송 메커니즘을 사용하지만 물리적 링크에는 클럭 라인이 없습니다. PCIe 버스의 수신단에는 클럭 복구 모듈 CDR(클럭 데이터 복구)이 포함되어 있습니다. CDR은 동기 데이터 전송을 수행하기 위해 메시지에서 수신 클록을 추출합니다.
PCIe 장치에서는 패킷에서 클록을 추출하는 것 외에도 REFCLK+ 및 REFCLK- 신호 쌍도 로컬 참조 클록으로 사용된다는 점에 주목할 가치가 있습니다.
더 많은 관련 지식을 보려면 FAQ를 방문하세요. 열!
위 내용은 pcie3.0x4의 최대 속도는 얼마입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!