컴퓨터시스템 구조 Computer System Architecture.

Slides:



Advertisements
Similar presentations
컴퓨터시스템구조론 제 7 장 입력 / 출력 (Input/Output : I/O). 7.1 외부 장치들 (External Devices)  I/O 모듈에 접속  종류 인간이 읽을 수 있는 장치 : 비디오 단말기, 프린터, 등 기계가 읽을 수 있는 장치 : 자기 디스크,
Advertisements

컴퓨터는 어떻게 동작?.
컴퓨터와 인터넷.
예비보고서1 : 8개의 푸시버튼 스위치가 있다. 이 스위치에 각각 0~7개까지의 번호를 부여하였다고 하자
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
Lecture #2 제2장 CPU의 구조와 기능(1).
4장 마이크로프로세서 외부 신호 Slide 1 (of 22).
2.1 CPU의 기본 구조 2.2 명령어 실행 2.3 명령어 파이프라이닝 2.4 명령어 세트
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제7강 학습 내용 주소지정 방식의 예 값 즉시 지정 방식과 실행 예 레지스터 직접지정 방식 메모리 직접지정 방식과 실행 예
10장. 인터럽트 Lecture #10.
12장. 제어 장치 다루는 내용 CPU속의 제어장치 마이크로 연산 제어장치의 동작.
어셈블리 문법 보강 4월 10일.
컴퓨터시스템 구조 Computer System Architecture.
제 3장 컴퓨터 시스템의 구조.
Lecture #9 제7장 시스템 버스, I/O 및 인터럽트.
RS 및 D 플립플롭 RS Flip Flop 래치는 어떤 입력 레벨에 의해서 제어되는 데 플립플롭은 클록 입력이라고
9장. 제어장치 Lecture #9.
07. 디바이스 드라이버의 초기화와 종료 김진홍
제10강 중앙처리장치 1.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
제2장 CPU의 구조와 기능. 제2장 CPU의 구조와 기능 CPU의 기능 명령어 인출(Instruction Fetch): 기억장치로부터 명령어를 읽어온다. 명령어 해독(Instruction Decode): 수행해야 할 동작을 결정하기 위하여 인출된 명령어를 해독한다.
DK-128 ADC 실습 아이티즌 기술연구소
마이크로 시스템 lecture8. Interrupt Greet class 선 덕 한.
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
4. LAN의 배선체계 (3장. LAN: Local Area Network)
PSW : PROGRAM STATUS WORD
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
1장 컴퓨터 시스템의 개요 - 컴퓨터의 기본 시스템(프로세서)을 이해한다. - 명령어 실행 주기를 알아본다.
14 마이크로 연산과 제어장치 IT CookBook, 컴퓨터 구조와 원리 2.0.
JA A V W. 03.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
멀티미디어시스템 제 6 장. 운영체제 IT응용시스템공학과 김 형 진 교수.
플립플롭, 카운터, 레지스터 순서회로 플립플롭 카운터 레지스터.
DK-128 FND 실습 아이티즌 기술연구소
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
6 레지스터와 카운터.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
2. 컴퓨터 시스템의 동작 명령어 구성 연산 종류와 기능에 따라 오퍼랜드 부분을 다양하게 활용 가능.
6. 레지스터와 카운터.
제4강 처리장치 1.
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
1 컴퓨터 시스템 소개.
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
제2강 : 전자계산기구조-컴퓨터 시스템 구성.
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
Lecture #3 제2장 CPU의 구조와 기능(2).
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 25 SPI 로봇 SW 교육원 조용수.
4대자원관리(입출력장치) 박정환.
컴퓨터구조 연습문제 발표 Chapter 3 - 컴퓨터의 기능 및 상호연결의 최상위 관점
논리회로 설계 및 실험 4주차.
System Security Operating System.
AdcRead API 함수 분석 마이크로프로세서.
13장. 시스템 버스 다루는 내용 시스템 버스의 개념 다중버스 계층 구조 버스 중재.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Assembly 05 방호남 07 반지훈 09 박상욱.
2. 프로세스 B 안우진 - 운영체제 -.
ARP.
디 코 더 n비트의 2진 코드를 입력으로 받아들여 최대 2n개의 서로 다른 정보로 바꿔 주는 조합 회로
Presentation transcript:

