메모리와 외부 저장소의 주요 차이점에 대한 대중적인 지식
먼저 컴퓨터의 저장장치 종류를 간략하게 소개하겠습니다. 컴퓨터 구조에서 메모리는 가장 중요한 부분 중 하나입니다. 메모리는 프로그램과 데이터를 저장하는 데 사용되는 구성 요소로, 컴퓨터에 메모리 기능을 제공하고 정상적인 작동을 보장합니다. 메모리와 외부 저장소의 주요 차이점에 대해 알아보겠습니다.
컴퓨터 메모리와 외부 저장소를 혼동하지 마세요. 는 내부 메모리의 약어입니다. 물론 내부 메모리를 메인 메모리라고 부를 수도 있습니다. 컴퓨터에서 가장 중요한 구성 요소 중 하나입니다. 메모리는 컴퓨터가 실행될 때 실행되어야 하는 프로그램과 데이터가 저장되는 곳입니다. 컴퓨터가 작동 중일 때 먼저 외부 저장소에서 처리해야 하는 데이터를 메모리로 전송한 다음 CPU가 현재 데이터 처리를 완료한 후 메모리에서 데이터를 검색하여 다시 보냅니다. 메모리에 저장한 다음 메모리에 저장합니다. 데이터는 외부 메모리에 저장됩니다.
마더보드의 메모리 슬롯에 꽂는 메모리스틱은 누구나 익숙할 터인데, 이를 RAM이라고 줄여 부르는데, CPU가 외부 메모리에 있는 데이터를 사용하려고 할 때 사용하는 말이다. , 먼저 데이터가 RAM에 저장된 다음 처리를 위해 데이터를 CPU로 전달해야 합니다.
RAM이라고 하면 RAM과 비슷한 약어로 ROM accessor란 무엇일까요? ROM은 Read-Only Memory의 약자로 읽기 전용 메모리라고 합니다. ROM에 저장된 데이터는 일반적으로 전체 기계에 설치되기 전에 미리 기록됩니다. 빠르고 편리하게 다시 쓸 수 있는 RAM과 달리 전체 기계가 작동하는 동안에만 읽을 수 있습니다. ROM에 저장된 데이터는 안정적이며 정전 후에도 변경되지 않습니다. 구조가 비교적 간단하고 읽기 쉽기 때문에 다양한 고정 프로그램 및 데이터를 저장하는 데 자주 사용됩니다. 예를 들어, BIOS라고 불리는 기본적인 입출력 시스템은 마더보드의 ROM에 내장되어 있으며, 개인용 컴퓨터가 시작될 때 가장 먼저 로드되는 소프트웨어입니다. BIOS는 컴퓨터 마더보드의 ROM 칩에 고형화된 프로그램 집합으로, 컴퓨터의 가장 중요한 기본 입출력 프로그램, 부팅 후 자체 테스트 프로그램 및 시스템 자체 시작 프로그램을 읽고 쓸 수 있습니다. CMOS에서 특정 정보를 설정합니다.
이렇게 말했지만 아직도 기억을 잘 모르시겠다구요? 비유를 들어보겠습니다. 자주 사용하는 책가방이 있고 오늘이 주말이어서 쇼핑을 갈 계획이라고 가정해 보겠습니다. 그래서 지갑, 열쇠, 휴대폰 외에 물병과 빵 간식도 책가방에 챙겨가세요. 도중에 배가 고프더라도 먹을 수 있습니다. 쇼핑을 마치고 돌아오면 저녁이 된다. 내일은 월요일이고 학교로 돌아가야 한다. 쇼핑하면서 산 물건을 모두 꺼내고 책가방에 책, 공책, 공부 도구를 모두 넣는다. 아시다시피, 기억은 자주 사용하는 책가방과 같습니다. 고정된 물건을 보관할 필요는 없습니다. 반대로, 보관하는 물건은 상황에 따라 다르며 언제든지 바뀔 수 있습니다.
그럼 이제 외부 저장소에 대해 이야기해 보겠습니다. 외장 메모리는 컴퓨터 메모리와 CPU 캐시 이외의 외장 메모리를 말하며, 하드 드라이브, 광디스크, U 디스크 등이 모두 일반적으로 사용되는 외장 메모리입니다. 일반적으로 외부 메모리의 데이터는 전원이 꺼진 후에도 계속 저장됩니다. 여기서, 개인용 컴퓨터의 "내 컴퓨터" 인터페이스에 표시되는 C 드라이브, D 드라이브, E 드라이브 등은 모두 내부 메모리가 아닌 외부 메모리라는 점을 참고하시기 바랍니다. 외부저장소에 저장되는 데이터는 D 드라이브에 저장되어 있는 영화, 음악, USB 드라이브에 저장되어 있는 학습자료 등 일시적으로 사용되지 않는 데이터 정보입니다. 외부 메모리의 용량은 메모리 용량보다 훨씬 커서 매우 큽니다.
내부 메모리는 빠르고 비싸며 용량이 적습니다. 정전이 되면 메모리에 있는 데이터가 손실됩니다. 컴퓨터 작업 과정에서 처리해야 하는 데이터와 계산 결과를 임시로 저장합니다. 방금 언급한 책가방과 마찬가지로 메모리에 있는 데이터도 언제든지 교체할 수 있습니다. 오랫동안 데이터를 저장하는 데 메모리가 사용되지 않습니다. 그리고 일부 데이터 정보를 장기간 저장하려면 외부 메모리를 사용해야 합니다. 외장 메모리는 상대적으로 가격이 저렴하고 용량이 크지만, 데이터를 읽고 쓰는 속도가 느리므로 정전 후에도 데이터가 손실되지 않으므로 저장하고 싶은 정보를 오랫동안 저장할 수 있습니다.
이제 메모리와 외부 저장소가 무엇인지 명확하게 이해하셨습니다.
메모리와 외부 저장소의 주요 차이점은 무엇입니까?
컴퓨터 메모리와 외부 저장소의 주요 차이점은 휘발성과 비휘발성, 그리고 성능과 용량의 차이입니다.
휘발성 VS 비휘발성. RAM(Random Access Memory)과 같은 메모리는 휘발성입니다. 이는 시스템의 전원이 꺼지면 데이터가 손실된다는 의미입니다. 반면, 외부 저장소는 비휘발성이므로 전원 공급이 없어도 데이터를 유지합니다.
성능과 용량. 대부분의 경우 외부 저장소는 내부 메모리보다 훨씬 느립니다. 외부 메모리와 달리 RAM은 더 넓고 빠른 버스를 통해 CPU에 직접 연결됩니다.
컴퓨터 메모리는 데이터에 대한 빠른 액세스를 제공하는 반면 외부 메모리는 더 큰 용량을 제공합니다.
다음으로 컴퓨터 시스템의 세 가지 주요 저장 유형인 주 메모리, 캐시 및 보조 메모리(보조 메모리)에 대해 자세히 살펴보겠습니다. 실제로 "보조 메모리"라고도 할 수 있습니다. 외부 메모리.
주 메모리
주 메모리는 RAM(Random Access Memory)입니다. 메모리 칩은 CPU 명령을 수신하고 처리하며 명령을 계산하고 저장하는 데 사용됩니다. 프로세서 레지스터는 각각 소량의 데이터를 보유하고 CPU와 상호 작용하여 수학 연산을 수행하고 데이터 조작 명령을 발행합니다. (읽기 전용 메모리, 즉 ROM은 BIOS 칩에 있습니다.)
메인 메모리는 CPU가 직접 접근하는 휘발성 메모리입니다. 이 정의에는 캐시 메모리가 포함되지만, 메인 메모리는 고속 버스를 통해 CPU에 연결된 DRAM 메모리 모듈을 설명하는 데 가장 일반적으로 사용되는 용어입니다. DRAM 칩은 CPU 계산에 사용되는 데이터를 저장합니다. RAM은 연결된/네트워크로 연결된 저장 매체에 일련의 명령으로 계산을 전달합니다.
주 메모리는 무정전 전원 공급 장치에 의존하는 휘발성 저장소이므로 CPU의 전원이 꺼지면 메모리와 RAM에 저장된 모든 데이터가 손실됩니다. 시작 시 시스템은 운영 체제에 액세스하고 메모리에서 응용 프로그램을 시작한 다음 주 메모리를 다시 채웁니다. DRAM은 캐시 메모리 측면에서 SRAM보다 느리지만 아키텍처와 CPU에 대한 직접 연결을 통해 보조 메모리나 스토리지보다 훨씬 빠르게 데이터를 전송할 수 있습니다.
캐시 메모리
캐시 메모리는 고속 데이터 처리에 사용되는 캐시입니다. 캐시 메모리는 메인 메모리에 있는 중복된 명령과 데이터를 식별하여 이를 메모리에 복사합니다. 동일한 명령과 데이터에 대해 더 느린 주 메모리에 반복적으로 액세스하는 대신 CPU는 더 빠른 캐시에 액세스합니다.
캐시는 CPU 메모리라고도 하며 일반적으로 고성능 SRAM 메모리 모듈에서 실행됩니다. CPU는 성능에 민감한 작업을 실행하기 위해 더 빠른 캐시 메모리에 액세스할 수 있습니다. 캐시 메모리는 일반적으로 마더보드 아래에 통합되거나 버스를 통해 CPU와 상호 연결되는 다른 칩에 통합됩니다.
캐시 메모리는 컴퓨터 작동 중에 CPU가 자주 액세스하는 명령과 데이터를 저장합니다. CPU는 이 중복 정보를 메인 메모리에서 액세스할 필요 없이 고성능 캐시에서 더 빠르게 검색할 수 있습니다.
이러한 수준의 성능을 달성하기 위해 CPU는 데이터와 명령을 처리할 때 주 메모리보다 먼저 캐시 메모리를 살펴봅니다. 캐시 메모리는 모놀리식이 아닙니다. 다중 레벨 캐시는 CPU가 높은 캐시 성능 계층 또는 낮은 캐시 성능 계층에서 중복 데이터 및 명령의 우선순위를 지정할 수 있기 때문에 훨씬 더 효율적입니다.
보조 메모리(보조 메모리)
소위 보조 메모리는 실제로 컴퓨터의 외부 메모리로, 시스템은 비휘발성 미디어에 애플리케이션과 데이터를 저장합니다. CPU는 외부 메모리의 데이터를 직접 읽고 쓸 수 없습니다. 특정 저장소 주소가 포함된 읽기/쓰기(또는 로드/저장) 명령을 RAM으로 보내고, 저장소 컨트롤러는 명령을 받아 요청을 완료합니다.
하드 디스크(HDD), 솔리드 스테이트 드라이브(SSD), 자기 테이프, 핑거 드라이브, 광 디스크 등 다양한 유형의 저장 매체가 있습니다. 테이프는 활성 아카이브 스토리지 및 고가용성 스토리지에 대한 규제 산업에서 그 가치를 유지합니다. 그러나 현재로서는 HDD와 SSD가 데이터 센터에서 가장 일반적인 스토리지 유형입니다.
메모리와 외부 저장소의 주요 차이점
메모리: 휘발성 메모리에는 RAM과 주 메모리의 캐시가 포함됩니다. 공식적으로는 메모리와 보조 기억 장치가 포함됩니다. CPU에 매우 가까운 고성능 데이터는 DRAM보다 비쌉니다. 업그레이드가 가능하며 외부 저장 매체에 비해 비용이 많이 듭니다. CPU 명령어 저장: 자주 반복되는 명령어를 사용하여 캐시하여 효율성을 향상합니다. 주로 CPU 명령어를 다른 컴퓨터 장치 및 구성 요소와 통신하는 데 사용됩니다.
외부 메모리: 비휘발성. 외부 메모리도 저장 유형이지만 비휘발성이라는 점에서 캐시 및 주 메모리와 다릅니다. 속도는 느리지만 더 낮은 비용으로 더 높은 용량을 사용할 수 있습니다. 업그레이드 가능; HDD 비용은 널리 수용 가능한 범위 내에 있는 반면 SSD 가격은 HDD와 매우 비슷하게 매년 하락하고 있습니다.
예약된 데이터를 이동하거나 삭제하기 전까지 데이터는 보관될 수 있습니다. 전원이 공급되지 않는 하드 드라이브와 테이프는 데이터를 무기한 보관합니다. 전원이 공급되지 않는 SSD는 최대 2년 동안 데이터를 보관할 수 있지만 실제로는 이 기간이 훨씬 짧습니다.
힙 내 메모리인가, 힙 외부 메모리인가?
일반적으로 Java에 할당된 비어 있지 않은 객체는 힙이라고도 알려진 Java 가상 머신의 가비지 수집기에 의해 관리됩니다. 온힙 메모리. 가상 머신은 주기적으로 가비지 메모리를 재활용하며 특정 특정 시점에 전체 수집(full gc)을 수행합니다.
전체 수집 중에 가비지 수집기는 할당된 모든 힙 메모리에 대한 전체 검색을 수행합니다. 이는 중요한 사실을 의미합니다. 이러한 가비지 수집이 Java 애플리케이션에 미치는 영향은 힙 크기에 정비례한다는 것입니다. 지나치게 큰 힙은 Java 애플리케이션의 성능에 영향을 미칩니다.
이 문제에 대한 한 가지 해결책은 오프힙 메모리를 사용하는 것입니다. 오프 힙 메모리는 메모리 개체가 Java 가상 머신의 힙 외부 메모리에 할당된다는 의미입니다. 이러한 메모리는 가상 머신이 아닌 운영 체제에 의해 직접 관리됩니다. 그 결과 가비지 수집이 애플리케이션에 미치는 영향을 줄이기 위해 더 작은 힙을 유지하게 됩니다.
그러나 Java 자체는 힙 메모리 구현을 지속적으로 개선하고 있습니다. 각각의 장점과 단점은 무엇입니까? Vanilla Java 블로거 Peter Lawrey는 new를 사용하여 객체 할당, 객체 풀(객체 풀) 및 오프 힙 메모리에 대한 자세한 분석을 수행한 기사를 작성했습니다.
new를 사용하여 객체 메모리를 할당하는 것이 가장 기본적인 방법입니다. Lawery는 다음과 같이 언급했습니다.
Java 5.0 이전에는 객체 할당 비용이 너무 높아서 모두가 메모리 풀을 사용했습니다. 그러나 5.0부터 개체 할당 및 가비지 수집이 훨씬 빨라졌습니다. R&D 개발자는 성능 향상을 발견하고 더 이상 메모리 풀을 사용하지 않고 새 개체를 직접 할당합니다. 5.0부터 스레드, 소켓, 데이터베이스 연결 등 할당 비용이 많이 드는 일부 개체만 메모리 풀을 사용할 때 성능이 크게 향상됩니다.
메모리 풀과 관련하여 Lawry는 주로 두 가지 유형의 개체에 사용된다고 믿습니다. 첫 번째 범주는 수명 주기가 짧고 구조가 간단한 개체입니다. 이러한 개체를 메모리 풀에서 재사용하면 CPU 캐시 적중률이 높아져 성능이 향상됩니다. 두 번째 상황은 다수의 중복 개체를 포함하는 대규모 데이터를 로드하는 것입니다. 이 경우 메모리 풀을 사용하면 가비지 수집 시간을 줄일 수 있습니다. Lawry는 또한 StringInterner를 예로 들어 이를 설명했습니다.
마지막으로 Lawery는 메모리 풀과 마찬가지로 가비지 수집 시간을 단축할 수 있지만 적용되는 개체는 메모리 풀과 완전히 반대입니다. 메모리 풀은 수명이 짧은 변경 가능한 객체에 적합한 경우가 많은 반면, 수명이 중간 또는 긴 객체는 오프힙 메모리가 해결해야 할 문제입니다. 오프힙 메모리는 다음과 같은 특징을 가지고 있습니다:
1. 대용량 메모리에 대한 우수한 확장성
2. 가비지 수집 일시정지 개선이 확연히 느껴집니다
3 .프로세스 간에 공유할 수 있으므로 가상 머신 간 복사가 줄어듭니다.
4. Lawery는 또한 외부 메모리에서 가장 중요한 것은 성능을 향상시킬 수 있다는 것이 아니라 확실성이라고 언급했습니다.
물론 오프힙 메모리에도 나름의 문제가 있습니다. 가장 큰 문제는 데이터 구조가 복잡해지면 직렬화해야 하고 직렬화 자체도 가능하다는 것입니다. 성능에 영향을 미칩니다. 또 다른 문제는 더 많은 메모리를 사용할 수 있기 때문에 가상 메모리(즉, 하드 디스크) 속도가 사용자에게 미치는 영향에 대해 걱정하기 시작할 수 있다는 것입니다.
Lawery는 또한 OpenHFT가 개발자가 오프힙 메모리를 사용하여 데이터를 저장하는 데 도움이 될 수 있는 Chronicle Queue, Chronicle Map 및 Thread Affinity라는 세 가지 오픈 소스 라이브러리를 제공한다고 소개했습니다. 오프 힙 메모리를 사용하면 많은 이점이 있지만 오프 힙 메모리에 관심이 있는 독자는 Lawery의 원본 기사를 읽고 자세히 알아볼 수 있습니다.
메모리와 외부 저장소의 주요 차이점에 대한 대중 과학 지식 관련 기사:
★ 운영 체제에 대한 종합적인 대중 과학 지식
★ 종합적인 대중 과학 지식 상식에 대하여
★ 항공우주 및 항공에 관한 대중과학 지식 모음
★ 대중과학 지식
★ 종합적인 대중과학 질문과 답변 소개 및 공유
★ 흥미로운 대중과학 지식 모음
★ 초등학생이 꼭 알아야 할 대중과학 지식 15가지
★ 생활 속 대중과학 지식은 무엇일까
★ 수업 중 대중과학 지식 소개 및 공유
★ 아이들은 세계의 대중과학 지식을 알아야 한다