CPU 인출 시간 에 대해 읽었 습니다 . 여기서 CPU는 하드 디스크에 액세스하는 것과 비교하여 RAM에서 데이터에 액세스하는 데 훨씬 적은 시간이 걸리고 RAM은 프로그램 실행 정보 및 데이터를 저장하기 위해 존재합니다.
그런 다음 하드 디스크 만 사용하고 RAM은 사용하지 않을 경우 어떻게 될지 궁금했습니다.
CPU 인출 시간 에 대해 읽었 습니다 . 여기서 CPU는 하드 디스크에 액세스하는 것과 비교하여 RAM에서 데이터에 액세스하는 데 훨씬 적은 시간이 걸리고 RAM은 프로그램 실행 정보 및 데이터를 저장하기 위해 존재합니다.
그런 다음 하드 디스크 만 사용하고 RAM은 사용하지 않을 경우 어떻게 될지 궁금했습니다.
답변:
어느 시점에서 이것은 심지어 "RAM"으로 간주되는 것에 대한 질문에 도달합니다. 별도의 RAM 칩이 부착되지 않은 작은 운영 체제를 실행하기 위해 충분한 온칩 메모리가있는 많은 CPU 및 마이크로 컨트롤러가 있습니다. 실제로 이것은 임베디드 시스템 세계에서 실제로 일반적입니다. 따라서 별도의 RAM 칩이 부착되어 있지 않다고 말하는 경우, 특히 현재 세계, 특히 임베디드 세계 용으로 설계된 많은 칩으로 수행 할 수 있습니다. 나는 직장에서 직접했다. 그러나 어드레싱 가능한 온칩 메모리와 별도의 RAM 칩의 유일한 차이점은 단지 위치 (및 대기 시간) 뿐이므로 온칩 메모리 자체를 RAM으로 간주하는 것이 합리적입니다. 이것을 RAM으로 계산한다면 전류의 수는
일반 PC를 언급하는 경우 아니요, 별도의 RAM 스틱을 부착하지 않고는 실행할 수 없지만 BIOS는 RAM이 설치되지 않은 상태에서 부팅을 시도하지 않도록 설계 되었기 때문입니다. 최신 PC 운영 체제는 특히 RAM이 필요합니다. x86 시스템은 일반적으로 온칩 메모리를 직접 처리 할 수 없기 때문에 캐시로만 사용됩니다.)
마지막으로 Zeiss가 말했듯이 몇 개의 레지스터를 제외하고 RAM없이 컴퓨터를 실행할 수 없다는 이론적 인 이유는 없습니다. RAM은 온칩 메모리보다 저렴하고 디스크보다 훨씬 빠르기 때문에 존재합니다. 최신 컴퓨터에는 메모리가 크지 만 느리거나 매우 빠르지 만 작은 메모리 계층이 있습니다. 일반적인 계층 구조는 다음과 같습니다.
메모리 계층의 전체 이유는 단순히 경제적 인 것입니다. CPU 다이에 테라 바이트의 비 휘발성 레지스터를 가질 수 없었던 이론적 이유는 없습니다 (적어도 컴퓨터 과학은 아님). 문제는 구축하기가 엄청나게 어렵고 비용이 많이 든다는 것입니다. 소량의 매우 비싼 메모리에서 대량의 저렴한 메모리에 이르는 계층 구조를 갖추면 합리적인 비용으로 빠른 속도를 유지할 수 있습니다.
것이 이론적으로 실제로 콘웨이의 생명의 적당히 큰 / 빠른 구현을 구성 할 수있다 - (매우 작은 (수 레지스터 '가치) 또는 전혀 RAM으로 작동 튜링 기계의 정의를 찾기 위해 컴퓨터를 설계 할 수 시뮬레이션).
모든 실제 컴퓨터가 RAM을 사용하는 이유는 첫째 역사적입니다. 코어 메모리 (RAM의 프로토 타입, 반 휘발성)는 마그네틱 드럼이나 디스크와 같은 대용량 저장 장치보다 훨씬 앞서 있습니다 (펀치 카드와 종이 테이프 뒤에 나왔지만). 전자는 기본 형식으로 1801 년으로 거슬러 올라갑니다 (예, 19 세기 초; 자카드 직기는 천공 카드를 사용하여 수십 년 전의 임의의 복잡한 색상 패턴을 자동으로 짜서 Babbage Difference Engines 또는 Hollerith tabulators까지); RAM (코어 메모리와 같은)은 전자적이므로 저장 매체의 물리적 이동에 의존하여 데이터를 읽기 / 쓰기 메커니즘에 제공하는 모든 장치보다 훨씬 빠릅니다.
RAM없이 실행되는 최신 Windows 또는 Linux 컴퓨터 (진짜 튜링 머신과 유사)의 시스템 또는 이와 유사한 복잡성은 시작하는 데 며칠이 걸리고 최신 해상도로 그래픽 인터페이스 화면을 업데이트하는 데 몇 시간이 걸립니다. CP / M 또는 초기 버전의 DOS와 비교할 수있는 텍스트 전용 운영 체제조차도 초기 명령 프롬프트에 도달하는 데 시간 이 오래 걸립니다 .
x86 CPU가 시작될 때 L2 캐시는 처음에 캐시로 사용되기 전에 SRAM이기 때문에 가능합니다. 따라서 RAM을 초기화하지 않고 CPU 내부의 소량의 SRAM 만 L2 / L3 캐시가 아닌 RAM으로 사용하기 위해 자체 BIOS를 작성할 수 있습니다.
CPU 제조업체의 BIOS 지침을 읽으십시오.
모든 최신 표준 범용 CPU는 기본적으로 다음과 같이 작동합니다.
CPU는 해당 주소 공간에있는 모든 것을 가져오고 레지스터를 증가시킵니다.
주소 공간에서 "살아"있을 수있는 것은 무엇입니까?
"하드 디스크"는 해당 목록에 없습니다. 하드 디스크가 CPU에 직접 연결되어 있지 않습니다. 데이터는 CPU에 연결된 I / O 장치 (SATA 호스트 어댑터)를 통해 하드 디스크로 들어오고 나옵니다.
I / O 장치는 DMA를 사용하여 하드 디스크에 데이터를로드 / 저장합니다. 즉, I / O 장치는 CPU 개입없이 RAM 자체를 직접 읽고 쓸 수 있으며 RAM이 있어야합니다. 그러나 데이터가 I / O 장치에 의해 RAM에로드되지 않은 경우 CPU는이를 볼 기회가 없습니다.
따라서 하드 디스크에서 CPU 페치 명령을 직접 가져올 수 없습니다.
페이지 오류 중에 발생하는 사항은 다음과 같습니다.
따라서 메모리가 스왑 아웃되기 때문에 디스크에서 데이터를 가져와야하는 CPU는 다르지 않습니다.
개인용 컴퓨터 는 RAM이 필요 합니다. 하드 디스크에서 시작된 모든 응용 프로그램은 실행되기 전에 먼저 RAM에 복사됩니다.
따라서 컴퓨터에 RAM이 없으면 컴퓨터가 시작되지 않습니다. RAM이 설치되어 있지 않다는 것을 알리는 경고음이 여러 번 울릴 수 있습니다.
컴퓨터가 작동하지 않습니다. RAM은 마더 보드에서 성공적으로 게시하는 데 필수적인 부분입니다. RAM이 없거나 손상되지 않은 경우, 많은 마더 보드는 일반적으로 문제 해결에서 확인할 위치를 나타내는 경고음 코드를 제공합니다.
실제로 두 개 이상의 경우 기술적으로 RAM이라고하는 컴퓨터없이 컴퓨터를 실행할 수 있습니다.
최초의 오래된 기계 "컴퓨터"(Konrad Zuse의 구성과 Charles Babbage의 컴퓨터는 컴퓨터라고하는 RAM이없는 기계 장치 임)
RAM이없고 레지스터가 있는 프로세서 (칩) 만있는 최신 컴퓨터 . 대부분의 경우 프로세서에 SRAM (캐시 메모리)이 있지만 가장 빠른 컴퓨터 메모리를 칩에있는 레지스터라고하며 기술적으로 칩의 레지스터는 RAM이 아닙니다.
그냥 실행되지 않습니다. 마더 보드는 아마도 비정상적인 방식으로 경고음을 내고 종료됩니다. RAM이 충분하지 않으면 Windows XP의 경우 128MB라도 설치를 거부합니다 (실제로 오래된 컴퓨터에서 시도했지만 칩 중 하나가 올바르게 배치되지 않았습니다). 따라서 현재 설정으로는 불가능합니다. 메인 보드 검사를 비활성화 할 수 있어도 CPU는 하드 디스크에서 직접 데이터를 읽을 수 없으며 모든 작업에 RAM이 필요합니다.
이론적으로는 RAM을 거의 또는 전혀 사용하지 않는 머신을 구성하는 것이 가능하지만 비효율적이라고 생각합니다.