컴퓨터시스템 구조 Computer System Architecture

제 8 장 인터럽트 인터럽트 발생 원인과 종류 인터럽트 체제와 동작 원리 우선 순위 인터럽트 체제 구성

제 8 장 인터럽트의 발생 원인과 종류 인터럽트 인터럽트 발생 원인 인터럽트의 필요성 예기치 않은 일(컴퓨터 시스템 내부 혹은 외부) 발생했을 때 적절한 조치를 취하여 계속적으로 프로그램이 수행되도록 해주는 기능 인터럽트 발생 원인 인터럽트의 필요성 정전(P. 453 참조) 입출력 과정 (P. 453 참조) ① 정전 혹은 데이터 전송과정에서의 오류 발생과 같은 컴퓨터 자체 내의 기계적인 문제 ② 보호된 기억 공간에 접근 혹은 불법적인 명령의 수행과 같은 프로그램 상의 문제 ③ 컴퓨터 조작자의 의도적인 조작으로 인한 경우 ④ 주변장치들이 중앙처리장치에게 입출력을 요청하는 경우 중앙처리장치의 인터럽트 처리

제 8 장 인터럽트의 발생 원인과 종류 인터럽트의 종류 인터럽트의 우선 순위 응급 정도에 따름 ① 기계착오 인터럽트(machine check interrupt) ② 외부 인터럽트(external interrupt) ③ IO 인터럽트(IO interrupt) ④ 프로그램 검사 인터럽트(program check interrupt) ⑤ 슈퍼바이저 호출 인터럽트(supervisor call interrupt) ① 정전 혹은 기계 잘못으로 인하여 발생하는 인터럽트 ② 연산자나 주소 지정 방식의 잘못으로 인하여 발생하는 인터럽트 ③ 컴퓨터 조작자의 의도적인 조작에 따른 인터럽트 ④ 입출력 장치로부터의 인터럽트

프로그램의 상태 = 레지스터의 내용 + PC의 값 제 8 장 인터럽트 체제와 동작 원리 인터럽트의 기본 요소 인터럽트 요청 신호, 인터럽트 처리 루틴, 인터럽트 서비스 루틴 중앙처리장치가 인터럽트 요청을 받으면 ① 현재 수행중인 명령을 완료한 후 수행중인 프로그램을 일시 중지한다. 이때 수행중인 프로그램의 상태를 안전한 곳에 보관한다. 프로그램의 상태 = 레지스터의 내용 + PC의 값 ② 인터럽트 처리 루틴 을 수행하여 인터럽트 원인을 찾아낸다. 그리고 이의 조치를 위해 해당되는 인터럽트 서비스 루틴을 실행시킨다. ③ 인터럽트 서비스가 끝나면 보존시킨 PC의 값과 프로그램의 상태를 복구하여 인터럽트 당한 프로그램의 중단된 곳에서부터 다시 프로그램을 수행한다.

제 8 장 인터럽트 체제와 동작 원리 인터럽트 요청 신호 회선 체제 단일 회선 체제 다중 회선 체제 혼합회선 체제 하나의 회선에 모든 장치 연결 다중 회선 체제 장치마다 고유의 요청 신호 회선 혼합회선 체제 (a)와 (b)의 혼합 인터럽트 요청 신호 인터럽트 요청 신호 회선 CPU

