ETC/기타

[방통대] 컴퓨터구조 기말고사 대비 속성 요약정리

내가 그린 코딩 그림 2022. 12. 9. 22:32
반응형

한국방송통신대학교 컴퓨터과학과 컴퓨터구조 기말고사 대비 요약정리입니다. 만점을 받기위한 것이 아닌 과락을 피하자는 느낌으로 최대한 짧은 시간안에(2~3시간) 기출 단골문제를 조금이라도 파악하기 위하여 하는 정리라는 점 참고부탁드립니다.

 

중요도(기출빈도), 공부에 들어가는 시간, 그냥 맞추기는 어려운 문제 순서를 주관적으로 배치했기 때문에 순서대로 보시는걸 가장 추천드립니다.

 

1. 주소방식에 따른 유효주소, AC ★★★★

출석대체시험은 물론, 기말고사에도 자주보이는 파트입니다. 보통 나오면 연관문제로 2~3개 출제되는데 모르면 다 틀리기 쉽습니다.

 

해당 표를 보면 다 구할 수 있는데 보시다시피 주소 방식이 굉장히 많습니다. 즉치니, 직접이니, 간접이니 등등

 

일단, 먼저 외워야하는건 유효주소는 옆에 주소값이고(주소를 가리키는 주소 값 이자 껍데기 값) 그 옆에 알맹이 값이 AC내용이라는 것입니다. 위 그림으로 봤을 때 250, 251등 노란색은 유효주소들이고 그 옆에 알맹이 값들이 세트로 있다는 것을 알 수 있습니다.

 

 

 

또 추천드리는 방법은 즉치, 직접, 간접을 묶어서 기억하는 방법입니다.

 

ⓐ즉치-직접-간접은 세트다

즉치가 가장 먼저 시작되는 값이고 NBR이 있는 라인이 무조건 즉치의 라인입니다. 따라서 즉치의 유효주소는 251이며, NBR값 자체가 즉치의 알맹이값입니다 그림에서는 500입니다.

 

즉치, 직접, 간접이 세트라고 했죠? 즉치의 알맹이 값을 직접에게 넘겨줍니다.

그대로 가게되면 500이라는 껍데기값을 찾습니다 그림과 같이 500이 유효주소 알맹이 값이 800이기에 직접주소방식으로 봤을 때 유효주소는 500, AC내용은 800이 됩니다.

 

마찬가지로 직접주소는 간접주소에게 바통을 터치합니다.

직접주소의 알맹이값이 간접주소에게는 껍데기값입니다. 해당 껍데기주소(800)로 가면 알맹이 값이 300이라는 것을 확인할 수 있습니다.

 

 

ⓑ상대주소는 다음 상대

상대주소의 경우 다음 명령어라고 써져 있는 줄의 껍데기값+즉치주소의 알맹이값을 더하면됩니다(NBR이라고 써져있는 값) 그리고 그 값을 따라서 가면 상대주소의 껍데기값이며 이에 따라 알맹이값을 구할 수 있습니다.

 

저의 경우 "다음" 상대 "즉시"따라와라고 외웠습니다.

 

 

ⓒ레지스터, 인덱스

이건 연상을 하기보다 그냥 머리에 때려박아 외워야합니다.

 

그림에 R1이라는 녀석이 있습니다. 딱봐도 레지스터(R)느낌이죠?

 

이 R1 그 자체의 값은 레지스터주소의 AC내용입니다.

그 값을 주소로 삼아 찾아가면 레지스터간접의 주소값과 AC내용입니다.

인덱스의 경우 R1과 NBR값을 합쳐주면 주소값이고 해당 주소에 맞는 AC내용을 찾을 수 있습니다

 

 

ⓩ실제 문제를 풀어봅시다.

 

 

2019-2학기 기출문제 中

 

 

2018-2학기 기출문제 中

 

 

2017-2학기 기출문제 中

 

 

 

기출문제 정답

2019년도 : 2번 2번 1번

2018년도 : 2번 1번 3번

2017년도 : 4번 1번 4번

 

 

 

2. 누산기, 다중 레지스터, 스택 구조 ★★

