본 게시글은 AI시대의 컴퓨터 개론 - 내용 점검 문제 4장 풀이입니다. 제가 이 책을 공부하면서 풀었던 풀이의 흔적이므로 정답이 아닐 수 있습니다. 혹여나 틀린 부분이 있어 오류를 댓글로 지적해주신다면 감사하겠습니다.
객관식
1. 명령어 형식으로 옳지 않은 것은?
A. 명령어는 연산 부분과 피연산 부분으로 구성된다.
B. 명령어의 피연산자는 꼭 있어야 한다.
C. 명령어를 구성하는 피연산자 수가 많으면 적은 수의 명령어로 원하는 작업을 수행할 수 잇으나 하나의 명령어를 처리하기 위해 많은 수고와 시간이 드는 단점도 있다.
D. 피연산자는 메모리의 주소 또는 레지스터가 될 수 있다.
HLT$_{halt}$, NOP$_{no \space opperation}$ 등의 명령어는 피연산자 없이 연산 코드만으로 구성된다. 이와 같은 명령어들을 0-주소 명령어라 한다.
2. 프로그램 내장 방식의 설명으로 옳지 않은 것은?
A. 메모리에 자료뿐만 아니라 프로그램도 저장함
B. 현재의 컴퓨터가 사용하고 있는 방식
C. 스위치나 배선을 조정해 컴퓨터를 실행하는 것
D. 가장 중요한 요소는 중앙처리장치와 메모리
스위치나 배선을 조정하는 방식은 초기 컴퓨터에서 사용된 외부 프로그램 방식이다.
프로그램 내장 방식$_{stored-program}$은 폰 노이만이 제안한 구조로, 프로그램과 데이터를 모두 메모리에 저장해 실행하는 방식이다.
3. 기계어와 어셈블리 언어에 대한 설명으로 옳지 않은 것은?
A. 기계어는 컴퓨터를 작동시키기 위해 0과 1로 나타낸 컴퓨터 고유 명령 형식 언어를 말한다.
B. 어셈블리 언어는 컴퓨터 명령어인 기계어를 사람이 일상 생활에서 사용하는 자연 언어와 유사하게 만든 것을 말한다.
C. 기계어는 일반 사람이 프로그래밍하기에 불가능하다.
D. 기계어와 어셈블리어는 각각의 CPU 종류에 따라 그 내용이 모두 같아, 여러 종류의 CPU에서 실행된다.
기계어와 어셈블리어는 특정 CPU 아키텍처에 종속적이다.
4. 버스에 대한 설명으로 옳지 않은 것은?
A. 버스는 주소 버스, 자료 버스, 제어 버스가 있다.
B. 주소 버스는 전달하는 내용과는 무관하므로 외부 버스라고 한다.
C. 제어 버스는 읽기, 쓰기와 같은 명령 제어 신호를 전달하는 경로이다.
D. 자료 버스의 너비 크기가 크면 한 번에 전달하는 자료의 양이 많아진다는 의미이다.
주소 버스는 CPU가 메모리나 입출력장치로 주소를 전달하는 통로다. 메모리 주소와 같은 중요한 정보를 전달하므로 전달하는 내용과 관련이 높다.
또한 '외부 버스'라는 용어는 주소 버스와 관련이 없는 용어이다. 시스템 버스의 종류는 주소 버스$_{address \space bus}$, 데이터 버스$_{data \space bus}$, 제어 버스$_{control \space bus}$로 구성된다.
5. 전원이 꺼지면 저장 내용이 모두 사라지는 소멸성$_{volatile}$ 기억장치며, 정보의 쓰기와 읽기가 가능한 것은?
A. 플래쉬메모리
B. RAM
C. 하드디스크
D. ROM
6. ROM에 대한 설명으로 옳지 않은 것은?
A. 읽기 전용 메모리이다.
B. EPROM은 자외선 또는 X선 등을 이용해 데이터를 지우거나 입력할 수 있다.
C. 전원이 끊어져도 정보가 지워지지 않는 비소멸성 메모리다.
D. 크게 Dynamic ROM과 Static ROM으로 나눌 수 있다.
ROM은 Dynamic과 Static으로 나누지 않는다. Dynamic과 Static은 RAM의 종류이다. ROM의 종류는 PROM$_{Programmable \space ROM}$, EPROM$_{Erasable \space PROM}$, EEPROM$_{Electrically \space EPROM}$ 등이 있다.
7. 캐시 메모리에 대한 설명으로 옳지 않은 것은?
A. 캐시 메모리는 RAM과 CPU간 처리속도의 차이로 인해 발생하는 병목 현상을 해결하기 위한 수단이다.
B. 컴퓨터의 처리속도를 향상시킬 수 있다.
C. 캐시메모리는 메인메모리보다 느리다.
D. CPU와 RAM 사이의 캐시 메모리에는 CPU에 가까운 L1 Cache와 CPU에서 떨어져 있는 L2 Cache가 있다.
캐시 메모리는 CPU와 주기억장치(RAM) 사이의 속도 차이를 완화하기 위해 사용되는 고속의 버퍼 메모리다.
CPU에 가까울수록 속도가 빠른 계층 구조를 가진다. L1 캐시가 가장 빠르고 그 다음 L2, L3 순으로 속도가 느려진다.
8. 속도가 빠른 것부터 나열한 것은?
A. 보조기억장치 > 주기억장치 > 캐시메모리 > 레지스터
B. 레지스터 > 주기억장치 > 캐시메모리 > 보조기억장치
C. 주기억장치 > 캐시메모리 > 보조기억장치 > 레지스터
D. 레지스터 > 캐시메모리 > 주기억장치 > 보조기억장치
메모리 계층 구조에서 CPU에 가까울수록 속도는 빠르고 용량은 작으며, 비용은 비싸다.
9. 다음 내용이 설명하는 것은?
A. 보조기억장치
B. 연산장치
C. 레지스터
D. 제어장치
제어장치$_{Control \space Unit}$는 CPU의 구성요소 중 하나로, 명령어를 해석하고 모든 장치의 동작을 지시하고 제어하는 장치이다. 연산장치$_{ALU}$가 실제 연산을 수행한다면, 제어장치는 이러한 연산을 포함한 모든 동작이 올바른 순서와 타이밍으로 실행되도록 제어신호를 보내는 역할을 한다.
10. 중앙처리 장치의 구성요소만을 나열한 것은?
A. 연산장치, 제어장치, 레지스터
B. 레지스터, 중앙장치, 보조기억장치
C. 캐시 메모리, 레지스터, 제어장치
D. 제어장치, 연산장치, 플래쉬 메모리
CPU는 연산장치$_{ALU}$, 제어장치$_{Control \space Unit}$, 레지스터로 구성된다.
11. 기계주기에 대한 설명으로 옳지 않은 것은?
A. 기계주기는 명령어의 집합인 프로그램을 실행하기 위해 인출, 해독, 실행의 세 과정을 거치는데 이러한 과정을 의미한다.
B. 인출과정에서는 메모리에서 실행할 명령어를 명령 레지스터에 저장한다.
C. 기계주기에서는 동시에 여러 개의 명령어를 인출, 해독, 실행한다.
D. 해독과정에서는 명령 레지스터의 내용을 해독한다.
기계주기(명령어 사이클)는 기본적으로 한 번에 하나의 명령어만을 처리하며, 인출-해독-실행의 순차적인 과정을 따른다.
여러 명령어를 동시에 처리하는 것은 파이프라이닝이나 슈퍼스칼라와 같은 고급 CPU 기술에서 사용되는 방식이다.
12. 레지스터 심볼과 기능이 잘못 짝지어진 것은?
A. DR: 연산에 필요한 피연산자를 저장하는 레지스터
B. IR: 현재 수행 중인 명령어를 저장하고 있는 레지스터
C. AC: 연산장치의 입출력 데이터를 임시적으로 기억하는 레지스터
D. TR: 현재 접근할 기억장소의 주소를 기억하는 레지스터
TR$_{Temporary \space Register}$은 연산 결과를 일시적으로 저장하는 임시 레지스터이다.
13. 두 정수의 합을 위한 명령어들 중에서 메모리 X의 내용을 누산 레지스터(AC)에 저장하는 것은?
A. LDA X
B. ADD X
C. STA X
D. HLT
LDA$_{LoaD \space to \space Accumulator}$는 메모리의 내용을 누산기에 적재하는 명령어다.
ADD X는 메모리 X의 내용을 누산기의 내용과 더하는 명령어다.
STA$_{STore \space Accumulator}$는 누산기의 내용을 메모리에 저장하는 명령어다.
HLT$_{HALT}$는 프로그램의 실행을 멈추는 명령어다.
14. CPU의 처리속도에 가장 적은 영향을 미치는 요인은?
A. 레지스터의 크기
B. 버스 폭 (너비)
C. 캐시 메모리
D. 하드디스크 크기
15. 클럭에 대한 설명으로 옳지 않은 것은?
A. 시스템 클럭은 수정 진동자를 사용하는데, 전원이 공급되면 초당 수백만 회의 진동수를 일정하게 유지한다.
B. 클럭 속도가 빠를수록 컴퓨터의 처리 속도도 빨라진다.
C. 클럭 속도는 마이크로프로세서의 성능에 중요한 영향을 미친다.
D. 클럭 속도는 연산속도와 반비례한다.
클럭 속도와 연산 속도는 비례한다.
클럭 신호는 CPU의 동작 타이밍을 제어하는 기준 신호로, 클럭 주파수가 높을수록 단위 시간당 수행할 수 있는 연산의 수가 증가한다. 따라서 클럭 속도가 증가하면 연산 속도도 함께 증가한다.
16. CISC와 RISC에 대한 설명으로 옳지 않은 것은?
A. CISC는 명령어의 구조가 복잡하다.
B. RISC는 구조가 단순해 하나의 프로그램을 수행하려면 CISC보다 많은 명령어를 실행해야 한다.
C. CISC는 RISC보다 수행 속도가 빠르다고 알려져있다.
D. CISC는 복잡한 연산을 하나의 명령어로 처리하려는 의도에서 시작되었다.
RISC는 단순한 명령어 구조와 파이프라이닝을 통해 CISC보다 더 빠른 수행 속도를 보인다.
CISC$_{Complex \space Instruction \space Set \space Computing}$는 복잡한 명령어를 하나로 처리할 수 있어 명령어 수는 적지만, 명령어당 실행 시간이 길고 파이프라이닝이 어렵다는 단점이 있다.
반면 RISC$_{Reduced \space Instruction \space Set \space Computing}$는 단순한 명령어를 조합하여 복잡한 연산을 수행하므로 명령어 수는 많지만, 각 명령어의 실행 시간이 짧고 효율적인 파이프라이닝이 가능하여 전체적인 수행 속도가 더 빠르다.
17. 빈칸에 들어갈 단어로 적절한 것은?
A. 자료버스
B. 클럭
C. 주소버스
D. 레지스터
레지스터는 CPU 내부에 존재하는 고속의 임시 기억장치이다.
CPU가 명령어를 실행하는 과정에서 필요한 데이터를 일시적으로 저장하며, 프로그램 카운터(PC), 명령어 레지스터(IR), 누산기(AC) 등 여러 종류의 레지스터가 각각의 목적에 따라 사용된다.
18. 명령어와 그 의미가 바르게 짝지어진 것은?
A. LDA: 지정한 메모리의 내용과 누산 레지스터의 값을 더하는 명령
B. STA: 누산 레지스터의 값을 지정한 메모리에 저장
C. ADD: 지정한 메모리의 내용을 누산 레지스터에 저장
D. HLT: 프로그램의 시작을 알리는 명령
LDA$_{LoaD \space Accumulator}$는 지정한 메모리의 내용을 누산기에 저장하는 명령이다.
STA$_{Store \space Accumulator}$는 누산기의 값을 지정한 메모리에 저장하는 명령이다.
ADD는 지정한 메모리의 내용과 누산기의 값을 더하는 연산을 수행한다.
HLT$_{Halt}$는 프로그램의 실행을 중단하는 명령이다.
따라서 B의 STA 명령어만이 올바른 설명과 짝지어져 있다.
19. 연산장치에 대한 설명으로 옳은 것은?
A. 연산장치는 NOT, AND, OR, XOR 등의 논리 연산만을 수행하는 회로이다.
B. 연산장치에서 이용하는 피연산자는 단 하나이다.
C. 레지스터 피연산자의 연산을 연산장치가 제어장치의 신호를 받아 실행한다.
D. 연산장치의 결과는 누산 레지스터에 저장되어 필요하면 주기억장치에 저장은 되나, 다른 연산에 이용할 수는 없다.
연산장치는 논리 연산뿐만 아니라 덧셈, 뺄셈 등의 산술 연산도 수행하며, 일반적으로 두 개의 피연산자를 사용한다. 연산 결과는 누산 레지스터에 저장되고 이 값은 다음 연산의 피연산자로도 활용될 수 있다.
20. 명렁어에 대한 설명으로 옳은 것은?
A. 명령어는 연산부분과 제어부분으로 나뉜다.
B. 연산부분은 명령어가 수행해야 할 기능을 의미하는 코드다.
C. 연산부분은 명령어에서 가장 오른쪽 부분에 기술한다.
D. 한 문장에 연산부분이 두 개인 경우 연산을 좀 더 효율적으로 할 수 있다.
명령어는 연산 코드$_{operation \space code}$와 주소 부분$_{address \space part}$으로 구성된다.
연산 코드는 명령어가 수행할 동작을 지정하는 부분으로, 일반적으로 명령어의 왼쪽에 위치한다.
주소 부분은 연산에 필요한 데이터가 저장된 메모리 주소나 레지스터를 지정한다. 하나의 명령어에는 하나의 연산 코드만 존재하며, 여러 개의 연산 코드를 포함할 수 없다.
괄호 채우기
1. 명령어는 ___와 ___로 구성된다.
연산코드$_{operation \space code}$와 주소 부분$_{address part}$
명령어는 '어떤 동작을 할 것인가'를 나타내는 연산코드 부분과 '어떤 데이터를 대상으로 할 것인가'를 나타내는 주소 부분으로 구성된다.
연산코드는 OP코드라고도 하며, 주소 부분은 생략될 수 있다.
2. 0과 1로 나타낸 컴퓨터 고유 명령 형식 언어를 ___라고 한다.
기계어$_{machine \space language}$
기계어는 컴퓨터가 직접 이해하고 실행할 수 있는 0과 1로 이루어진 이진코드이다.
사람이 이해하기는 어렵지만 컴퓨터가 직접 실행할 수 있는 유일한 언어이며, 모든 고급언어는 결국 기계어로 변환되어 실행된다.
3. 메모리 저장소는 ___를 이용해 각각 바이트 단위로 고유하게 식별할 수 있다.
주소$_{address}$
4. ___는 2010년부터 빠르게 확산되고 있는 차세대 대용량 저장장치이며, 가격이 계속 하락하면서 많은 컴퓨터에 내장되어 있다. 플래시 메모리와 이를 제어하는 컨트롤러로 구성된 대용량 저장장치이므로, 기존 저장장치인 HDD와 비교해 읽고 쓰는 속도가 빠르며, 전력 사용량이 적고 충격에 강하며 발열과 소음도 적은 장점이 있다.
SSD$_{Solid \space State \space Drive}$
SSD는 기계적 부품 없이 반도체로만 구성된 저장장치이다. HDD가 회전하는 디스크에 데이터를 저장하는 것과 달리, SSD는 플래시 메모리를 사용하여 더 빠른 속도와 안정성을 제공한다.
5. 기억장치에 저장된 자료는 시간적으로나 공간적으로 곧 다시 사용할 가능성이 높다는 원리를 자료의 ___라 한다.
지역성$_{locality}$
지역성의 원리는 크게 시간적 지역성과 공간적 지역성으로 나뉜다.
시간적 지역성은 한번 참조된 데이터가 가까운 미래에 다시 참조될 가능성이 높다는 것이고, 공간적 지역성은 참조된 데이터 주변의 데이터가 참조될 가능성이 높다는 것이다.
6. ___는 주로 CPU와 주기억장치의 속도 차이를 해결한다.
캐시 메모리$_{Cache \space Memory}$
캐시 메모리는 CPU와 주기억장치$_{RAM}$ 사이에 위치한 고속의 버퍼 메모리이다.
CPU가 자주 사용하는 데이터를 저장해두어 CPU와 주기억장치 간의 속도 차이(병목 현상)를 줄이는 역할을 한다. 용량은 작지만 속도가 매우 빠른 특징이 있다.
7. 제어장치는 ___와 ___로 구성되어있다.
여러 개의 해독기$_{decoder}$, 제어기
8. 중앙처리장치가 명령어를 실행하기 위해 ___, ___, ___의 과정을 반복한다.
인출$_{fetch}$, 해석$_{decode}$, 실행$_{execute}$
CPU의 명령어 실행 주기는 인출-해석-실행의 3단계로 구성된다.
9. ___는 수정 진동자의 진동을 일정하게 유지시켜줌으로써 컴퓨터의 연산 처리 시간을 조절하는 것이다.
클럭$_{clock}$
10. ___는 1965년도에 한 연설에서 ‘마이크로 칩의 처리 능력은 18개월마다 두 배로 증대된다.’라고 한 내용에서 유래된 법칙이다.
무어의 법칙$_{moore’s \space law}$
주관식
1. 프로그램 내장 방식에서 메모리에 저장되는 것은 무엇인가?
`프로그램과 데이터`
2. RAM과 ROM의 차이를 설명하시오.
`RAM: 읽기/쓰기가 모두 가능한 휘발성 메모리로, 전원이 꺼지면 내용이 지워짐`
`ROM: 읽기만 가능한 비휘발성 메모리로, 전원이 꺼져도 내용이 유지됨`
RAM은 프로그램 실행과 데이터 처리를 위한 주기억장치로 사용되고, ROM은 BIOS와 같은 기본적인 시스템 프로그램을 저장하는 용도로 사용된다.
3. 우리가 사용하는 개인용 컴퓨터에 있는 ROM은 어디에 이용되는가?
`BIOS$_{Basic \space Input \space Output \space System}$ 또는 UEFI$_{Unified \space Extensible \space Firmware \space Interface}$를 저장하는데 사용되고 부팅 시 하드웨어 초기화와 운영체제 로딩을 담당`
ROM에 저장된 BIOS/UEFI는 컴퓨터 전원이 켜질 때 가장 먼저 실행되어 하드웨어를 검사하고 초기화하며, 부트로더를 통해 운영체제를 로딩하는 역할을 수행한다.
4. 중앙처리장치를 구성하는 중요 요소 3가지를 기술하시오.
`제어장치(CU), 연산장치(ALU), 레지스터(Register)`
제어장치는 명령어 해석과 실행 제어를, 연산장치는 산술/논리 연산을, 레지스터는 데이터와 명령어의 임시 저장을 담당한다. 이 세 요소는 상호 연계해 CPU의 핵심 기능을 수행한다.
5. 캐시 메모리가 필요한 이유와 종류를 설명하시오.
`이유: CPU와 주기억장치(RAM) 사이에 속도 차이를 줄이기 위한 고속 버퍼 메모리`
`종류: L1(1차), L2(2차), L3(3차) 캐시`
CPU는 RAM보다 훨씬 빠른 속도로 동작하므로 중간에 고속의 캐시 메모리를 두어 자주 사용하는 데이터와 명령어를 임시로 저장한다.
L1은 CPU 내부에 있어 가장 빠르고, L2, L3순으로 용량은 커지지만 속도는 느려진다.
6. 레지스터의 종류와 그 기능을 기술하시오.
`1. PC$_{Program \space Counter}$: 다음에 실행할 명령어의 주소 저장`
`2. IR$_{Instruction \space Register}$: 현재 실행 중인 명령어 저장`
`3. MAR$_{Memory \space Address \space Register}$: 메모리 주소 저장`
`4. MBR$_{Memory \space Buffer \space Register}$: 메모리와 주고받을 데이터 저장`
`5. AC$_{Accumulator}$: 연산 결과 임시 저장`
`6. PSW$_{Program \space Status \space Word}$: CPU 상태 정보 저장`
7. 기억장치의 계층 구조에 대해 설명하시오.
`1. 레지스터: CPU 내부, 가장 빠름, 가장 비쌈`
`2. 캐시메모리: CPU와 메모리 사이, 고속 버퍼`
`3. 주기억장치(RAM): 프로그램과 데이터 저장`
`4. 보조기억장치(HDD/SSD): 대용량 저장, 가장 저렴`
기억장치는 속도와 용량이 반비례하는 계층 구조를 가진다. 상위 계층일수록 속도는 빠르지만 용량이 작고 비용이 높으며, 하위 계층으로 갈수록 속도는 느리지만 용량이 크고 비용이 저렴하다.
8. 명령어 실행 과정을 명령어 LDA A로 설명하시오.
`1. 인출$_{Fetch}$: PC가 가리키는 주소의 명령어(LDA A)를 메모리에서 가져와 IR에 저장`
`2. 해석$_{Decode}$: IR에 저장된 명령어(LDA A)를 해석해 수행할 동작 결정`
`3. 실행$_{Execute}$: A 주소의 데이터를 메모리에서 읽어 누산기(AC)에 저장`
`4. 저장$_{Store}$: 결과를 저장하고 PC 값 증가`
LDA$_{Load \space Accumulator}$ 명령어는 메모리의 특정 주소(A)에 있는 데이터를 누산기로 가져오는 명령어다.
이 과정은 모든 명령어가 수행되는 사이클로, 각 단계는 제어장치의 제어 신호에 의해 순차적으로 진행된다.
9. 마이크로프로세서의 성능을 결정하는 여러 요인을 열거하고 설명하시오.
`1. 클럭 속도: CPU의 처리 속도를 결정하는 기본 단위 (Hz)`
`2. 코어 수: 동시에 처리할 수 있는 작업의 수`
`3. 캐시 크기: 데이터 접근 속도에 영향을 미치는 고속 메모리 용량`
`4. 버스 폭: 한 번에 전송할 수 있는 데이터의 비트 수`
`5. 명령어 파이프라인: 명령어 처리의 병렬화 정도`
마이크로프로세서의 성능은 단순히 클럭 속도만으로 결정되지 않는다. 코어 수는 병렬 처리 능력을, 캐시는 메모리 접근 속도를, 버스 폭은 데이터 전송 효율을, 파이프라인은 명령어 처리 효율을 결정한다.
10. 프로세서를 RISC와 CISC로 분류하는 기준과 각각의 특징을 비교하는 표를 만들어 설명하시오.
RISC$_{Reduced \space Instruction \space Set \space Computing}$ | CISC$_{Complex \space Instruction \space Set \space Computing}$ | |
명령어 | 단순하고 적은 수의 고정 길이 명령어 | 복잡하고 많은 수의 가변 길이 명령어 |
주소 지정 방식 | 적은 수의 단순한 방식 | 다양하고 복잡한 방식 |
실행 시간 | 대부분 1클럭 내 실행 | 여러 클럭 필요 |
파이프라이닝 | 효율적 | 상대적으로 비효율적 |
제어 | 하드웨어 제어 중심 | 마이크로프로그램 제어 중심 |
예시 | ARM, SPARC, MIPS | x86, Intel, AMD |
'CSE > CS 기초' 카테고리의 다른 글
[컴퓨터학개론] AI시대의 컴퓨터 개론 - 내용 점검 문제 6장 (0) | 2025.01.01 |
---|---|
[컴퓨터학개론] AI시대의 컴퓨터 개론 - 내용 점검 문제 5장 (2) | 2025.01.01 |
[컴퓨터학개론] AI시대의 컴퓨터 개론 - 내용 점검 문제 3장 (1) | 2025.01.01 |
[컴퓨터학개론] AI시대의 컴퓨터 개론 - 내용 점검 문제 2장 (0) | 2025.01.01 |
[컴퓨터학개론] AI시대의 컴퓨터 개론 - 내용 점검 문제 1장 (2) | 2025.01.01 |
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!