같이 보기 [ 편집 ] 인터럽트 요청 브레이크포인트 트랩 마이크로프로세서 마이크로아키텍처 RISC CISC 각주 [ 편집 ] ↑ 가 나 다 라 " M68000PRM 사용 설명서, Interrupt " ( PDF ). 2015년6월20일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ 가 나 ATmega Interrupt ↑ 가 나 8051 Interrupt ↑ 영어 : " 입출력 처리 방식 인터럽트와 폴링 ". 2015년6월20일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ 영어 : " 인터럽트와 폴링 특징 ". 2015년6월20일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ 영어 : " 컴퓨터 인터럽트 " ( PDF ). 2015년 2월 2일에 원본 문서 ( PDF ) 에서 보존된 문서. 2015년6월20일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ 가 나 " 8051 타이머 0, 모드 1 예 ". 지원되지 않는 변수 무시됨 : | 날짜확인 = ( 도움말 ) ↑ " 8051 인터럽트, 6 시리얼 인터럽트 " ( PDF ). 2015년
| 날짜확인 = ( 도움말 ) ↑ " 8051 인터럽트, 6 시리얼 인터럽트 " ( PDF ). 2015년6월25일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ " SDCC 개발환경 ". 2015년6월25일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) ↑ " SDCC 사용 설명서 " ( PDF ). 2015년6월25일에 확인함. 다음 날짜 값 확인 필요 : | access - date = ( 도움말 ) vdehCPU 기술구조 튜링 기계 포스트 튜링 기계 범용 튜링 기계 양자 튜링 기계 벨트 머신 스택 머신 레지스터 머신 카운터 머신 포인터 머신 랜덤 접근 기계 랜덤 액세스 스토어드 프로그램 머신 유한 상태 기계 큐 오토마톤 폰 노이만 하버드 ( 수정됨 ) 데이터플로 TTA 셀룰러 인공신경망 기계 학습 딥 러닝 신경 처리 장치 ( NPU ) 돌림형 신경망 로드 / 스토어 아키텍처 레지스터 메모리 아키텍처 엔디언 FIFO 제로 카피 NUMA HUMA HSA 모바일 컴퓨팅 서피스 컴퓨팅 착용 컴퓨팅 이기종 컴퓨팅 병렬 컴퓨팅 병행 컴퓨팅 분산 컴퓨팅 클라우드 컴퓨팅 무정형 컴퓨팅 유비쿼터스 컴퓨팅 패브릭 컴퓨팅 재배열 컴퓨팅 인지 컴퓨팅 아날로그 컴퓨팅 기계식 컴퓨팅 하이브리드 컴퓨팅 디지털 컴퓨팅 DNA 컴퓨팅 컴퓨팅 화학 컴퓨팅 유기
기존에 진행되던 루틴에 영향을 미치지 않도록 하는 것이 일반적인 방법이다. 8051의 경우 ACC 뿐만 아니라 각 R0 ~ R7까지의 범용 레지스터의 대피 여부도 함께 고민해야 한다. R 레지스터는 뱅크 구조로 여러개의 쌍이 존재하므로 인터럽트 발생 시 다른 뱅크를 선택적으로 바꾸어 대피 문제를 해결할 수 있다. 어셈블리에서 C언어의 함수처럼 특정 기능을 구현하는 블럭을 실행할 때, CALL 명령어를 사용하는데 이때 복귀 명령어는 RET이다. RET은 복귀 주소를 CALL이 실행될 때 스택에 대피 시킨 주소를 사용하여 CALL 다음 명령어로 진행한다. 인터럽트는 임의의 명령어 실행 중에 접수되면, 이 명령어가 끝나자마자 바로 특정 코드 블럭으로 점프한 것이므로 RET과 다르게 RETI을 두어 복귀 절차를 진행한다. 인터럽트 핸들러는 일반적인 C언어의 함수 들과는 차이가 있다. 따라서 인터럽트 핸들러의 표현은 C언어의 함수와는 다른 표현이 되어야 하므로 각각의 개발도구에서 제공한다. 인터럽트 핸들러의 코딩 방법은 개발 도구에서 제공된 방법을 숙지하여 표현을 해야 한다. 이것은 C / C언어의 표준이 아니기 때문에 개발
스택에 A ( Accumulator ) 레지스터 대피 JNB RI, output ; RI 레지스터를 확인하여 수신 여부 확인하고, 수신 데이터 없으면 수신 루틴 점프 MOV A, SBUF ; 데이터 버퍼를 A레지스터로 가져오고 MOV inchar, A ; 문자를 변수 inchar에 저장. inchar는 특정 RAM 메모리 CLR RI ; 수신 플래그를 지우고 output : ; 출력 루틴 시작 JNB TI, done ; 현재 데이터 전송 중인지를 확인하여, 전송 중일때는 출력 루틴 점프하여 생략 MOV A, outchar ; 데이터 변수 outchar 내용을 A레지스터로 옮기고 MOV SBUF, A ; 시러얼 전송 버퍼에 써서 하드웨어가 보내기 시작 CLR TI ; 전송 인터럽트 플래그 지우고 done : ; 종료 루틴 POP ACC ; A 레지스터 복귀 POP PSW ; 상태 ( 플래그 ) 레지스터 복귀 RETI ; 인터럽트 핸들러 종료 8051 시리얼 인터럽트 핸들러를 위한 어셈블러 언어 예 처럼, PUSH / POP 명령어에 의해 마이크로프로세서의 레지스터를 대피하여 기존에 진행되던 루틴에 영향을 미치지 않도록 하는 것이 일반적인 방법이다. 8051의 경우 ACC 뿐
작업 우선 메모리 관리 메모리 보호 메모리 세그먼트 페이징 세그멘테이션 오류 일반 보호 실패 버스 오류 예 아미가OS BeOS BSD 도스 GNU 리눅스 크롬 OS 맥 OS 모르프OS OS / 2 ReactOS 솔라리스 유닉스 윈도우 더 보기 기타 개념 부트 로더 라이브 CD 라이브 USB PXE API 가상 파일 시스템 가상 테이프 라이브러리 CLI TUI GUI VUI HAL 전거 통제 LCCN : sh94000530 GND : 4625501 - 1 BNF : cb12457456k ( 데이터 ) 원본 주소 " " 분류 : 인터럽트마이크로프로세서마이크로컨트롤러컴퓨터 구조중앙 처리 장치숨은 분류 : 문법 강조 오류가 있는 문서인용 오류 - 날짜영어 표기를 포함한 문서인용 오류 - 지원되지 않는 변수 무시됨문화어 표기를 포함한 문서LCCN 식별자를 포함한 위키백과 문서GND 식별자를 포함한 위키백과 문서BNF 식별자를 포함한 위키백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구
복합 프로그래머블 논리 소자 마이크로컨트롤러 마이크로프로세서 모바일 프로세서 노트북 프로세서 초저전압 프로세서 멀티 코어 매니코어 프로세서 타일 프로세서 멀티칩 모듈 ( MCM ) 칩 스택 멀티칩 모듈 단일 칩 체제 ( SoC ) 멀티프로세서 시스템 온 칩 ( MPSoC ) 프로그래밍 가능 단일 칩 체제 ( PSoC ) 네트워크 온 칩 ( NoC ) 구성 요소 실행 장치 ( EU ) 산술 논리 장치 ( ALU ) 주소 생성 장치 ( AGU ) 부동 소수점 장치 ( FPU ) 로드 스토어 유닛 ( LSU ) 분기 예측 유니파이드 레저베이션 스테이션 배럴 시프터 언코어 Sum addressed decoder ( SAD ) 프론트 사이드 버스 백사이드 버스 노스브리지 사우스브리지 가산기 곱셈기 복호화 주소 디코더 멀티플렉서 멀티플렉서 레지스터 캐시 메모리 관리 장치 ( MMU ) IOMMU 통합 메모리 컨트롤러 ( IMC ) 전원 관리 장치 ( PMU ) 변환 색인 버퍼 ( TLB ) 스택 엔진 레지스터 파일 프로세서 레지스터 하드웨어 레지스터 메모리 버퍼 레지스터 ( MBR ) 프로그램 카운터 마이크로코드 ROM 데이터패스 제어 장치 인스트럭션 유닛 재배열 버퍼 버퍼 쓰기 버퍼 코프로세서 전자 개폐기 전자 회로 집적 회로 3차원 집적 회로 불리언 회로 디지털 회로 아날로그 회로 혼합 신호 집적 회로 전원 관리 집적 회로 회로 논리 회로 조합
##에서 행하도록 기계어 코드를 구성해야 한다. C로 작성할 경우 일반함수와 차이를 두어 컴파일마다 정의하는 방식이 제공된다. [ 7 ] CPU코어 외부에서 인터럽트를 거는 경우가 일반적이지만, CPU 내부에서 실행하면서 걸리는 경우도 있다. 예를 들어 DIV 명령어를 실행할 때 0으로 나누어지거나, 주소 버스에서 할당되지 않는 주소공간을 액세스 한다든지 하는 경우를 예외 ( exception ) 라고 말하고 예외처리를 한다. [ 1 ] 인터럽트는 예외처리의 한 종류로 예외처리의 방식에 의해 처리된다. 인터럽트를 소프트웨어적으로 실행하는 방법도 제공한다. 인터럽트 기계어 명령에 의해 실행된다. x86의 경우 INT 명령어가 소프트웨어 인터럽트 명령어 이다. 리눅스 커널과 같은 운영 체제에서 응용 프로그램의 저수준 입출력 함수가 실행되면, 해당 실시간 라이브러리 함수에 의해 소프트웨어 인터럽트가 실행된다. 이것을 시스템 콜 ( system call ) 이라고 하고, 함수의 기능에 따라 드라이버를 구별하고 드라이버 내의 함수를 지정함과 동시에 데이터를 레지스터를 통해 넘겨준다. 어떤 마이크로프로세서 ( 모토로라 68000 ) 의 경우 트랩이라는 용어를 사용하기도 한다. [ 1 ] 컴퓨터 시스템에서 인터럽트
무정형 컴퓨팅 유비쿼터스 컴퓨팅 패브릭 컴퓨팅 재배열 컴퓨팅 인지 컴퓨팅 아날로그 컴퓨팅 기계식 컴퓨팅 하이브리드 컴퓨팅 디지털 컴퓨팅 DNA 컴퓨팅 컴퓨팅 화학 컴퓨팅 유기 컴퓨팅 컴퓨팅 양자 컴퓨터 신경 모방 컴퓨팅 광 컴퓨터 리버서블 컴퓨팅 비전통 컴퓨팅 하이퍼 계산 3진법 컴퓨터 대칭형 다중 처리 ( SMP ) 비대칭형 다중 처리 ( AMP ) 캐시 계층 메모리 계층 구조 ISA 유형 ASIP CISC RISC EDGE ( TRIPS ) VLIW ( EPIC ) MISC OISC NISC ZISC 비교 ISA X86 z / 아키텍처 ARM MIPS 파워 아키텍처 ( 파워PC ) SPARC 밀 아이테니엄 ( IA - 64 ) 알파 프리즘 슈퍼H V850 클리퍼 VAX 유니코어 PA - RISC 마이크로블레이즈 RISC - V 워드 크기 1비트 2비트 4비트 8비트 9비트 10비트 12비트 15비트 16비트 18비트 22비트 24비트 25비트 26비트 27비트 31비트 32비트 33비트 34비트 36비트 39비트 40비트 48비트 50비트 60비트 64비트 128비트 256비트 512비트 가변 실행 명령어 파이프라인 버블 피연산자 포워딩 비순차적 명령어 처리 레지스터 리네이밍 모의 실행 분기 예측 메모리
실행 명령어 파이프라인 버블 피연산자 포워딩 비순차적 명령어 처리 레지스터 리네이밍 모의 실행 분기 예측 메모리 의존성 예측 하자드 병렬 레벨 비트 비트 직렬 워드 명령어 파이프라이닝 스칼라 슈퍼스칼라 태스크 스레드 프로세스 데이터 벡터 메모리 멀티스레딩 시간적 동시 ( SMT ) ( 하이퍼스레딩 ) SpMT 선점 협력형 클러스터 멀티스레드 ( CMT ) 하드웨어 스카웃 플린 분류 SISD SIMD ( SWAR ) SIMT MISD MIMD SPMD 어드레싱 모드 CPU 성능 초당 명령 수 ( IPS ) 클럭당 명령어 처리 횟수 ( IPC ) 명령어 당 사이클 ( CPI ) 플롭스 ( FLOPS ) 초당 트랜잭션 수 ( TPS ) SUPS 전성비 계산 차수 캐시 성능 측정 및 메트릭 코어 카운트 싱글 코어 프로세서 멀티 코어 매니코어 프로세서 유형 중앙 처리 장치 ( CPU ) GPGPU AI 가속기 시각 처리 장치 ( VPU ) 벡터 프로세서 배럴 프로세서 스트림 프로세서 디지털 신호 처리 장치 ( DSP ) 입출력 프로세서 / DMA 컨트롤러 네트워크 프로세서 베이스밴드 프로세서 물리 처리 장치 ( PPU ) 코프로세서 안전한 암호 보조 처리기 주문형 반도체 FPGA FPOA 복합 프로그래머블 논리 소자 마이크로컨트롤러 마이크로프로세서 모바일 프로세서 노트북 프로세서 초저전압 프로세서 멀티 코어 매니코어 프로세서 타일 프로세서 멀티
##기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 IndonesiaItaliano 日 本 語 中 文 링크 편집 이 문서는 2018년 11월 1일 ( 목 ) 15 : 28에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
마이크로프로세서에서 인터럽트(interrupt), 끼어듦, 또는 가로막기란, 마이크로프로세서(CPU)가 프로그램을 실행하고있을 때, 입출력하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 마이크로프로세서에게 알려 처리할 수 있도록 하는 것을 말한다.폴링이 대상을 주기적으로 감시하여 상황이 발생하면 해당처리 루틴을 실행해 처리한다면, 인터럽트는 상대가 마이크로프로세서에게 일을 처리해 달라고 요청하는 수단이다. 따라서 폴링과 대비되는 개념이다. 폴링은 주기적으로 마이크로프로세서가 상태를 파악하기 위해 장치의 레지스터를 읽어야 한다. 이 작업이 진행되는 동안은 다른 장치는 체크가 힘들다. 그리고 이런 작업은 장치의 상태를 읽는데 마이크로프로세서의 자원이 낭비된다.마이크로프로세서의 다른일과 겹쳐 폴링이 빠른 하드웨어에서 데이터손실될 여지가 있다면, 인터럽트는 해당 하드웨어가 CPU에게 요청하므로 빨리만 처리된다면 데이터손실위험이 작아진다. 폴링은 에 문제의 소지가 있다면, 인터럽트는 필요할 때 처리되는 경향이 있어서 폴링보다 유리하다. 마이크로프로세서는 인터럽트를 감지하면 지금 실행중인 기계어 코드를 중단하고 해당 인터럽트를 위한 처리 프로그램으로 점프하여 해당 일을 수행한다. 인터럽트 처리를 위한 루틴을 인터럽트 서비스 루틴(ISR, Interrupt Service Routine)이라고 한다. 인터럽트는 주로 하드웨어적으로 CPU 코어(CPU-core)에 입력되고, 현재 진행중인 기계어 코드가 종료되면 실행한다. 인터럽트가 접수 되었을 때, 인터럽트를 처리할 것인가는 CPU코어의 특수레지스터에 비트 마스크를 통해 선택적으로 수용한다.인터럽트가 걸리면 해당서비스루틴이 실행되어야 하는데, 현재 진행중인 프로그램이 영향을 받으면 안되므로 우선 ISR에서 레지스터를 스택에 대피하고 해당일을 수행한다. 레지스터 대피는 ISR에서 행하도록 기계어 코드를 구성해야 한다. C로 작성할 경우 일반함수와 차이를 두어 컴파일마다 정의하는 방식이 제공된다.CPU코어 외부에서 인터럽트를 거는 경우가 일반적이지만, CPU 내부에서 실행하면서 걸리는 경우도 있다. 예를 들어 DIV 명령어를 실행할 때 0으로 나누어지거나, 주소 버스에서 할당되지 않는 주소공간을 액세스 한다든지 하는 경우를 예외(exception)라고 말하고 예외처리를 한다. 인터럽트는 예외처리의 한 종류로 예외처리의 방식에 의해 처리된다. 인터럽트를 소프트웨어적으로 실행하는 방법도 제공한다. 인터럽트 기계어 명령에 의해 실행된다. x86의 경우 INT 명령어가 소프트웨어 인터럽트 명령어이다. 리눅스 커널과 같은 운영 체제에서 응용 프로그램의 저수준 입출력 함수가 실행되면, 해당 실시간 라이브러리 함수에 의해 소프트웨어 인터럽트가 실행된다. 이것을 시스템 콜(system call)이라고 하고, 함수의 기능에 따라 드라이버를 구별하고 드라이버 내의 함수를 지정함과 동시에 데이터를 레지스터를 통해 넘겨준다. 어떤 마이크로프로세서(모토로라 68000)의 경우 트랩이라는 용어를 사용하기도 한다.컴퓨터 시스템에서 인터럽트를 거는 원천은 여러개가 존재하는 것이 일반적이다. 따라서 인터럽트의 종류를 구분하는 방법이 필요하다.