검색 여닫기
검색
메뉴 여닫기
555
262
4
6.2천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
Exceptional Control Flow 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
Exceptional Control Flow
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
==개요== [[파일:Control Flow.png|섬네일|264x264픽셀]]프로세서는 한번에 하나씩 instruction을 읽고 실행한다. 이때 프로세서가 실행하는 instruction의 순서를 control flow라고 한다. ==Altering the Control Flow== Control FLow를 수정하는 메커니즘은 두가지가 존재한다. # Jumps and Branches #* Jump: unconditional branch (ex: goto) #* Branches: 조건문, 반복문 # Call and Return: program state<ref>프로그램이 실행 중일 때의 상태를 의미한다. 주로 프로그램 내의 변수 값, 레지스터 값, 프로그램 카운터(PC), 스택 포인터 등과 관련이 있다. 즉, 프로그램이 현재 어떤 명령어를 실행하고 있고, 실행 중인 함수나 연산의 중간 결과 등이 프로그램 상태에 포함된다.</ref>에서의 변화에 반응한다. 하지만 위의 두 메커니즘은 system state에서의 모든 변화에 대응하기에는 불충분하다. 아래는 그 예시이다. # disk, network adapter 등으로부터 Data를 받을 때<ref>CPU가 disk보다 100만배는 빠르므로 disk에 작업을 요청한 후 다른 작업을 실행함</ref> # 0 나누기를 시도할 때 # Ctrl - C 를 시도할 때 # System Timer가 만료되었을 때(expire)<ref>S.T 만료 -> 인터럽트 발생 -> 현재 프로그램 중단 후 스케줄링 처리 -> 다음 프로그램 실행</ref> # 오버플로우(언더플로우)가 발생할 때<ref>Exceptional Control Flow가 필요함</ref> ==개요== [[분류:컴퓨터 시스템]]
Exceptional Control Flow
문서로 돌아갑니다.