1. 28번 문제에서 200bit로 구성된 마이크로 명령어 종류가 256개이고, 제어 레지스터는 10bit로 구성된 나노 메모리의 총 메모리 용량(제어메모리+나노메모리)은?
>> 문제 풀이과정은 모두 이해 하였습니다. 다만, 위 질문에서 '나노 명령어'가 아닌 '마이크로 명령어'를 썼는데도 괜찮은 이유를 모르겠습니다. 같은 것으로 봐도 무관한 건가요? 만약, 같은 것이라면, 제어메모리에 저장되는 명령어의 명칭과 나노메모리에 저장되는 명칭 둘다 알려주실 수 있으신가요?
2. 30번 문제에서 마이크로프로그램의 크기가 2048 * 64비트, 마이크로 인스터럭션 수가 128일때, 제어 메모리의 용량은?
>>답은 2048 * 7 비트 이고, 왜 그렇게 답은 낸지는 알겠습니다. 다만, 왜 마이크로 프로그램의 크기중 2048만 가지고 왔는지 모르겠습니다. 2048이 제어메모리에서의 주소 갯수(2^12(주소선수)) 라고 가정한다면, 뒤 64bit는 제어메모리의 명령어 크기라 봐야 되는게 아닌가요?
3. 다음 용어의 정확한 차이와 관계를 잘 모르겠습니다.
>> 마이크로 연산, 마이크로 오퍼레이션, 마이크로 인스트럭션, 인스트럭션(명령어), 마이크로 프로그램, 프로그램
제 생각에는
마이크로 오퍼레이션 = 마이크로 연산
마이크로 인스트럭션 = 마이크로 명령어
마이크로 명령어(인스트럭션)로 구성한 것이 마이크로 프로그램
마이크로 오퍼레이션으로 구성한 것이 인스트럭션(명령어)
인스트럭션(명령어) + 데이터로 구성한 것이 프로그램
마이크로프 프로그램은 ROM에 저장되는 소규모 크기의 프로그램
프로그램은 보조기억장치에 저장되고, 주기억장치에 적재되어 실행되는 소규모 이상 크기의 프로그램
이라고 생각하는데, 맞는지 모르겠습니다. 잘 설명해 주시면 감사하겠습니다.
4. 2-180 5번에서 실제 페이지 주소의 비트는 해설을 보니 이해가 되겠는데, 가상 페이지 주소 비트는 왜 그렇게 계산하면 나오는지 모르겠습니다.
먼저 실제 페이지 주소의 비트는 >> 주기억용량 512KB 이고, 페이지 용량은 4KB이므로 다음 계산을 통해
512KB/4KB = 2^19/2^12 = 2^7(128) 을 구할 수 있습니다. 실제 페이지 주소 2^7개 전체는 7비트로 나타낼 수 있으므로, 결국 실제 페이지 주소의 비트는 7비트가 되는 것은 알겠습니다.
하지만, 32비트의 가상주소는 단순히 주소인데, 해설에서는 다음과 같이 2^32하여, 마치 하나의 주소공간으로 만들어 계산을 하고있습니다. 이 부분이 전혀.. 이해가 안됩니다. 32비트는 총 2^32개를 표현할 수 있다는 의미로 생각되는데.. 어떻게 하나의 용량처럼 되는지 모르겠습니다.
2^32 /2^12(페이지 크기) = 2^20 = 가상 페이지의 수 << 여기서 2^32의 의미를 모르겠습니다.
안녕하세요.
1)
문제에 제시된 마이크로 명령어는 나노 명령, 즉 낮은 레벨의 메모리에 저장된 마이크로 명령어라고 이해하시면 됩니다.
나노 메모리의 총 메모리 용량을 구하는 문제인데, 나노 메모리는 제어 메모리와 연계되어 사용되므로
총 메모리 용량은 제어 메모리와 나노 메모리를 더해서 산출할 수 있습니다.
이와 같이 문제의 핵심이 나노 메모리인 경우 제시된 마이크로 명령어는 나노 명령이라고 이해하시고 문제를 해결하시면 됩니다.
나노 명령이란 낮은 레벨의 메모리에 저장된 마이크로 명령으로 단순히 나노 메모리를 이용하는 마이크로 명려어라고도 제시됩니다.
2)
마이크로 프로그램의 크기가 2048 * 64비트라는 것은 앞의 2048이 크기이고 뒤의 64비트는 처리 단위라고 할 수 있습니다. 별도로 처리 단위가 표시되지 않는 경우는 1Byte를 기본값으로 하여 무시되는 경우도 있습니다. 이 문제와 같이 크기가 2048 * 64비트와 같이 뒤에 처리단위가 함께 표시되면 앞의 2048만 크기로 사용한다고 기억해 두세요.
3)
- 하나의 명령어(인스트럭션)은 여러 개의 마이크로 오퍼레이션으로 구성됩니다.
- 마이크로 오퍼레이션은 명령어를 수행하기 위해 진행되는 의미 있는 상태 변환 동작(인출, 간접, 실행, 인터럽트)이라고 생각하면 됩니다.
- 마이크로 인스트럭션은 일반적인 인스트럭션(명령어)와 달리 주 메모리에서 수행되는 마이크로 오퍼레이션이라고 이해하시면 됩니다.
- 마이크로 프로그램이란 특정 명령을 수행할 수 있도록 특수한 기억장치 속에 저장되어 있는 것을 말합니다. 명령은 마이크로 오퍼레이션으로 구성되므로 명령의 모임이나 마이크로 오퍼레이션의 모임이나 같다고 볼 수 있죠. 마이크로 프로그램의 특징은 특정 명령 수행을 위해 ROM과 같이 별도의 공간에 저장해 둔 것입니다.
4)
주기억장치의 용량 512KB는 실제 용량의 크기이므로 이는 실제 페이지 수를 계산하는 데 사용합니다.
가상 페이지는 주소를 이용해 실제 메모리에 접근하므로 주소만 사용합니다.
그러므로 32비트의 주소를 사용하는 가상 페이지는 2의 32승으로 산출하는 것입니다. 이 가상 페이지를 문제에 제시된 페이지 크기인 4K로 나누는 것이죠. 그래서 2^32 / 2^12 = 2^20이 산출되는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-08-24 10:00:06
안녕하세요.
1)
문제에 제시된 마이크로 명령어는 나노 명령, 즉 낮은 레벨의 메모리에 저장된 마이크로 명령어라고 이해하시면 됩니다.
나노 메모리의 총 메모리 용량을 구하는 문제인데, 나노 메모리는 제어 메모리와 연계되어 사용되므로
총 메모리 용량은 제어 메모리와 나노 메모리를 더해서 산출할 수 있습니다.
이와 같이 문제의 핵심이 나노 메모리인 경우 제시된 마이크로 명령어는 나노 명령이라고 이해하시고 문제를 해결하시면 됩니다.
나노 명령이란 낮은 레벨의 메모리에 저장된 마이크로 명령으로 단순히 나노 메모리를 이용하는 마이크로 명려어라고도 제시됩니다.
2)
마이크로 프로그램의 크기가 2048 * 64비트라는 것은 앞의 2048이 크기이고 뒤의 64비트는 처리 단위라고 할 수 있습니다. 별도로 처리 단위가 표시되지 않는 경우는 1Byte를 기본값으로 하여 무시되는 경우도 있습니다. 이 문제와 같이 크기가 2048 * 64비트와 같이 뒤에 처리단위가 함께 표시되면 앞의 2048만 크기로 사용한다고 기억해 두세요.
3)
- 하나의 명령어(인스트럭션)은 여러 개의 마이크로 오퍼레이션으로 구성됩니다.
- 마이크로 오퍼레이션은 명령어를 수행하기 위해 진행되는 의미 있는 상태 변환 동작(인출, 간접, 실행, 인터럽트)이라고 생각하면 됩니다.
- 마이크로 인스트럭션은 일반적인 인스트럭션(명령어)와 달리 주 메모리에서 수행되는 마이크로 오퍼레이션이라고 이해하시면 됩니다.
- 마이크로 프로그램이란 특정 명령을 수행할 수 있도록 특수한 기억장치 속에 저장되어 있는 것을 말합니다. 명령은 마이크로 오퍼레이션으로 구성되므로 명령의 모임이나 마이크로 오퍼레이션의 모임이나 같다고 볼 수 있죠. 마이크로 프로그램의 특징은 특정 명령 수행을 위해 ROM과 같이 별도의 공간에 저장해 둔 것입니다.
4)
주기억장치의 용량 512KB는 실제 용량의 크기이므로 이는 실제 페이지 수를 계산하는 데 사용합니다.
가상 페이지는 주소를 이용해 실제 메모리에 접근하므로 주소만 사용합니다.
그러므로 32비트의 주소를 사용하는 가상 페이지는 2의 32승으로 산출하는 것입니다. 이 가상 페이지를 문제에 제시된 페이지 크기인 4K로 나누는 것이죠. 그래서 2^32 / 2^12 = 2^20이 산출되는 것입니다.
오늘도 즐거운 하루 되세요.