프로그램 제어 분기(branch)와 점프(jump) 명령어 PC의 값의 변경 순차적인 프로그램의 진행순서가

Slides:



Advertisements
Similar presentations
Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved. 제7강제7강.
Advertisements

개인의견 차가있을수있음 훈훈한남자 배우 TOP 5. 5 위는 박보검 웃을때보이는 치명적인 미소 꺄 ~~~ 5위5위.
1 Prof. Young Jin Nam, Daegu University 컴퓨터 구조 (Computer Architecture) 명령어 세트 : 특성과 기능 남영진
음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
마이크로프로세서설계 - 3 ATmega128 마이크로컨트롤러의 특징 LED 실습 1
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
제 2장 컴퓨터 구조.
9장 가로채기(Interrupt) Slide 1 (of 15).
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
1차 발표: Jump & Run 학번: 이름: 이자용.
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
제 1 장 마이크로프로세서의 기본동작.
3장 MPU 내부구조 Slide 1 (of 28).
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
제4장. 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
제11강 중앙처리장치 2.
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
컴퓨터 구조.
컴퓨터 중앙처리장치, 기억장치, 입력장치 및 출력장치를 알아보자.
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
버퍼 오버플로우 시스템보안 인터넷공학전공 권영락.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 08 제어장치와 마이크로 오퍼레이션.
Computer Architecture
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제3장 8086 프로세서의 내부구조.
아날로그 VS 디지탈 -. Analog Vs Digital -. 디지털 논리에 대하여 -. 메모리에 대하여
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
명령어 구조 컴퓨터 하드웨어의 구성 프로그램 명령어 프로그램 실행 동작.
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
2015. 인문소양교육.
여행자 보험 가입 시,기내용 목베게+투어팁스 무료맵북 증정
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
PIC16C84의 외형 RA2 1 RA1 I/O PIN I/O PIN RA3 RA0 RTCC OSC1 발 진 RESET
제 10장 운영체제.
제7강 PC정비사 1급(필기) Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved.
11장. 마이크로 프로세서 내부 구조.
소방시설 자동산정 프로그램.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
파워포인트 지키미 (잘못된것은 입력되지 않습니다) 제가 만든 암호기 암호는 ‘1638’ 지우기 입력 완료.
제 3 장 운영체제와 입출력 방식 Section 1 입출력 기능 Section 2 입출력 방식 Section 3 입출력 버퍼링
운영체제 (Operating System) (하드웨어와 응용 프로그램 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어)
SIMPLE CALL Client 사용설명서
기술 진화와 진보.
Lecture #5 제4장. 제어 유니트.
천국 가는 길 천국 가는 길 ♧ 천국 가는 길 ♧ 1. 죄와 사망(지옥) 1) 사람의 3가지 공통점 - 죄인, 죽음, 심판
화 일 구 조 Chapter 3 화일의 입출력 제어.
인터럽트 발생원인 정전 혹은 데이터 전송 과정에서 오류 발생 등 컴퓨터 자체의 기계적인 문제 발생
포이에마장애인보호작업장 시설소개서.
운영체제 장수용.
10장. 컴퓨터 구조에 대한 세 번째 이야기 작성자: 윤성우.
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
Lecture 7 7-Segment LED controller using u-controller
ARM Development Suite v1.2
Presentation transcript:

프로그램 제어 분기(branch)와 점프(jump) 명령어 PC의 값의 변경 순차적인 프로그램의 진행순서가 다른 부분으로 이동하여 수행 대표적인 프로그램 제어 명령어

분기명령 조건부 분기명령 무조건 분기명령 스킵(skip) 주소가 필요없는 무주소 명령어 콜(call)과 리턴(return) 명령어 서브루틴과 연관되어 사용 비교명령어와 테스트명령어 특정 상태를 나타내는 레지스터를 조정함으로써    후에 분기를 일으키게 하는 역할 수행 비교명령어는 두수의 크기를 비교하고, 테스트(test) 명령은 두수를 AND시켜서 특정 상태를 나타나는 비트를 조정

상태 비트 조건 상태비트: 조건 코드(condition code)나 플래그(flag) 상태 레지스터 비트

4개의 상태비트 V,Z,S,C     1) C비트: ALU의 출력 캐리     2) S비트: ALU의 연산결과에서 부호 비트     3) Z비트: ALU의 연산결과의 워드     4) V비트: C7, C8캐리의 excluive-OR 결과

조건부 분기 명령어 조건부 분기 명령어 표 . 각 니모닉은 분기를 나타내는 B와 조건이름 약자로서 구성하며   반대조건의 경우 N을 추가 - 비교 명령어 . 두개의 피연산자의 차이를 계산 . 부호가 있는 경우와 부호없는 경우의 비교

