CXL spec이 매우 방대한 내용을 담고 있기 때문에 본 블로그에서는 CXL spec을 이해하기 위해 도움이 될 만한 것들을 골라서 간략히 정리하였습니다. 자세한 내용은 PCIe/CXL spec을 참고해주세요. 이전 글) [3] CXL - Transaction layer - CXL.cache protocol returnclass.tistory.com CXL.mem 개요 CXL.mem 프로토콜은 CPU와 메모리 간의 트랜잭셔널 인터페이스로, Compute Express Link (CXL)의 물리적 및 링크 계층을 사용하여 다이 간 통신을 합니다. 이 프로토콜은 호스트 CPU, 가속기 장치 또는 메모리 버퍼 칩 내에 위치한 메모리 컨트롤러 등 여러 메모리 연결 옵션에 사용될 수 있습니다. CXL.mem은..
CXL spec이 매우 방대한 내용을 담고 있기 때문에 본 블로그에서는 CXL spec을 이해하기 위해 도움이 될 만한 것들을 골라서 간략히 정리하였습니다. 자세한 내용은 PCIe/CXL spec을 참고해주세요. 이전 글) [2] CXL - Transaction layer - CXL.io protocol returnclass.tistory.com CXL.cache 개요 CXL.cache 프로토콜은 장치와 호스트 간의 상호작용을 정의하며, 각 요청에는 최소 하나의 응답 메시지와 때로는 데이터 전송이 포함됩니다. 이 인터페이스는 각 방향으로 세 개의 채널로 구성됩니다: Request, Response, Data. 각 채널은 방향(D2H, H2D)과 전송하는 트랜잭션(Request, Response, Dat..
CXL spec이 매우 방대한 내용을 담고 있기 때문에 본 블로그에서는 CXL spec을 이해하기 위해 도움이 될 만한 것들을 골라서 간략히 정리하였습니다. 자세한 내용은 PCIe/CXL spec을 참고해주세요. 이전 글) [1] CXL Architecture returnclass.tistory.com CXL.io 개요 CXL.io는 non-coherent load/store 인터페이스를 제공하며, I/O 장치에 사용됩니다. CXL.io transaction layer는 Flex Bus 계층 구조에서 중요한 역할을 하며, 이 계층은 transaction types, transaction packet formatting, credit-based flow control, virtual channel ma..
이전 글) [0] CXL Introduction: why CXL? returnclass.tistory.com CXL(Compute Express Link) Architecture CXL(Compute Express Link)는 고성능 I/O 버스 아키텍처로, 전통적인 non-coherent IO 장치, 메모리 장치 또는 추가 기능이 있는 accelerators와 같은 peripheral 장치를 상호 연결하는 데 사용됩니다. CXL을 통해 연결할 수 있는 장치 유형과 전체 시스템 아키텍처는 아래에서 자세히 설명합니다.CXL의 적용 예외 먼저, CXL이 적용되지 않는 경우에 대해 설명하겠습니다. 전통적인 non-coherent IO 장치는 주로 standard Producer-Consumer orderi..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다. LTSSM은 아주 방대한 내용을 담고 있습니다. 이번 글에서 모든 내용을 담기보다는 각각의 state가 가진 핵심 동작 위주로 설명할 것입니다. 자세한 내용은 PCIe Specification을 참고해주세요. 이전 글) [9] PCIe - Physical Layer (LTSSM) - 1 returnclass.tistory.com Detect State Detect state의 목표는 state의 이름과 같이 link partner를 감지하는 과정입니다. Detect.Quiet일종의 reset과 같은 동작입니다. linkup, link training bit등..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다. 이전 글) [8] PCIe - Physical Layer (PCIe Gen3 ~) returnclass.tistory.com PCIe LTSSM(Link Training and Status State Machine)은 hardware기반으로 수행되며, physical layer가 이를 제어합니다. 이 과정은 reset 후 hardware에 의해 자동으로 시작됩니다. LTSSM은 여러 상태를 통해 link를 설정하고 packet traffic이 정상적으로 진행될 수 있도록 합니다. Link Traning Link Traning은 PCIe와 같은 고속 직렬..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다 이전 글) [7] PCIe - Physical Layer (PCIe Gen1 & Gen2) - Receive Logic returnclass.tistory.com PCIe Gen3 PCIe Gen3 사양 업그레이드의 주요 동기는 대역폭을 두 배로 늘리는 것이었습니다. 주파수를 5 GT/s에서 10 Gb/s로 단순히 두 배로 늘리는 방법은 여러 문제를 야기했습니다:높은 주파수는 더 많은 전력을 소모: 더 높은 속도에서 신호 무결성을 유지하기 위한 복잡한 조건 로직(이퀄라이제이션)이 필요하며, 이는 전력 소모를 증가시킵니다. 고주파수에서 신호 열화: 일부 회로 기..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다. 이전 글) [6] PCIe - Physical Layer (PCIe Gen1 & Gen2) - Transmit Logic returnclass.tistory.com PCIe Receive Logic Details PCIe 수신 로직은 각 레인에서 직렬로 데이터를 수신한 후 이를 데이터 링크 계층으로 전달하는 과정을 포함합니다. Differential Receiver 수신 로직의 첫 번째 단계는 차동 입력 버퍼입니다. 이 버퍼는 각 레인의 피크-투-피크 전압 차이를 감지하여 해당 차이가 논리적 1 또는 0을 나타내는지 결정합니다. 차동 신호는 더 높은 주파수와 ..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다. 이전 글) [5] PCIe - Data Link Layer (DLLP & Ack/Nak protocol) returnclass.tistory.com PCIe Physical Layer PCIe(Peripheral Component Interconnect Express)의 physical layer는 데이터를 전송하고 수신하는 역할을 합니다. 각기 다른 세대의 PCIe에 따라 전송 방식이 조금씩 다르기에, 8b/10b 인코딩 방식을 사용하는 PCIe gen1,2와 gen3이상으로 나누어 설명하겠습니다. Physical Layer의 역할 Physical Laye..
이 글은 제가 PCIe를 공부하면서 겪은 시행착오를 바탕으로 정리한 글입니다. PCIe를 처음 접하는 분들에게 좋은 길라잡이가 되었으면 합니다. 이전 글) [4] PCIe - Transaction Layer (Ordering) returnclass.tistory.comData Link Layer Overview PCI Express (PCIe)의 데이터 링크 계층은 전송 데이터의 무결성을 보장하고 효율적인 데이터 흐름 제어를 제공합니다. 이 계층은 CRC와 LCRC를 활용하여 데이터 에러를 검출하고 수정하며, 크레딧 기반의 흐름 제어 시스템을 통해 네트워크 혼잡을 방지하고 데이터 전송의 효율성을 높입니다. 또한, ACK와 NACK 시그널을 사용하여 패킷의 수신 성공 여부를 송신자에게 통보하고, 필요시..