제 8 장 인터럽트 체제와 동작 원리 인터럽트 처리 및 서비스 루틴 인터럽트 원인 판별 중앙처리장치가 인터럽트 요청을 받으면 수행하던 명령어의 실행을 완료한 후 인터럽트 처리를 위한 준비를 한다. 인터럽트 메이저 상태 : CPU가 인터럽트 처리를 준비하는 상태 프로그램 카운터의 값 : 스택, 주기억장치의 0번지 단일 회선 체제 : 인터럽트 처리 루틴 필요 다중 회선 체제 : 인터럽트 처리 루틴 불필요 인터럽트 원인 판별 S/W (폴링) 방법 H/W(벡터 인터럽트) 방법 ● 프로그램 카운터에 기억된 주소를 지정된 장소에 보관한다. ● 인터럽트의 원인을 판별하여, 해당되는 인터럽트 서비스 루틴을 가동시킨다. 단일 회선 인터럽트 체제 폴링 방식을 위한 장치 인터페이스 구조

제 8 장 인터럽트 체제와 동작 원리 폴링 방식에서 인터럽트 원인 판별 과정

제 8 장 인터럽트 체제와 동작 원리 단일 회선 체제에서 폴링 방식에 의한 인터럽트 처리 300 번지 : 인터럽트 처리 루틴, 401 번지 : 각 장치의 서비스 루틴 45번지 명령의 수행 중 디스크가 인터럽트를 요청 실행 사이클이 끝난 후 인터럽트 사이클 수행 기억장치의 0번지에 PC의 값, 즉 46을 저장 인터럽트 처리 루틴 300번지로 분기, 여기서 인터럽트를 요청한 장치를 식별한 후 디스크의 인터럽트 서비스 루틴 즉, 401번지로 분기하여 서비스 루틴 수행

제 8 장 인터럽트 체제와 동작 원리 다중 회선 인터럽트 체제 벡터 인터럽트(Vector interrupt) 방식 인터럽트 처리 루틴이 없으며, 직접 인터럽트 서비스 루틴으로 분기하는 명령어들로 구성 CPU가 인터럽트 요청 신호를 받으면, 프로그램 카운터(PC)의 값을 보관한 후 인터럽트 인정 신호(INTACK)를 세트시킨다. INTACK 신호에 의해 인터럽트를 요청한 장치는 장치 번호 버스에 자신의 장치 번호를 전송  CPU는 어떤 장치가 인터럽트를 요청했는지 판별 인터럽트 서비스 루틴으로 분기

제 8 장 인터럽트 체제와 동작 원리 다중 회선 인터럽트 체제의 예 프로그램 카운터의 값 (a) 기억장치의 0번지 (b) 스택 (c) 인터럽트 벡터 내에 보관

제 8 장 인터럽트 체제와 동작 원리 다중 회선 인터럽트 체제의 예

제 8 장 인터럽트 체제와 동작 원리 다중 회선 인터럽트 체제의 예 벡터 내에 두 개의 워드 할당

제 8 장 인터럽트 체제와 동작 원리 인터럽트 사이클 T0 : MAR ← 0, TR ← PC Fig. 8-5(단일 회선 인터럽트 체제)의 구조 CPU가 인터럽트 요청을 받으면, 수행 중인 명령어의 실행 완료 후 인터럽트 사이클 수행 : 복귀 주소 값, 즉 PC의 값을 보관(여기서는 주기억장치의 0번지) : 다음 인출 사이클에서 기억장치 주소 1번지에 저장된 명령어를 수행 즉, 인터럽트 요청 장치 판별을 위한 인터럽트 처리 루틴으로 분기 마이크로 오퍼레이션 표현 T0 : MAR ← 0, TR ← PC T1 : M[MAR] ← TR, PC ← 0 T2 : PC ← PC +1, IEN ← 0, T3 : Goto Fetch cycle