서브루틴 Call과 Return 서브루틴 어떤 특정한 작업을 수행하도록 자체가 일련의 명령어들로 구성되어 있는 프로그램 어떤 프로그램이 수행되는 도중 여러 위치에서 서브프로그램 호출 가능 서브루틴이 수행되고 나서는 다시 주프로그램으로 분기 서브루틴 호출동작 1) 현재 PC값(return address)을 어떤 위치에 기억     기억되는 장소는 기종에 따라 다르나     대부분 특정위치, 서브루틴의 첫번째 시작위치, 스택 등을 사용 2) 프로그램의 수행이 서브루틴의 시작으로 이동

서브루틴 call의 마이크로 연산 SP ← SP + 1     스택 포인터를 하나 증가시킨다 M[SP] ← PC     PC의 내용을 스택에 넣는다 SP ← 유효주소  서브루틴으로 프로그램이 수행하게 한다 return from subroutine 명령어의 마이크로 연산  SP ← M[SP]     스택의 Top의 값을 PC에 넣는다  SP ← PC - 1     PC의 내용을 하나 감소시킨다 순환(recursive) 서브루틴 어떤 서브루틴이 자기 자신을 호출하는 것 스택을 사용하여 리턴 주소를 저장

프로그램 인터럽트 프로그램 수행 중 정상적인 프로그램의 수행을 벗어나게 하는 여러가지의 문제를 다루는 것 내부적 또는 외부적인 요구 인터럽트의 수행 프로그램을 벗어나서 서비스 프로그램을 수행 서비스 프로그램의 수행이 끝나면 원래의 프로그램 수행 인터럽트가 서브루틴 call과 다른 3가지 요건 1) 소프트웨어 인터럽트를 제외하고는 명령어의 수행에 의한 것이라기 보다    내,외부적 신호에 의하여 프로그램의 진행이 변경 2) 서비스 프로그램의 주소는 명령의 주소필드가 아니라 하드웨어에 의해 결정 3) 인터럽트에서는 PC뿐만 아니라 CPU의 다른 상태를 나타내는 정보도 대피

인터럽트 발생시 CPU의 확인 내용 프로그램 카운터의 내용 모든 레지스터의 내용 상태조건의 내용 program status word(PSW) CPU의 상태를 나타내는 정보를 기억 독립된 레지스터로 구성 ALU의 상태비트, 발생 가능한 인터럽트, CPU가 감독자 모드(kernel 모드: UNIX)인지 사용자 모드인지를 표시

인터럽트의 처리 인터럽트가 발생하면 CPU의 상태를 스택에 저장 프로그램 카운터가 바뀐다. 이때 서비스 프로그램의 시작 위치는 하드웨어적 동작에 의해 결정 어떤 기종에서는 인터럽트가 발생하면 항상 일정한 주소에서 수행되면서 인터럽트의 원인을 분석하여 그에 대응되는 처리를 제공 인터럽트 사이클(interrupt cycle) CPU는 명령어의 실행 사이클이 한번씩 완료될 때마다 인터럽트가 발생했는지를 확인 인터럽트가 발생했다면 인터럽트 사이클로 변환, 이 사이클 동안 PC와 PSW가 스택에 저장되고, 분기해야할 주소가 PC에 놓여지고, 새로운 PSW를 결정하여, 인터럽트 서비스 프로그램으로 진행

인터럽트의 형태 세가지 형태의 인터럽트 외부 인터럽트 내부 인터럽트 소프트웨어 인터럽트 입출력장치, 타이밍장치, 전원 등 외부적 요인으로 발생 예) 입출력 장치가 데이타의 전송을 요구, 정보 전송의 완료 통보,       정해진 시간이 지났을 때, 전원 공급이 끊어질 때 외부 인터럽트 프로그램은 비동기성, 즉 프로그램이 수행되는 당시의 상황(입출력 장치 등)에 의해 결정

내부 인터럽트 trap이라 불리기도 한다 불법적인 명령이나 데이타를 사용할 때 발생 예) overflow가 발생했거나, 0 으로 나눈다거나,    스택이 넘치거나, 메모리 보호가 어려워졌을 때 발생 인터럽트 프로그램은 동기성이다. 즉 매번 같은 위치에서 발생 외부 인터럽트와 같이 CPU의 하드웨어에서의 신호에 의해 발생

소프트웨어 인터럽트 특수한 call 명령어로 프로그램에 의해 프로그램상의 원하는 위치에서 고의로 발생    프로그램상의 원하는 위치에서 고의로 발생 예) 감독자 call 명령어(supervisor call instruction), 시스템 call 명령어(UNIX)     * 사용자 모드에서 감독자 모드(kernel 모드: UNIX)로 CPU 상태를 변환시키는 것     * 복잡한 입력/출력 전송 절차와 같은 특수한 동작을 운영체제내에서 수행하는 모드     * 프로그램은 요구한 작업에 관한 정보를 운영체제에 제공해야 한다.