책 내용 질문하기
가상 페이지 크기 문제 질문 (6번)
도서
2018 시나공 SUMMARY 정보처리기사 필기
페이지
113
조회수
656
작성일
2018-03-01
작성자
탈퇴*원
첨부파일

현재 묻고 답하기에

-----------------------------------------

첫 번째 문제 ---------------------- 6번

문. 주기억장치의 용량이 512KB인 컴퓨터에서 32비트의 가상 주소를 사용하는데, 페이지의 크기가 1K워드이고 1워드가 4바이트라면 실제 페이지 주소는 ()비트이고, 가상 페이지 주소는 ()비트이다.

풀이.

페이지 주소 크기:

기억장치 용량 / 페이지 크기 = 실제 페이지 주소 크기

(2^9 * 2^10) / (2^10 * 2^2) = 2^7

> 7 비트

가상 페이지 주소 크기:

가상장치 용량 / 페이지 크기 = 가상 페이지 주소 크기

2^32 / (2^10 * 2^5) = 2^17

> 17 비트 (교재 답: 20비트)

실제 답안에서는 가상 페이지 주소 크기가 20비트이네요. (2^32 / 2^12)

가상 페이지 주소의 경우 비트 단위이기 때문에 페이지 크기의 1워드 4바이트를 32비트(4*8)로 계산해서 풀어야 하는 게 아닌지요.

페이지 주소는 주기억장치 용량과 페이지 크기 모두 바이트 단위이므로 2^2(바이트 단위)가 맞지만, 가상 페이지 주소는 가상장치 용량이 비트 단위로 구해졌으므로 페이지 크기도 비트 단위로 구하는 것이 맞는 것으로 보여 질문 드립니다.

-----------------------------------------

라는 질문을 다른 분이 올리셨습니다. 그런데 해당 질문에 답글이

-----------------------------------------

안녕하세요.

32비트 가상 주소를 사용한다는 것을

주기억장치의 용량이 512KB라는 것처럼 표현하면

가상기억장치의 용량이 2^32승으로 2^12*2^10 = 4096KB라는 의미입니다.

그러므로

실제 페이지수를 구할 때 512KB/4KB = 2^19 / 2^12 = 2^7인 것이고

가상 페이지수를 구할 때 4096KB/4KB 대신에 2^32/2^12 = 2^20인 것입니다.

오늘도 즐거운 하루 되세요.

-----------------------------------------

라고 올라와 있었습니다.

이 답글에 보면 가상기억장치의용량이 2^32승으로 2^12*2^10 = 4096KB 가 된다고 나와 있는데

4096KB의 경우 2^12*2^10Byte 이므로 이를 bit단위로 바꾸어 주려면 *2^3을 해야 되는 것은 아닌지 궁금합니다.

그리고 또한 2^32승 이 어떻게 2^12*2^10( = 2^22) 가 되는지 잘 모르겠습니다 ㅠㅠㅠㅠ

답변 기다리겠습니다 ㅠㅠ

답변
2018-03-02 09:57:40

안녕하세요.

주소의 크기를 산출할 때 비트 단위로 산출하라는 것은 계산 방식에 의해 산출된 2의 지수승만 기술하면 됩니다.

32비트의 가상 주소를 2의 32승으로 사용하는 것처럼 2의 지수승만 기술하면 됩니다.

가상 주소가 2의 32승이고 페이지 크기가 2의 12승 이므로

가상 페이지 수는 2의 32승 / 2의 12승 = 2의 20승입니다.

2의 32승을 2의 22승 * 2의 10승으로 표현한 것은 2의 10승이 KByte를 의미하며,

2의 22승 을 2의 12승으로 잘못 설명을 드렸습니다. 학습에 불편을 드려 죄송합니다.

2의 32승은 2의 22승 * 2의 10승으로 4,194,304 KB가 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2018-03-02 09:57:40

    안녕하세요.

    주소의 크기를 산출할 때 비트 단위로 산출하라는 것은 계산 방식에 의해 산출된 2의 지수승만 기술하면 됩니다.

    32비트의 가상 주소를 2의 32승으로 사용하는 것처럼 2의 지수승만 기술하면 됩니다.

    가상 주소가 2의 32승이고 페이지 크기가 2의 12승 이므로

    가상 페이지 수는 2의 32승 / 2의 12승 = 2의 20승입니다.

    2의 32승을 2의 22승 * 2의 10승으로 표현한 것은 2의 10승이 KByte를 의미하며,

    2의 22승 을 2의 12승으로 잘못 설명을 드렸습니다. 학습에 불편을 드려 죄송합니다.

    2의 32승은 2의 22승 * 2의 10승으로 4,194,304 KB가 됩니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.