제 8 장 인터럽트 체제와 동작 원리 인터럽트 사이클 우선 순위 인터럽트 체제 Fig. 8-7(다중 회선 인터럽트 체제)의 (c)와 같은 구조 하드웨어에 의해서 인터럽트 요청 장치가 식별 인터럽트 처리 루틴 없이 직접 인터럽트 서비스 루틴으로 분기 마이크로 오퍼레이션 표현 우선 순위 인터럽트 체제 여러 장치가 동시에 인터럽트 요청 : 우선 순위에 따라 서비스 순서 결정 T0 : SP ← SP +1 T1 : M[SP] ← PC, INTACK ← 1 T2 : PC ← VAD, IEN ← 0, T3 : Goto Fetch cycle ① 각 장치에 우선 순위를 부과하는 기능 ② 인터럽트를 요청한 장치의 우선 순위를 판별하는 기능 ③ 우선 순위가 높은 것을 처리할 수 있는 기능

제 8 장 우선 순위 인터럽트 체제 단일 회선 인터럽트 체제에서의 우선 순위 우선 순위 설정 소프트웨어에 의한 방법 Fig. 8-3에서 인터럽트 요청 장치의 수가 n개 프로그램된 순서, 즉 장치 1번부터 순서대로 폴링 신호를 보낸다. 즉, 우선 순위가 가장 높은 순으로 폴링 신호를 받는다. Fig. 8-3의 구조에서는 우선 순위가 다음과 같이 설정된 것과 같다. 인터럽트 마스크(interrupt mask) : 현재 인터럽트 서비스 중인 장치보다 우선 순위가 낮은 장치는 해당 서비스 루틴이 끝날때까지 인터럽트 요청을 할 수 없다. ID(Interrupt Disable) 플립플롭 이용 소프트웨어 방식에 의한 우선 순위 설정 방법의 장단점 장치 1 〉장치 2〉장치 3〉…〉 장치 N ① 우선 순위가 프로그램 상으로 결정되므로 융통성이 크다. ② 우선 순위 설정을 위한 하드웨어가 없으므로 경제적이다. ③ 인터럽트 반응 속도가 느리다.

제 8 장 우선 순위 인터럽트 체제 단일 회선 인터럽트 체제에서의 우선 순위 우선 순위 설정 하드웨어에 의한 방법 데이지 체인(daisy chain) 우선 순위가 높은 순으로 좌측에서 우측으로 장치들이 직렬로 연결 어떤 장치가 인터럽트 요청 신호를 보내면 CPU의 입력 Int가 활성화 이에 대한 응답으로 CPU는 INTACK 신호를 활성화 이 신호는 우선 순위가 높은 순으로 각 모듈의 입력(PI)에 연결 해당 장치가 인터럽트를 요청하지 않았을 경우에는 출력(PO)을 통하여 다음장치의 입력으로 신호가 전달 인터럽트 요청 장치 : PO의 출력을 0, 자신의 인터럽트 벡터 주소를 CPU로 전송

제 8 장 우선 순위 인터럽트 체제 다중 회선 인터럽트 체제에서의 우선 순위 우선 순위 설정 Fig. 8-10 각 회선이 우선 순위를 갖도록 설정 인터럽트 레지스터 이용 우선 순위가 높은 순으로 왼쪽부터 오른쪽으로 비트 번호를 부여 마스크 레지스터 : 인터럽트 순위 비교 현재 처리되고 있는 인터럽트의 우선 순위가 저장 다른 장치가 인터럽트를 요청하면 현재 처리 중인 장치의 인터럽트 우선 순위와 새로 인터럽트를 요청한 장치의 우선 순위를 비교 높은 순위의 인터럽트가 처리되고 있을 때 : 낮은 순위의 장치가 인터럽트 요청을 못하도록 0으로 마스크 낮은 순위의 인터럽트가 처리되고 있을 때 : 높은 우선 순위의 장치가 인터럽트를 요청할 수 있도록 1로 세트 Fig. 8-10 인터럽트 레지스터

제 8 장 우선 순위 인터럽트 체제 다중 회선 인터럽트 체제에서의 우선 순위 Fig. 8-11 우선 순위 인터럽트 하드웨어

제 8 장 우선 순위 인터럽트 체제 우선순위 인코더 진리표 출력 x에 대한 Karnaugh Map