저는 컴퓨터가 BIOS로 알려진 메모리의 첫 번째 섹터를로드하고 하드웨어에서 진단을 실행하고 OS를로드하는 진행 과정을 이해합니다. 내 질문에 하드웨어 쪽을 향한 것 같아. 컴퓨터는 부팅 할 메모리 (RAM, ROM, 플래시 등)를 어떻게 알 수 있습니까? 나는 메모리와 컴퓨터가 하드 드라이브에서 부팅하는 것을 이해하지만, ROM이나 플래시 메모리에서 부팅해야하는 z80 마이크로 프로세서로 8 비트 컴퓨터를 만들려고 시도합니다. 유일한 문제는 프로세서가 주소 핀이 연결된 모든 메모리에서 읽기만하며 RAM 및 ROM에 별도의 주소 핀이 없다는 것입니다. RAM에 비해 읽기/쓰기 시간이 훨씬 느려서 ROM 또는 플래시로 시스템을 실행하는 것도 비현실적입니다. 내 지식 중 z80은 rom과 ram을 읽는 명령을 별도로 가지고 있지 않으며, 전원을 켤 때 RAM이 비워지기 때문에 문제가되지 않는다. 컴퓨터가 부팅 할 때만 rom을 읽고 나서 OS가로드되면 램으로 전환하는 방법은 무엇입니까? 논리 게이트를 사용하는 것이 고정되어 있습니까? 그리고 OS가로드되면 컴퓨터가 RAM 대신에 플래시 메모리 또는 하드 드라이브에 쓰기를 선택합니까? 플래시 메모리가 장치로 취급 되나요? 아니면 논리 게이트를 사용하여 마더 보드에 하드 와이어드되어 있습니까? 너무 많은 배경을주는 것에 대해 유감스럽게 생각합니다. 나는 이미 당신이 이미 파악한 것을 설명하는 데 시간을 낭비하지 않기를 바랍니다. Ive는 방금 이것을 엄청나게 연구하고 끝나고 몇 시간 동안 생각해 보았습니다. 그리고 컴퓨터가 읽을 메모리를 선택하는 방법을 설명하는 모든 곳에서 Ive가 보지 않는 곳에서는 읽을 수 없습니다. 감사합니다컴퓨터는 어떻게 부팅됩니까?
-2
A
답변
1
나는 당신이 요구하는 것에 답하고 있다고 확신하지 않지만 그것을 시도 할 것입니다.
일부 컴퓨터 (최소한 IBM PC 호환 컴퓨터)는 전원을 켠 후 일반적으로이 BIOS (기본 입출력 시스템) 프로그램을 실행합니다. 이러한 일이 일어나기 위해서는 하드웨어가이 코드로 이동해야하며이 코드는 물리적 메모리에서 액세스 가능해야합니다 (즉, 매핑 됨). 그러면 CPU가 코드를 실행할 위치에 있어야합니다. 따라서이 코드가 하드 와이어 된 일부 읽기 전용 영역이있는 실제 주소 공간이 트릭을 수행합니다.
일단 BIOS 코드가 실행되면 다음 진행 방법을 선택할 수 있습니다. 그것은 섹터를 하드 디스크에서 메모리 (또는 플래시 드라이브의 데이터)로 복사 한 다음 그 위치로 점프 할 수 있습니다. 그것은 BIOS 작성자의 몫입니다.
대부분의 프로세서는 "재설정 주소"에서 실행을 시작합니다. 거기에 설치/매핑 된 메모리에 저장된 해당 주소의 지침은 시작할 때 실행됩니다. 일반적으로 최신 CPU에는 해당 재설정 주소에 ROM이 설치되어 있습니다. – sawdust