2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... ·...

15
2강. 컴퓨터시스템의 구성 방송대 컴퓨터과학과 곽덕훈 교수

Upload: others

Post on 19-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

2강. 컴퓨터시스템의 구성

방송대 컴퓨터과학과

곽덕훈 교수

Page 2: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

하드웨어(Hardware)

처리장치, 기억장치, 입출력장치, 통신연결장치

소프트웨어(Software)

응용소프트웨어, 시스템소프트웨어

펌웨어(Firmware)

마이크로 코드로 작성된 프로그램

컴퓨터 시스템의 구성

Page 3: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

기억장치 인터리빙

Storage Interleaving

주기억장치 호출속도를 높이기 위한 방법

다른 뱅크를 사용하여 동시에 여러 곳을 호출

이중 인터리빙(짝수, 홀수 번지)

Page 4: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

Relocation Register

프로그램을 동적으로 재배치

프로그램의 기준 주소저장

재배치 레지스터

Page 5: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

다른 장치의 작업 중단 후 자기의 상태를 알림

인터럽트 당할 경우 그때의 상태저장

인터럽트 처리 후 상태회복

인터럽트의 처리과정

인터럽트(interrupt)

Page 6: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

인터럽트의 처리

시작시작

다음 명령어인출

다음 명령어인출

인터럽트 체크인터럽트 처리인터럽트 체크인터럽트 처리

명령어 실행명령어 실행중지중지

인출 사이클

실행 사이클

인터럽트 사이클

인터럽트

(무) 인터럽트(유)

Page 7: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

버퍼링의 개념

일시적 데이터의 저장

단일 버퍼링, 이중 버퍼링, 순환 버퍼링

순환 버퍼링의 예

I/OI/O장치장치

사용자사용자 프로세서프로세서 주기억장치주기억장치

Page 8: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

입 출력 전용 프로세서

입 출력 동작의 완료를 프로세서에게 알림

선택채널 : 고속 전송

한번에 하나의 장치만 도와줌

멀티플렉서 채널 : 여러 개의 부속채널

바이트 멀티플렉서 채널 (터미널, 프린터, 저속 통신선)

블록 멀티플렉서 채널 (레이저 프린터, 자기디스크)

입·출력 채널

Page 9: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

사이클 스틸링

채널과 프로세서가 동시에 주기억장치에 접근하려고 할 때 채널에게

특정 우선권을 줌

입·출력 위주의 프로그램은 프로세서 위주의 프로그램보다 우선권을

받게 됨

프로세서로부터 기억장치 사이클을 훔쳐 냄

Page 10: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

주소를 나타내는 비트 수에 의해 결정

24비트 => 224 = 16M

실제주소 = 기준 레지스터 내용 + 상대주소

예) 개인용 컴퓨터의 경우

64비트 컴퓨터의 경우 주소지정 범위 : 264 바이트

아이테니엄2 : 50비트

AMD64 : 40비트

주소 계산 방식

프로세서프로세서 주소비트수주소비트수 주소지정범위주소지정범위

8086

80286

80386

펜티엄 4

20

24

32

36

220 = 1M

224 = 16M

232 = 4GB

236 = 64GB

가상메모리

없음

1GB

64TB

64TB

Page 11: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

직접 기억장치 접근

DMA(Direct Memory Access)라고 함

CPU를 통하지 않고 직접 주기억장치에 접근하여 데이터를 전송

프로그램이 실행되는 동안 인터럽트의 수를 최소화

한 블록의 입출력에 한 번의 인터럽트 발생

입출력이 많은 시스템에 적합

Page 12: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

기억장치 계층구조

레지스터레지스터

자기테이프자기테이프

자기디스크자기디스크

주기억장치주기억장치

캐 시캐 시

접근속도 증가

비트 당 가격증가

저장용량 감소

Page 13: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

자기디스크

스풀링 (spooling)

Simultaneous Peripheral Operation On Line

임의 접근장치로 디스크 이용

스풀링의 형태

출력CPUCPU

입력

Page 14: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

객체(object) : 모든 프로시저와 데이터들을 함께 묶어놓은

추상적인 존재

객체지향 프로그래밍:객체, 클래스(class), 상속의 기본 개념으로

구성

객체지향 운영체제(OOOS) : 운영체제 개발에 객체지향 프로그래밍

적용(C++ 사용)

하드웨어 인터페이스를 담당하는 마이크로 커널과 재사용 가능한

객체로 구성

객체지향 운영체제

Page 15: 2강. 컴퓨터시스템의구성cfs8.tistory.com/upload_control/download.blog?fhandle... · 2015-01-22 · 하드웨어(Hardware) 처리장치, 기억장치, 입출력장치, 통신연결장치

펌웨어와 마이크로 커널

펌웨어(firmware)

마이크로 명령어로 작성된 프로그램

기계어 하부에 프로그래밍 층을 형성

에뮬레이션, 마이크로 다이어그노스틱스

마이크로 커널(micro kernel)

운영체제의 커널 중에서 가장 기본적이고 핵심적인 부분

높은 수준의 모듈화를 제공