2010-05-30 3 views
2

어떻게 8086에서 1GB까지 메모리 공간을 늘릴 수 있습니까 ???8086에서 최대 1GB의 메모리 공간을 늘릴 수있는 방법은 무엇입니까?

+1

무엇? 메모리 공간 * at * 8086? 확실하게 16 비트 8086 프로세서가 1GB RAM에 액세스 할 수 있도록하는 것은 아닙니다. –

+0

실용적이거나 이론적 인 질문입니까? 이 용도로 사용하고있는 실제 8086이 있습니까? –

+3

16MB 하드 드라이브의 용량을 1GB로 늘리고 싶습니다. –

답변

5

분명히 선형 주소 공간을 얻지 못할 것입니다. 1GB의 공간에는 30 개의 주소 라인이 필요하며 8086에는 20 개의 물리적 주소 라인 만 있습니다. 8086이 20 개의 하위 주소 라인을 제공하는 뱅크 전환을 구현합니다. 10 개의 추가 라인은 16 비트 I/O 포트에 매핑되는 래치를 통해 제공됩니다. 해당 포트에 값을 쓰면 래치에 10 비트 뱅크 번호가 저장됩니다. 그런 다음 래치를 사용하여 상위 10 개의 주소 라인을 메모리에 공급합니다.

20 년 전 대학에서 하드웨어 프로젝트로이 작업을 수행했을 때 우리가 얻을 수 있었던 가장 큰 메모리는 2MB였습니다. 어떻게 현대의 1GB 메모리 모듈과 어떻게 인터페이스하는지 모릅니다!

+0

1 MB 메모리 뱅크를 만들 수 있고 멀티플렉서에 입력되는 추가 10 개 라인에 2 개의 래치를 만들 수 있습니까? (우리는 그런 식으로) 1024 개의 출력과 각 출력에서 ​​1 개의 뱅크를 선택할 수 있습니까? 나는 1GB를 얻는 방법을 thats라고 생각하지만, 나의 이론은 그렇게 도와 줄 수 있습니까? 내 이론은 괜찮습니까? – Vlatko

+1

왜 2 래치가 필요한지 이해하지 못합니다 (10 비트 필요량을 커버하기 위해 8 비트 비트를 2 개 필요로하지 않는다면) 1024 개의 출력 - 실제로 1024 개의 별도의 1MB 메모리 모듈이 없으면 필요하지 않습니다. . 모듈이 1 개 뿐이라면 1MB 뱅크 선택을 10 비트로 인코딩하십시오. 이렇게하면 훨씬 간단합니다. – mdma

+0

시험을 볼 때, 더 이상 말하지 않아도됩니다. 생각을해야 할 때도 있습니다. :) 그림의 모든 조각은 여기에있다, 당신은 단지 그것을 생각할 필요가있다! 행운을 빕니다! – mdma

3

최신 프로세서로 업그레이드 할 수 있습니다. 예를 들어, 어떤 프로세서라도 은 70 년대가 아닙니다!

그 질문 중의 경우이 아마 소프트웨어 문제보다 하드웨어 문제가 더된다 ...

+0

하드웨어 문제입니다. 나는 phisicly 메모리를 1GB까지 확장 할 수있는 방법을 설명해야합니다. 나는 1MB를 얻을 수있는 1MB와 멀티플렉서 10> 1024를 처리 할 수있는 은행이 필요하다고 생각한다. 내가 말할 때 좋게 들리지만, 가능하다면 알지 못한다. – Vlatko

+1

우리는 x86을 버려야한다고 말하는가? 나는 더 강하게 동의 할 수 없다! – Anonymoose

+0

예, 가능합니다. –

3

당신은 하드웨어 bank switching의 일종을 구현해야 할 것이다.

+0

+1 예, 그게 제가 "하드웨어"라고 말했던 것입니다. –

관련 문제