공유 메모리란?

최신 컴퓨터에는 많은 메모리가 있습니다. 각 CPU에는 캐시가 있으며 실행 중인 각 프로그램에는 시스템 RAM의 일부가 할당됩니다. 이 메모리를 사용하고 할당할 수 있는 다양한 방법이 있습니다. 공유 메모리는 서로 다른 방식으로 CPU 캐시와 시스템 RAM 사용 모두에 영향을 미치는 개념입니다.

하드웨어의 공유 메모리

대부분의 최신 CPU에는 L1, L2 및 L3이라고 하는 세 개의 캐시 계층이 있습니다. L1은 가장 작고 가장 빠른 캐시인 반면 L3는 가장 크고 가장 느린 캐시입니다. 그러나 이들 모두는 메인 메모리에 액세스하는 것보다 빠르므로 적중률이 성능에 매우 중요합니다. 많은 요소가 L1 캐시를 L3보다 빠르게 만듭니다. 우선, L1 메모리 셀은 물리적으로 더 큽니다. 또한 그 수가 적고 CPU 코어에 훨씬 더 가까이, 종종 내부에 있습니다.

코어의 다이 영역 내에 캐시 블록을 배치하면 멀티코어 CPU에서 추가 복잡성이 발생합니다. 이 시점에서 각 코어 또는 코어 외부, 특히 코어 사이에 캐시를 두도록 선택할 수 있습니다. 각각의 장점과 단점이 있습니다.

코어에 캐시를 배치하면 액세스 대기 시간이 최소화되지만 각 코어에 캐시가 필요함을 의미하기도 합니다. 즉, 서로 다른 코어의 L1 캐시에 중복된 캐시 라인이 생겨 캐시 ​​공간 효율성이 감소할 수 있습니다. 이를 로컬 캐시라고 하며 액세스 시간에는 좋지만 캐시 공간 사용에는 덜 효율적이며 캐시 일관성 측면에서 추가 오버헤드가 필요합니다.

공유 캐시는 멀티코어 CPU의 여러 코어 또는 모든 코어에서 사용할 수 있는 캐시입니다. 공유 캐시는 여러 코어가 특정 데이터의 하나의 인스턴스에 액세스할 수 있음을 의미하며 중복으로 인해 낭비되는 공간을 제한합니다. 또한 하나의 코어는 필요한 경우 캐시 공간의 공정한 공유보다 더 많은 것을 일시적으로 요구할 수 있지만 다른 코어는 그렇지 않습니다. 액세스 시간이 증가하는 비용이 발생합니다.

실제 공유 캐시

최신 CPU는 두 가지 개념을 모두 사용하며 각 코어에는 로컬 L1 캐시가 있습니다. L3 캐시는 때때로 전부는 아니지만 많은 코어 간에 공유되는 경향이 있습니다. L2는 다양하지만 특정 CPU 생성 아키텍처에 따라 로컬이거나 공유될 수 있습니다.

팁: 하이엔드 AMD Ryzen 모델과 같은 칩렛 CPU의 경우 캐시는 전체 CPU의 모든 코어가 아닌 칩렛의 모든 코어 간에 공유될 수 있습니다. 캐시가 공유되는 코어 수는 중요하지 않습니다. 단지 2개일지라도 부분적으로만 공유된다는 점을 강조할 가치가 있지만 여전히 공유 캐시입니다.

참고: 단일 마더보드의 여러 물리적 CPU 간에 또는 다중 CPU 시스템의 노드 간에 시스템 RAM을 공유할 수도 있습니다.

소프트웨어의 공유 메모리

최신 컴퓨터에서 소프트웨어는 물리적 메모리를 직접 지정하지 않습니다. 대신 가상 주소 세그먼트가 할당되고 컴퓨터는 필요에 따라 이러한 가상 주소를 물리적 주소로 변환합니다. 이것은 보안에 도움이 되는 개별 프로세스의 메모리를 격리하는 데 도움이 됩니다.

경우에 따라 한 프로세스에서 다른 프로세스로 메모리의 데이터를 전송하는 것이 바람직할 수 있습니다. 이를 수행하는 가장 효율적인 방법은 두 프로세스가 메모리 공간을 공유하도록 허용하는 것입니다. 이러한 방식으로 두 프로세스는 동일한 데이터를 읽고 서로 통신할 수 있습니다. 이것은 또한 데이터가 중복되지 않으므로 시스템 RAM을 효율적으로 사용하는 데 도움이 됩니다.