뭉텅이로 나오는 문제는 아니지만 그냥 형태만 보면 맞출 수 있는 문제라고 생각합니다. 또한 3번 항목(오퍼랜드에 따른 명령어)과도 연관이 있어서 넣었습니다.

 

누산기를 이용하는 명령어 예시

ADD X

LOAD X

 

다중 레지스터를 이용하는 명령어 형식

ADD R1, R2, R3 (R1+R2 해서 R3로 전송해라)

ADD R1, R2

MOVE R1, R2

LOAD X, R1 (X를 R1에 적재해라)

STORE R1, X (R1을 X로 저장해라)

 

스택 구조를 이용하는 명령어

ADD

PUSH X

POP X

 

레지스터는 딱보면 아 뭔가 길구나 이런느낌이 듭니다. 하지만 누산기랑 스택구조는 헷갈릴 수 있기 때문에 외우는게 좋은데 스택구조가 더 쉽습니다. ADD, PUSH X, POP X 이런게 아닌데 뭔가 짧다? 싶으면 누산기찍으시면 됩니다.

 

해당개념이 껴있는 문제는 밑에 오퍼랜드 요약을 보시고 문제를 풀다보면 나옵니다!

 

 

 

3. 오퍼랜드에 따른 수식 계산 ★★★★

오퍼랜드=연산 수를 뜻합니다 따라서, 그냥 연산을 몇개를 한번에 하냐, 어떤 연산이냐 정도만 아셔도 문제를 풀 수 있으며, 뭉텅이 문제가 자주 등장하는 파트이기 때문에 꼭 봐야합니다.

 

아래 그림 세개를 통해 각각 어떤 차이가 있는지 정도 보시면됩니다.

 

명령어(LOAD, ADD, MUL, STORE) 등 옆에 변수같아보이는게 몇개 있는지를 보시면 알 수 있어보입니다.

 

 

이번에는 기출문제를 보면서 설명드리는게 빨라보입니다.

2019 기출문제를 함께보겠습니다.

 

어떤 수식을 계산한 것인가?

LOAD A -> A를 계산대에 올려놓습니다.

SUB B -> B를 빼줍니다.(subtract의 약자 SUB)

STORE X -> 이를 X로 SAVE 해줍니다. (A-B) = X

LOAD C -> C를 올립니다

MUL X -> X에 곱해줍니다 이전까지 X는 뭐였죠? (A-B)였습니다 여기에 C를 곱하면 (A-B) x C가 됩니다.

STORE X -> 이것을 다시 X로 저장합니다. (A-B) x C = X

 

따라서 3번 문제의 정답은 2번이 되겠습니다.

 

4번 문제는 일종의 약속같은거라서 많이보면서 외우는게 좋습니다.

5번 문제는 형태를 익히면 무조건 풀 수 있습니다!(답은 3번)

 

 

그럼 나머지 기출들도 함께 보겠습니다.

 

 

2018-2학기 기출문제 中

 

 

2017-2학기 기출문제 中

 

 

 

기출문제 정답

2018년도 : 2번 4번 1번

2017년도 : 1번 4번

 

 

 

 

4. 제어단어 + 처리장치 블록도★★★☆

왼쪽 그림(제어단어)의 AB, D, F, H가 무슨 역할을 하는지를 파악하고

오른쪽 그림(처리장치 블록도)에 대입해서 만약 시프터가 무슨 역할을하는가? 라고 물으면 알 수 있어야합니다.

그대로 대입해서 생각해보며 되기 때문에 한번 외워두면 뭉텅이 문제를 거저 가져갈 수 있습니다.

 

 

 

먼저 제어단어 관련 기출문제를 보겠습니다. 제어단어는 외워야합니다.

항상 ABDFH 순서가 똑같기 때문에

출발 관련 두개, 도착관련, 연산선택, 시프터 어쩌고 이런식으로 기억하면 됩니다.

 

2019 기출 中

 

 

2018 기출 中

 

2017 기출 中

12번은 따로 왜 이렇게 되는지를 보진 않았습니다만..그냥 기출에 이런것도 나왔다는 느낌으로 첨부했습니다!

 

 

기출문제 정답

