논리적 주소와 물리적 주소의 차이

Anonim

논리 주소와 실제 주소

CPU가 생성 한 주소는 논리 주소로 알려져 있습니다. 논리적 주소는 가상 주소라고도합니다. 실행중인 프로그램의 관점에서 항목은 논리 주소에서 제공하는 주소에있는 것처럼 보입니다. 물리적 주소 (실제 주소라고도 함)는 메모리 장치에서 보이는 주소이며 데이터 버스에 의해 주 메모리의 특정 메모리 셀에 액세스 할 수 있습니다.

논리적 주소 란 무엇입니까?

논리적 주소는 CPU에 의해 생성 된 주소입니다. 실행중인 프로그램의 관점에서 항목은 논리 주소에서 제공하는 주소에있는 것처럼 보입니다. 컴퓨터에서 실행중인 응용 프로그램에는 실제 주소가 표시되지 않습니다. 그들은 항상 논리 주소를 사용하여 작업합니다. 논리 주소 공간은 프로그램에 의해 생성 된 논리 주소 세트입니다. 논리적 주소는 사용되기 전에 물리적 주소에 매핑되어야하며이 매핑은 메모리 관리 장치 (MMU)라고하는 하드웨어 장치를 사용하여 처리됩니다. MMU에서 사용되는 몇 가지 매핑 체계가 있습니다. 가장 간단한 매핑 체계에서, 재배치 레지스터의 값은 메모리로 보내기 전에 응용 프로그램이 생성 한 각 논리 주소에 추가됩니다. 또한 매핑을 생성하는 데 사용되는 몇 가지 다른 복잡한 메소드가 있습니다. 어드레스 바인딩 (즉, 메모리 어드레스로 명령 및 데이터를 할당)은 3 개의 상이한 시간에 발생할 수있다. 실제 메모리 위치가 미리 알려지고 컴파일 타임에 절대 코드가 생성되는 경우 주소 바인딩이 컴파일 시간에 발생할 수 있습니다. 메모리 위치가 미리 알려지지 않은 경우로드시 주소 바인딩이 발생할 수도 있습니다. 이를 위해 컴파일시에 위치 재 지정 코드를 생성해야합니다. 또한 주소 바인딩은 실행시에 발생할 수 있습니다. 이를 위해서는 주소 매핑을위한 하드웨어 지원이 필요합니다. 컴파일 시간 및로드 시간 주소 바인딩에서 논리 및 실제 주소는 동일합니다. 그러나 실행 시간 바인딩에서는 서로 다릅니다.

실제 주소 란 무엇입니까? 물리적 어드레스 또는 실제 어드레스는 메모리 유닛에 의해 보여지는 어드레스이며, 데이터 버스가 메인 메모리 내의 특정 메모리 셀을 액세스하게한다. 프로그램을 실행할 때 CPU에 의해 생성 된 논리 주소는 MMU를 사용하여 실제 주소에 매핑됩니다. 예를 들어, 재배치 레지스터 (레지스터의 값이 y라고 가정) 값을 논리 주소에 추가하는 가장 간단한 매핑 체계를 사용하면 0에서 x까지의 논리 주소 범위가 y부터 x + 와이. 이는 해당 프로그램의 실제 주소 공간이라고도합니다.모든 논리 주소는 사용하기 전에 실제 주소에 매핑해야합니다.

논리 주소와 실제 주소의 차이점은 무엇입니까? 논리적 주소는 (실행중인 프로그램의 관점에서) CPU에 의해 생성 된 주소입니다. 반면에 물리적 주소 (또는 실제 주소)는 메모리 장치가 보는 주소이며, 데이터 버스가 특정 주소 메모리 셀. 모든 논리 주소는 MMU에서 사용하기 전에 물리적 주소에 매핑해야합니다. 컴파일 시간 및로드 시간 주소 바인딩을 사용할 때 물리적 주소와 논리 주소는 동일하지만 실행 시간 주소 바인딩을 사용할 때 달라집니다.