기사 원문 -
https://www.tomshardware.com/pc-components/cpus/amd-adopts-fred-together-with-intel-for-zen-6-architecture-replacement-for-decades-old-idt-can-improve-performance-and-stability AMD는 차세대 Zen 6 칩을 위해 Zen 5의 하위 집합이 아닌, 근본적으로 CPU 아키텍처를 재설계하고 있는 것으로 보입니다. 이러한 개선 사항의 일환으로, X 사용자 InstLatX64 덕분에 AMD가 새로운 실리콘에 인텔의 FRED 명령어를 채택했으며 , 새로운 행렬 곱셈 및 비트 반전 명령어도 추가했다는 사실을 알게 되었습니다 .
FRED는 40년이 넘은 80286 시대의 인터럽트 디스크립터 테이블(IDT) 메커니즘을 완전히 대체하는 기술입니다. IDT는 현재 네트워크 패킷 전송이나 마우스 입력과 같은 시스템 이벤트를 처리하고 해당 데이터를 드라이버나 애플리케이션에 전달하는 표준 방식입니다.
AMD의 FRED 채택은 양사가 새로운 명령어 세트 개발을 위해 x86 에코시스템 자문 그룹을 결성한 결과입니다 . 작년 10월, 이 연합이 시작된 지 1년 만에 AMD는 향후 출시될 칩에 FRED를 탑재하기로 합의했습니다. 현재 양사 모두 FRED를 지원하는 양산 칩은 없지만, 인텔의 Nova 및 Panther Lake, 그리고 AMD의 Zen 6가 최초로 FRED를 지원하는 제품군이 될 것으로 예상됩니다.
AMD의 Supervisor Entry Extensions(SEE) 때문에 상호 운용성 측면에서 한동안 상황이 다소 불안정해 보였습니다. 인텔의 FRED가 IDT를 완전히 대체하는 반면, AMD의 SEE는 기존 소프트웨어에 최소한의 변경만 요구하는 실행 가능한 해결책이라고 할 수 있습니다.
리누스 토르발스는 포럼 게시글에서 자신의 의견을 명확히 밝혔는데 , 두 업체 모두 두 가지 아이디어를 모두 구현하기를 바라면서도 인텔의 접근 방식을 기존의 불필요한 요소들을 완전히 제거하는 보다 완벽한 클린룸 솔루션으로 칭찬했습니다.
소프트웨어 지원과 관련하여, 리눅스 커널은 버전 6.9부터 FRED에 대한 임시 지원을 제공해 왔습니다 . 따라서 차기 데스크톱 또는 서버용 윈도우 버전에도 이 기능이 활성화될 것으로 예상하는 것이 합리적입니다. 단, 이 기능은 운영 체제 및 드라이버와 같은 저수준 소프트웨어에서만 사용할 수 있으며, 실제 응용 프로그램에는 적용되지 않습니다.
FRED가 실제로 무엇인지에 대해서는 매우 간단하게 설명할 수 있습니다. 시스템 이벤트(예: 네트워크 패킷 수신)를 인터럽트라고 하며, 이를 처리하기 위한 데이터 및/또는 코드 전송에는 링 전환이 포함됩니다 . 이러한 시나리오는 운영 체제의 모든 부분에서, 저장 장치 I/O(쓰기 완료)부터 마우스 입력(예: 간단한 클릭)에 이르기까지 끊임없이 발생합니다.
지금까지 프로그래머들은 IDT에 의존해야 했는데, 기술적으로 정확히 표현하자면 조잡하고 어설픈 방식이었습니다. IDT는 커널 코드에서 애플리케이션 코드로의 불완전한 전환만을 가능하게 했기 때문에, 프로그래머들은 많은 다른 작업들을 수동으로 처리하고, 예외적인 상황을 고려하고, 여러 링 레벨을 염두에 두고, 잠재적인 경쟁 조건(두 시스템 이벤트가 동시에 발생하여 서로 충돌하는 상황)을 해결해야 했습니다.
FRED는 커널에서 애플리케이션으로, 그리고 다시 커널로의 전환이 매끄럽게 이루어지도록 단일 실행 명령어를 제공하여 모든 면에서 개선되었습니다. 또한 스택(이벤트 정보 및 실행을 계속할 위치에 대한 정보)의 일관성을 유지합니다. FRED의 주요 명령어는 원자적이므로 한 번에 모두 실행되거나 전혀 실행되지 않습니다. 따라서 프로그래머는 인터럽트를 처리해야 할 때 일관성 없는 상태를 걱정할 필요가 없습니다. 또한 생각해야 할 부분이 훨씬 적어지므로 정신적 부담도 크게 줄어듭니다. 기존의 링 레벨도 0(커널)과 3(사용자)으로 축소되었습니다.
요약하자면, 개발자는 FRED를 호출하기만 하면 필요한 모든 작업을 한 번에 처리할 수 있으므로 더 이상 수많은 예외 상황이나 이론적인 문제들을 직접 코딩으로 해결할 필요가 없습니다. 이를 통해 커널, 시스템 드라이버, 부트로더 및 기타 저수준 소프트웨어의 안정성이 향상될 것입니다.
적어도 이론상으로는 FRED는 CPU 사이클 소모를 줄여 이벤트 지연 시간을 단축함으로써 전반적인 시스템 성능을 향상시킬 것으로 예상됩니다. 이는 대규모 네트워크 전송 처리, 고주사율 게임 및 오디오 작업과 같은 고부하 시나리오에서 상당한 효과를 가져올 수 있으며, 각 작업 부하 유형에 따라 성능 향상 폭은 달라질 수 있습니다.
FRED는 특히 여러 계층을 거치는 이벤트 처리가 필요한 가상화 시나리오에서 성능 향상에 크게 기여할 것입니다. x86 아키텍처는 오랫동안 레거시 기능을 고수한다는 비판을 받아왔는데, FRED가 곧 출시된다는 것은 반가운 소식입니다.