2019년도 : 1번

2018년도 : 4번

2017년도 : 4번 2번

 

 

 

처리장치 블록도도 보겠습니다.

 

 

2018 기출을 보다보면 위 그림과 약간 다른 처리장치 블록도가 나오게되는데, 저 E부분에 해당하는 것은 임시 보관하는 녀석입니다. Flag register라고 부릅니다. D와 E가 약간 헷갈릴 수 있는데 D는 디코더로 마지막 도착 레지스터를 결정하는 녀석이며, E는 보관만 하는 역할이라고 보시면 됩니다.

2018 기출 中

15번 문제는 정말 야매로 푸는 방법이 존재합니다.

문제가 항상 이런식으로 나오기 때문에 방법만 외우면 무조건 맞출 수 있습니다.

중요한 것은 "2의 몇제곱보다 작은가" 입니다.

 

숫자가 항상 3개 주어집니다. 위 문제는 40, 20, 12이죠

40은 2의 제곱수로 치면 64보다 작습니다. 64는 2의 6제곱이죠

6을 기억해둡니다.

 

마찬가지로 20, 12는 각각 32보다, 16보다 작기 때문에 2의 5승보다 작고 2의 4승보다 작기 때문에

5와 4를 기억해둡니다.

 

그리고 가장 처음 구한 값에 x3을 해준 뒤 나머지를 더해줍니다.

6x3+5+4 = 27이라는 값을 도출할 수 있습니다.

 

 

2017 기출 中

 

 

기출문제 정답

2018년도 : 1번 3번 4번 3번

2017년도 : 1번 3번 1번

 

 

 

5. 마이크로프로그램 제어기★★★

 

이 문제의 핵심은 제어주소 레지스터, 제어기억장치, 처리장치 등이 어디있는지와 몇비트를 넘겨주는지 입니다.

 

 

 

기출문제를 보며 함께 보겠습니다.

 

 

2019 기출 中

18번의 경우 그림을 알고 있다면 쉽게 맞출 수 있는 문제입니다.

 

20번의 경우도 마찬가지 그림을 기억하면 맞출 수 있습니다.

 

하지만 19번은 방법을 알아야하는데, 가장 먼저 첫번째는

문제에서 주어지는 숫자가 몇인지에 따라서 숫자가 결정된다는 것입니다.

문제에서 6비트를 주었습니다. 이런경우 두번째로 곱해지는 숫자가 무조건 6으로 끝납니다. 위 문제는 이미 정답이 찾아진것이나 다름없지만 앞에 숫자도 구해보기 위해야 더 정확한 답입니다.

 

앞에 숫자도 쉽습니다. 2의 6제곱이 얼마인지 구하면됩니다.

따라서, 1번정답의 경우 데이터가 6비트로 주어졌을 때,

2번의 경우 데이터가 7비트로 주어졌을 때,

4번의 경우 데이터가 8비트로 주어졌을 때 정답이 되겠습니다.

 

 

이런문제도 보통 같이 묶음 문제로 주어지는데 이건 공부하질 못했습니다.

 

 

2019년도 기출문제 정답 : 1 1 3 4

 

2018 기출 中

 

2018년도 기출문제 정답 : 4 2 1 3 2

 

2017 기출 中

 

2017년도 기출문제 정답 : 1 3 3 4

 

 

 

제가 정리한 것은 여기까지입니다.

 

보통 컴퓨터구조는 35문제가 출제되기 때문에 이를 다 맞추려면 훨씬 더 광범위한 공부를 해야하지만 시간이 너무 부족한데 수료는 해야겠고 하시는 분들은 이정도 알아두시고 기출 문제 3개년치 반복해서 보신다면 기말로 인한 과락은 없으시지 않을까 싶습니다.

 

위 요약을 다 익히셨다면 가능하면 기출문제를 정답없이 풀어보는것도 좋으며, 시간이 정말 없다면 아래 기출문제와 정답이 함께있는 버전을 보면서 눈으로라도 익히시고 시험보시는걸 추천드립니다.

 

컴퓨터구조 기말고사 기출문제 문제+정답 모음(2019~2017 2학기)

반응형