CHAPTER 03. 컴퓨터 구조 컴퓨터 시스템의 구성과 동작 원리_컴퓨터 시스템에 대한 근본적 이해 제목
컴퓨터 시스템의 구성을 공부한다. 중앙처리장치의 구성과 명령어 처리 과정을 공부한다. 기억장치의 계층 구조와 동작 원리를 공부한다. 입출력장치의 종류와 역할을 공부한다. 컴퓨터 시스템의 성능 향상 기법을 공부한다.
1. 컴퓨터 시스템의 구성 하드웨어 소프트웨어 2. 중앙처리장치 중앙처리장치의 구성 명령어 처리 과정 명령어 세트 3. 기억장치 기억장치의 계층구조 주기억장치 캐시 메모리 보조기억장치 4. 입출력장치 입력장치 출력장치 5. 컴퓨터 시스템의 성능 향상 기법 중앙처리장치의 구조 변화 파이프라인 기법 병렬 처리 시스템
1. 컴퓨터 시스템의 구성 하드웨어 : 컴퓨터를 구성하는 기계적 장치 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어의 집합
1. 컴퓨터 시스템의 구성 1 하드웨어 2 소프트웨어
1.1 하드웨어 중앙처리장치, 기억장치, 입출력장치로 구성 하드웨어의 구성
1.1 하드웨어 하드웨어의 구성 중앙처리장치 기억장치 입출력장치 주기억장치로부터 프로그램 명령어와 데이터를 읽어온 뒤 처리 산술논리연산장치, 제어장치, 레지스터로 구성 기억장치 프로그램과 데이터, 연산의 중간 결과 등을 저장 주기억장치와 보조기억장치로 구분 주기억장치 : 프로그램과 데이터를 일시적으로 저장 / 램과 롬 보조기억장치 : 데이터를 영구적으로 보관 / 자기테이프, 플로피 디스크, 하드 디스크, 광디스크, 플래시 메모리 등 입출력장치 입력장치 : 자료를 컴퓨터 내부로 입력하는 장치 / 키보드, 마우스, 조이스틱, 터치스크린, 마이크, 스캐너 등 출력장치 : 처리 결과를 컴퓨터 외부로 표현하는 장치 / 프린터, 모니터, 플로터, 스피커 등
1.1 하드웨어 시스템 버스 하드웨어 구성 요소를 물리적으로 연결하여 구성 요소들 사이의 데이터 이동 통로를 제공
1.1 하드웨어 시스템 버스 주소버스 데이터 버스 제어 버스 중앙처리장치가 주기억장치나 입출력 장치에 주소를 전달하는 통로 주소 선의 수(버스의 폭)는 시스템의 기억장치 용량을 결정 주소 선의 수가 8비트면 256(=28)개, 16비트면 65,536(=216)개의 기억장치 주소를 지정 단방향 버스 데이터 버스 중앙처리장치와 기타 시스템 모듈(기억장치, 입출력장치 등) 사이에서 데이터를 전달하는 통로 양방향 버스 제어 버스 중앙처리장치가 다양한 시스템 모듈에 제어 신호를 전달하는 통로 읽기 동작과 쓰기 동작을 모두 수행
1.2 소프트웨어 시스템 소프트웨어 응용 소프트웨어 컴퓨터 시스템의 효율적인 운영과 제어를 담당 운영 체제, 언어 번역 프로그램(컴파일러, 인터프리터 등), 유틸리티, 라이브러리 프로그램 등 응용 소프트웨어 응용 분야의 업무를 처리하기 위해 사용 문서 작성 프로그램, 자료 관리 프로그램, 그래픽 프로그램, 통신 프로그램, 교육용 프로그램, 오락용 프로그램 등
하드웨어의 구성 요소를 나열하고 구성 요소 사이의 데이터 흐름과 제어 신호의 흐름을 설명하시오. 다음 중 시스템 버스에 대한 설명으로 틀린 것은? (가) 하드웨어 구성 요소를 물리적으로 연결하며 구성 요소들 사이의 데이터 통로를 제공한다. (나) 주소 버스는 중앙처리장치가 주기억장치나 입출력 장치에 데이터를 읽거나 쓰기 위해 필요한 주소를 전달하는 통로다. (다) 제어 버스는 주소 버스와 데이터 버스의 동작을 제어하기 위한 신호의 전달 통로다. (라) 데이터 버스는 중앙처리장치와 기타 모듈(기억장치, 입출력장치 등) 사이의 데이터를 전달하는 통로로 단 방향 버스다.
2. 중앙처리장치 1 중앙처리장치의 구성 2 명령어 처리 과정 3 명령어 세트
2.1 중앙처리장치의 구성 중앙처리장치 주기억장치로부터 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어
2.1 중앙처리장치의 구성 산술논리연산장치 제어장치 레지스터 산술연산과 논리연산을 수행 명령어를 순서대로 실행할 수 있도록 제어 레지스터 중앙처리장치의 속도와 비슷한 고속의 기억장치, 중앙처리장치에 존재 범용 레지스터와 특수 목적 레지스터로 구분
2.1 중앙처리장치의 구성 레지스터
2.2 명령어 처리 과정 명령어 사이클 중앙처리장치가 주기억장치로부터 한 번에 하나의 명령어를 인출하여 실행하는 데 필요한 일련의 활동
2.2 명령어 처리 과정 인출 사이클과 실행 사이클은 항상 수행 간접 사이클과 인터럽트 사이클은 주소지정 방식과 인터럽트 요구에 따라 필요할 때만 수행
2.2 명령어 처리 과정 인출 사이클 주기억장치에서 명령어를 인출 다음 명령어를 인출하기 위해 PC(프로그램 카운터)값을 증가시킴
2.2 명령어 처리 과정 실행 사이클 인출한 명령어를 해독하고 그 결과에 따라 제어 신호를 발생시켜 명령어를 실행 간접 사이클
2.2 명령어 처리 과정 인터럽트 사이클 인터럽트 : 중앙처리장치가 프로그램을 수행하는 동안 컴퓨터 시스템의 내부와 외부에서 발생하는 예기치 못한 사건
2.3 명령어 세트 명령어 형식 연산 코드 : 4가지 기능으로 분류됨 연산 기능 : 사칙연산, 시프트, 보수 등의 산술연산과 논리곱(AND), 논리합(OR), 논리부정(NOT) 등의 논리연산을 수행 데이터 전달 기능 : 레지스터와 레지스터 사이, 레지스터와 주기억장치 사이에 데이터를 전달 제어 기능 : 조건 분기와 무조건 분기 등을 이용하여 명령어의 실행 순서를 제어 입출력 기능 : 프로그램과 데이터를 주기억장치에 전달하고, 연산 결과는 출력 장치로 전달 주소필드 : 기억장치의 주소, 숫자나 문자, 논리 데이터 등을 저장
2.3 명령어 세트 주소 필드 수에 따른 명령어 분류
2.3 명령어 세트 주소 필드 수에 따른 명령어 분류 0-주소 명령어 연산 코드만 존재하며 스택 구조 컴퓨터에서 사용 PUSH A // 스택의 TOP ← M[A] PUSH B // 스택의 TOP ← M[B] ADD // 스택의 TOP ← (A+B) STORE X // M[X] ← 스택의 TOP X=(A+B)의 처리 과정
2.3 명령어 세트 주소 필드 수에 따른 명령어 분류 1-주소 명령어 단일 누산기 구조 컴퓨터에서 사용 누산기 레지스터를 이용하여 데이터 연산을 수행 연산에는 주기억장치에서 읽힌 데이터와 누산기에 저장된 데이터가 사용 연산결과는 다시 누산기에 저장 LOAD A // AC ← M[A] ADD B // AC ← AC + M[B] STORE X // M[X] ← AC X=(A+B)의 처리 과정
2.3 명령어 세트 주소 필드 수에 따른 명령어 분류 2-주소 명령어 3-주소 명령어 2개의 주소필드를 가지며 가장 일반적인 형태 3-주소 명령어 3개의 주소 필드를 가지며, 주소 필드에 레지스터 번호나 주기억장치의 주소를 지정 MOV R1, A // R1 ← M[A] ADD R1, B // R1 ← R1 + M[B] MOV X, R1 // M[X] ← R1 X=(A+B)의 처리 과정 ADD X, A, B // M[X] ← M[A] + M[B] X=(A+B)의 처리 과정
레지스터는 용도에 따라 범용 레지스터와 특수 목적 레지스터로 구분된다 레지스터는 용도에 따라 범용 레지스터와 특수 목적 레지스터로 구분된다. 대표적인 특수 목적 레지스터의 명칭을 나열하고 기능을 설명하시오. 명령어 사이클 중 인출한 명령어를 해독하고 그 결과에 따라 제어 신호를 발생시켜 명령어를 실행하는 사이클은? (가) 인출 사이클 (나) 실행 사이클 (다) 간접 사이클 (라) 인터럽트 사이클
3. 기억장치 1 기억장치의 계층 구조 2 주기억장치 3 캐시 메모리 4 보조기억장치
3.1 기억장치의 계층 구조 접근 속도, 기억 용량의 크기, 용도에 따라 레지스터, 캐시 메모리, 주기억장치, 보조기억장치로 구분 중앙처리장치에 직접 연결된 기억장치는 기억 용량이 작고 속도가 빠른 반면 비쌈 보조기억장치는 속도는 느리지만 가격이 저렴하고 기억 용량이 큼
3.2 주기억장치 컴퓨터가 동작하는 동안 프로그램과 데이터, 연산의 중간 결과 등을 저장 초기의 주기억장치는 자기 코어가 널리 사용 현재는 반도체 기억장치를 주로 사용
3.2 주기억장치 램 전원 공급이 중단되면 저장된 정보가 모두 지워지는 휘발성 메모리 저장 위치에 관계없이 일정한 시간 내에 읽거나 쓸 수 있는 임의 접근 기억장치
3.2 주기억장치 램 DRAM SRAM 트랜지스터 내의 축전지에 충전된 전하를 이용하여 정보를 저장 축전지의 전하는 시간이 지나면 방전되므로 주기적인 재충전이 필요 가격이 저렴하고 전력 소비가 적으며 동작 속도가 빠르고 집적도가 높음 대용량 메모리에 적합 SRAM 플립플롭 기억소자로 구성 전원이 공급되는 동안 정보가 계속 유지되므로 DRAM처럼 주기적인 재충전이 필요 없음 DRAM에 비해 회로가 복잡, 전력 소모가 크며 고가 캐시 메모리에 주로 사용
3.2 주기억장치 롬 저장된 프로그램과 데이터를 읽기만 하는 기억장치 전원이 공급되지 않아도 저장된 정보를 영구적으로 보존할 수 있는 비휘발성 메모리 프로그램이나 데이터를 저장하는 데 사용 정보의 기록 횟수와 저장 방식에 따라 마스크 ROM, PROM, EPROM, EEPROM으로 구분
3.2 주기억장치 롬 마스크 ROM : ROM을 제작할 때 공장에서 미리 정보를 기록하여 생산 PROM : 원하는 정보를 한 번만 쓸 수 있음 EPROM : 자외선을 이용하여 저장된 정보를 지운 후 새로운 정보를 기록할 수 있음 EEPROM : 전기적인 펄스를 이용하여 저장된 정보를 지울 수 있음, 쓰기 전에 저장된 정보를 지울 필요 없음
3.2 주기억장치 플래시 메모리 전력 소비가 적으며, 전원이 공급되지 않아도 저장된 정보가 보존되는 비휘발성 메모리 저장 용량이 큰 데이터 저장형과 처리 속도가 빠른 코드 저장용으로 구분
3.3 캐시 메모리 중앙처리장치에서 주기억장치로의 긴 접근 시간으로 인해 성능이 저하되는 것을 방지하기 위한 메모리 중앙처리장치는 원하는 정보가 캐시 메모리에 존재하면 즉시 읽어오고 존재하지 않으면 주기억장치에서 캐시 메모리로 저장한 후 읽어 옴 캐시 적중률(H) = 캐시 적중 횟수/전체 기억장치 참조 횟수 유효 접근 시간 = (H × 기억장치 접근 시간) + ((1-H) × 기억장치 접근 시간) 메모리 캐시 접근 시간이 20ns, 주기억장치 접근 시간이 100ns, 캐시 적중률이 95%일 때 기억장치의 유효 접근 시간은? 유효 접근 시간 = (0.95 × 20) + (0.05 × 120) = 25ns
3.3 캐시 메모리
3.4 보조기억장치 자기 테이프 프로그램이나 데이터를 영구적으로 저장하는 대용량의 저장장치 순차접근 기억장치와 직접접근 기억장치로 구분 순차접근 기억장치 : 정보를 순차적으로 읽거나 씀, 자기 테이프 직접접근 기억장치 : 정보의 저장위치에 관계없이 임의의 주소에 직접 접근하여 정보를 읽고 씀, 자기 디스크와 광 디스크 등 자기 테이프 자화 물질인 산화철이 코딩되어 있는 폴리에스터 필름 표면에 자성을 띤 점의 형태로 0과 1의 정보를 저장하는 장치
3.4 보조기억장치 자기 테이프
3.4 보조기억장치 자기 디스크 자성체를 코팅한 원형의 플라스틱이나 금속판에 정보를 저장 순차접근과 직접접근이 모두 가능
3.4 보조기억장치 자기 디스크 디스크 접근 시간 : 탐색 시간 + 회전 지연 시간 + 데이터 전송 시간 탐색 시간 : 특정 데이터를 찾기 위해 액세스 암이 트랙까지 이동하는 데 걸리는 시간 회전 지연 시간 : 회전하는 디스크에서 찾는 데이터의 저장 위치가 헤드까지 오는 데 걸리는 시간 데이터 전송 시간 : 찾은 데이터를 주기억장치에 전송하는 데 걸리는 시간
3.4 보조기억장치 광 디스크 레이저 광선을 이용하여 원반 표면에 문서, 음성, 화상 등의 정보를 디지털 부호로 변화하여 기록하고 재생하는 기억장치 CD, DVD, LD, 블루레이 디스크 등 블루레이 디스크는 기존 광 디스크 저장 매체보다 대용량의 데이터를 저장할 수 있어서 디지털 방송 시대에 적합 데이터의 기록 가능 여부에 따라 판독형 디스크, 판독/기록형 디스크, 재기록형 디스크로 구분
기억장치의 계층 구조에 대해 설명하시오. 다음 중 롬에 대한 설명으로 틀린 것은? (가) 마스크 ROM은 제작 과정에서 미리 정보를 기록해 생산하므로 저장된 정보를 변경할 수 없다. (나) PROM은 사용자가 원하면 저장된 내용을 지우고 한 번만 쓸 수 있다. (다) EPROM은 자외선을 이용하여 저장된 내용을 지우고 새로 기록할 수 있다. (라) EEPROM은 전기적인 펄스를 이용하여 저장된 내용을 지우고 새로 기록할 수 있다.
4. 입출력장치 1 입력장치 2 출력장치
4.1 입력장치 키보드 문자와 숫자, 명령어 등을 입력할 수 있는 대표적인 입력장치
4.1 입력장치 마우스 화면 위의 특정 위치를 지정하거나 선택하기 위해 사용
4.1 입력장치 조이스틱 막대 모양의 손잡이를 움직여 커서나 화면 위의 캐릭터를 이동할 수 있는 입력장치
4.1 입력장치 터치스크린 화면상의 한 점을 손가락이나 스타일러스 펜 등으로 누르면 그 접촉점의 좌표값을 컴퓨터에 전달하는 위치 감지기가 내장된 화면
4.1 입력장치 스캐너 화상 정보를 광학적으로 인식하여 컴퓨터에 입력하는 장치
4.2 출력장치 모니터 CRT 컴퓨터에서 처리된 정보를 화면으로 출력하는 장치 전자총에서 나온 전자가 음극선관(또는 브라운관) 유리의 형광물질을 자극해 화면을 만들어내는 원리를 이용
4.2 출력장치 모니터 LCD 2장의 얇은 유리판 사이에 액정을 담고 전압을 가하면 분자의 배열이 변하 는 성질을 이용
4.2 출력장치 모니터 PDP 2장의 얇은 유리판 사이에 가스를 넣고 양전극과 음전극 사이에서 가스 방전(플라즈) 현상을 이용하여 색을 재현 플라즈마 방전을 이용하기 때문에 전력 소비량이 많으며 열이 많이 발생
4.2 출력장치 모니터 OLED 유기발광다이오드 또는 유기 EL 전류가 흐르면 빛을 내는 현상을 이용하는 자체 발광형 유기 물질 휴대폰이나 카 오디오, 디지털 카메라와 같은 소형 기기의 디스플레이에 주로 사용
4.2 출력장치 프린터 컴퓨터에서 처리된 정보를 사람이 볼 수 있는 형태로 인쇄하는 출력장치 충격식 프린터 인쇄 헤드에 부착된 금속 핀에 전기 신호를 전달하면 해당 핀이 이동하면서 잉크 리본을 충격하여 인쇄하는 방식
4.2 출력장치 프린터 비충격식 프린터 충격식에 비해 소음이 적고 인쇄 속도가 빠르며 인쇄 품질이 좋음 잉크젯 프린터, 레이저 프린터 등
4.2 출력장치 프린터 3차원 프린터 CAD 등으로 빌딩이나 지형, 선박, 비행기 등을 모델링한 데이터를 입력하면 3차원 플라스틱 모형을 만들어주는 기계 건설, 의료, 디자인 분야에서 활용
4.2 출력장치 플로터 종이나 필름 등에 그래프나 설계 도면을 출력하는 대형 출력장치 대형 인쇄물 제작에 사용
4.2 출력장치 햅틱 인터페이스 압력 센서와 진동 모터, 유압 장치 등을 활용하여 사물의 촉감을 감지하고 재현하는 기술 의료 분야, 레이싱 게임, 모바일 게임, 진동벨 서비스, 자동차 등에서 이용 장치와 햅틱 인터페이스를 함께 사용하는 시뮬레이션 시스템으로 이용
( )은(는) 화면상의 특정 위치를 지정하거나 선택하기 위해 사용하는 입력장치다. 다음 중 차세대 디스플레이 기술인 OLED에 대한 설명으로 틀린 것은? (가) 전류가 흐르면 빛을 내는 현상을 이용하는 자체 발광형 유기물질이다. (나) 낮은 전압에서 구동이 가능하며 얇은 박형으로 만들 수 있다. (다) 플라즈마 방전을 이용하기 때문에 전력 소비량이 많으며 열이 많이 발생한다. (라) 휴대폰이나 디지털 카메라와 같은 소형 기기의 디스플레이로 주로 사용된다.
5. 컴퓨터 시스템의 성능 향상 기법 1 중앙처리장치의 구조 변화 2 파이프라인 기법 3 병렬 처리 시스템
5.1 중앙처리장치의 구조 변화 CISC → RISC
5.2 파이프라인 기법 하나의 작업을 다수의 단계로 분할하여 시간적으로 중첩되게 실행함으로써 처리율을 높여 컴퓨터 시스템의 성능을 향상시키는 기술 4단계로 명령어 처리 명령어 인출(FI: Fetch Instruction) 명령어 해독(DI: Decode Instruction) 피연산자 인출(FO: Fetch Operand) 명령어 실행(EI: Execute Instruction) 4단계 파이프라인 속도 증가율은 2(=12/6)
5.3 병렬 처리 시스템 처리 능력이 뛰어난 컴퓨터 시스템의 구현 방법 마이클플린의 분류법 고성능의 단일 프로세서를 이용하여 시스템을 구성 다수의 프로세서를 사용하여 많은 연산을 동시에 수행하는 시스템을 구성 다수의 프로세서가 동시에 정보를 처리하는 것을 병렬 처리 마이클플린의 분류법 단일 명령어 흐름, 단일 데이터 흐름(Single Instruction Stream, Single Data Stream) 단일 명령어 흐름, 다중 데이터 흐름(Single Instruction Stream, Multiple Data Stream) 다중 명령어 흐름, 단일 데이터 흐름(Multiple Instruction Stream, Single Data Stream) 다중 명령어 흐름, 다중 데이터 흐름(Multiple Instruction Stream, Multiple Data Stream)
5.3 병렬 처리 시스템 단일 명령어 흐름, 단일 데이터 흐름 하나의 명령어로 하나의 데이터를 처리하는 구조로서, 폰 노이만 구조에 해당 단일 처리기 시스템
5.3 병렬 처리 시스템 단일 명령어 흐름, 다중 데이터 흐름 하나의 명령어로 다수의 데이터를 처리하는 구조 다중처리기 시스템 벡터 프로세서나 배열 프로세서 시스템
5.3 병렬 처리 시스템 다중 명령어 흐름, 단일 데이터 흐름 다수의 처리장치들이 동일한 데이터에 대해 서로 다른 연산(명령어)을 실행하는 구조 파이프라인 구조와 결함 허용 시스템
5.3 병렬 처리 시스템 다중 명령어 흐름, 다중 데이터 흐름 독립적으로 동작하는 다수의 처리장치들이 서로 다른 데이터에 대해 상이한 명령어를 동시에 처리하는 구조 공유 메모리 시스템과 분산 메모리 시스템
( )은(는) 하나의 작업을 다수의 단계로 분할하여 중첩되게 실행함으로써 처리율을 높여 중앙처리장치의 성능을 향상시키는 기술이다. RISC의 특징에 대한 설명으로 틀린 것은? (가) 적은 수의 명령어 세트 (나) 하드 와이어드 제어 방식 (다) 빠른 명령어 실행 (라) 다양한 주소지정 모드
1. 컴퓨터 시스템의 구성 2. 하드웨어의 구성 3. 시스템 버스 4. 중앙처리장치 5. 명령어 사이클 6. 명령어 7 1. 컴퓨터 시스템의 구성 2. 하드웨어의 구성 3. 시스템 버스 4. 중앙처리장치 5. 명령어 사이클 6. 명령어 7. 주소 필드 수에 따른 명령어 분류 8. 기억장치 9. 주기억장치 10. 램(RAM) 11. 롬(ROM) 12. 캐시 메모리 13. 보조기억장치 14. 입력장치 15. 출력장치 16. 중앙처리장치의 구조 변화 17. 파이프라인 기법 18. 병렬 처리 시스템