소프트웨어 공유 메모리는 일반적으로 데이터의 물리적 복사본 하나를 유지하고 액세스가 필요한 각 프로세스에 대해 가상 메모리를 통해 액세스를 매핑함으로써 달성됩니다.

결론

공유 메모리는 여러 사물이 액세스할 수 있는 메모리의 한 섹션을 갖는 개념입니다. 이는 하드웨어와 소프트웨어 모두에서 구현될 수 있습니다. CPU 캐시는 여러 프로세서 코어 간에 공유될 수 있습니다. 이는 특히 상위 계층의 CPU 캐시에 해당됩니다. 시스템 메모리는 단일 대형 시스템의 다양한 물리적 CPU 간에 공유될 수도 있습니다.

소프트웨어에서 공유 메모리는 IPC 프로세스 간 통신을 허용할 수 있습니다. 하나의 프로세스는 하나 이상의 특정 프로세스와 공유되는 메모리를 할당합니다. 그런 다음 다른 프로세스는 가상 메모리 매핑을 통해 해당 메모리 위치에 액세스할 수 있습니다. 공유 메모리는 제한된 공간에서 데이터 중복을 방지하여 메모리 공간을 효율적으로 사용할 수 있도록 도와줍니다.



Leave a Comment

Apple Watch를 하드 리셋하는 방법

Apple Watch를 하드 리셋하는 방법

Apple Watch 하드 리셋 및 공장 초기화 방법을 단계별로 설명합니다. 소프트 리셋부터 하드 리셋까지, 모든 모델에 대한 가이드를 제공합니다.

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Galaxy Watch에서 항상 디스플레이가 작동하지 않는 문제 수정

Samsung Galaxy Watch에서 Always on Display(AOD)가 작동하지 않을 때 해결하는 방법을 알아보세요. 절전 모드 비활성화, 앱 데이터 지우기, Wearable 앱 재설치 등 7가지 효과적인 해결책을 제공합니다.

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

링크드인: 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법

LinkedIn에서 다른 사람들이 당신이 그들의 프로필을 본 것을 알지 못하게 하는 방법을 알아보세요. 비공개 모드 설정, 프로필 조회 기록 확인, 추가 필터 사용법 등을 포함한 완벽 가이드.

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

Chromebook에서 이모티콘을 얻는 방법: 알아야 할 3가지 최고의 방법

세 가지 최고의 방법으로 Chromebook에서 그림 이모티콘을 얻고 일상적인 대화를 재미있고 흥미롭게 만드는 방법을 알아보세요.

서버 팜이란 무엇입니까?

서버 팜이란 무엇입니까?

서버 팜은 데이터 센터에서 고성능 서버들이 모여 대규모 작업을 처리하는 시스템입니다. 효율적이고 경제적인 처리를 제공합니다.

컴퓨터에 물 손상이 있는지 확인하는 방법

컴퓨터에 물 손상이 있는지 확인하는 방법

물 손상은 하드웨어를 심각하게 부식시킬 수 있으며 컴퓨터 수리가 항상 가능한 것은 아닙니다. 예방은 항상 치료보다 낫습니다.

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

수정: Chromebook이 인쇄 미리보기를 로드하지 않음

크롬북에서 인쇄 미리보기를 로드할 수 없는 경우 해결 방법을 제시합니다. 각 단계별로 간단하게 따라 해보세요.

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20에서 무작위 재부팅을 중지하는 방법

Galaxy S20의 무작위 재부팅 문제를 해결하는 방법을 알아보세요. 스마트폰을 최대한 활용하세요.

Spotify 노래가 차지하는 공간 확인

Spotify 노래가 차지하는 공간 확인

Spotify Premium을 사용하면 사용자가 노래를 다운로드할 수 있으므로 네트워크에 연결되어 있지 않아도 들을 수 있습니다. 공간 최적화 방법도 알아보세요.

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

YouTube 동영상을 VLC 플레이어로 스트리밍하는 방법

VLC Media Player는 오픈 소스이며 모든 플랫폼에서 사용 가능한 무료 미디어 플레이어입니다. 지금 바로 유튜브 동영상을 VLC에서 스트리밍하는 방법을 알아보세요.