저는 현재 컴퓨터가 어떻게 작동하는지, 특히 CPU, RAM, 하드 디스크 드라이브가 동시에 함께 작동하는 방식에 대해 읽고 있습니다.
내가 읽은 바에 따르면, CPU는 RAM에서 데이터를 가져오기 위해 제어 장치라는 것을 사용합니다. 그런 다음 데이터를 처리합니다.
그러나 CPU가 RAM에서 데이터를 가져오려면 RAM에 대한 액세스가 하드 드라이브에 대한 액세스보다 빠르기 때문에 데이터를 하드 드라이브에서 RAM으로 로드해야 합니다.
내 질문은: CPU가 하드 드라이브에서 직접 데이터를 가져올 수 있습니까?
하드 디스크 드라이브는 어떻게 데이터를 전송하거나 RAM에 데이터를 로드합니까? 제어 장치를 사용하여 CPU에서 RAM으로 가는 것과 마찬가지로요?
I/O 디스크에 대해 조금 읽었습니다. I/O 디스크가 이것과 관련이 있습니까?
답변1
CPU가 하드 드라이브에서 직접 데이터를 가져올 수 있습니까?
아니요. CPU(또는 더 정확하게는 CPU에서 실행되는 소프트웨어)는 하드 디스크에서(예를 들어 SATA 명령을 실행하여) RAM의 지정된 위치로 전송을 시작하고 READ DMA
나중에 전송이 완료되면 (비동기적으로) 신호를 받습니다. 완벽한.
Wikipedia에서 설명했듯이DMA,DMA(직접 메모리 액세스)는 특정 하드웨어 하위 시스템이 중앙 처리 장치(CPU)와 독립적으로 기본 시스템 메모리에 액세스할 수 있도록 하는 컴퓨터 시스템의 기능입니다.
상당한 양의 데이터를 저장하기 위해 CPU는 캐시 및 시스템 RAM과 함께 작동합니다. 하드 디스크와 같은 주변 장치에 직접 액세스하지 않습니다.
하드 디스크 드라이브는 어떻게 데이터를 전송하거나 RAM에 데이터를 로드합니까?
위에서 말했듯이 특정 섹터 또는 섹터 범위를 하드 디스크에서 RAM으로 전송하도록 하드 디스크에 요청함으로써 요즘에는 거의 항상 DMA를 사용합니다. 최신 저장 장치 사용LBA주소 지정이지만 이는 주로 구현 세부 사항입니다.
DMA를 사용하면 전송이 실행되는 동안 CPU가 다른 작업을 자유롭게 처리할 수 있어 전체 시스템 성능과 응답성이 크게 향상됩니다.
이 모든 것에서,CPU는 RAM에서 공급되는 모든 코드만 실행합니다.