제11강 중앙처리장치 2.

Slides:



Advertisements
Similar presentations
ARM core UNIT 03 로봇 SW 교육원 조용수. 학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2.
Advertisements

음란물에 대하여. 인터넷 음란물의 의미 돈벌이를 위해 단지 성적 욕망을 불러 일으키기 위한 음란한 인터넷 상의 사 진, 동영상, 만화 등을 말한다.
아이핑 소개 (탁구대회) 아이핑 담당 신동일 네이버(다음)에서 아이핑검색 아이핑 소개 (탁구대회) 담당 신동일 아이핑.
Understanding of Ubiquitous & Computers Plus
소규모 합병 공고 주식회사 포스코는 주식회사 포스하이메탈과 2015년 12월23일 합병계약을
마이크로프로그램된 제어 (Microprogrammed Control)
1. PC 에서 회원가입 1. 회원가입 버튼 클릭 클릭.
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
디지털교과서 활용 연수 남양초등학교 최 종 원.
암 보다 더 무서운 당뇨 2010년 [아시아경제 강경훈 기자 ].
프로그램 제어 분기(branch)와 점프(jump) 명령어 PC의 값의 변경 순차적인 프로그램의 진행순서가
9장 가로채기(Interrupt) Slide 1 (of 15).
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
1차 발표: Jump & Run 학번: 이름: 이자용.
소규모 합병 공고 주식회사 포스코는 포스코그린가스텍 주식회사와 2016년 2월26일 합병계약을
기본 컴퓨터 프로그래밍 Lecture #6.
제 10 장 시장지배력: 독점.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
제4장. 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
제4장 제어 유니트 4.1 제어 유니트의 기능 4.2 제어 유니트의 구조 4.3 마이크로 명령어의 형식
7장 마이크로프로세서의 명령어수행과 주소지정 방식 Slide 1 (of 29).
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
컴퓨터 구조.
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 08 제어장치와 마이크로 오퍼레이션.
4장 컴퓨터의 중앙 처리 장치 하 효 순.
제10강 중앙처리장치 1.
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
ARM 명령어 집합 Lecture #7.
3주 컴퓨터구조.
4장. 컴퓨터 구조에 대한 두 번째 이야기 작성자: 윤성우.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
CHAPTER 03. 컴퓨터 구조 컴퓨터 시스템의 구성과 동작 원리_컴퓨터 시스템에 대한 근본적 이해
Chapter 4 The Von Neumann Model.
초등학생이 pc방을 가도 되는가? 등마 초등학교 5학년 4반 김근아.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
나무 CMA 계좌 비대면으로 개설하기.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
소방시설 자동산정 프로그램.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture #5 제4장. 제어 유니트.
인터럽트 발생원인 정전 혹은 데이터 전송 과정에서 오류 발생 등 컴퓨터 자체의 기계적인 문제 발생
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
10장. 컴퓨터 구조에 대한 세 번째 이야기 작성자: 윤성우.
100세 시대, 스마트 헬스케어와 미래직업 (3) 고령화 사회에 필요한 웨어러블.
임베디드 하드웨어 Lecture #6.
코딩교육, 어떻게 해야 할까 이천양정여자고등학교 김가연 안선영.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture 7 7-Segment LED controller using u-controller
4-1. 명령어 형식.
제 1 강 컴퓨터의 구조.
11월 고등부 공과설교 업드림? 업드림! 갈라디아서 6:9-10.
Chapter 12 중력.
Presentation transcript:

제11강 중앙처리장치 2

강의내용 명령어 사이클 명령어 수행과정 간단한 구조의 컴퓨터 설계

중앙처리장치에서의 명령어 수행 ALU 중앙처리장치와 기억장치의 구성도 기 억 장 치 AC PC 제어장치 IR MBR MAR 내부 버스 제어장치 IR MBR MAR 데이터버스 주소버스 제어버스

명령어 사이클 명령어 사이클(instruction cycle) 명령어 사이클의 종류 한 개의 명령어를 CPU에서 수행하는데 필요한 전체 수행 과정 명령어 사이클의 종류 인출 사이클(fetch cycle) 실행 사이클(execute cycle) 간접 사이클(indirect cycle) 인터럽트 사이클(interrupt cycle)

명령어 사이클 명령어 수행 과정 명령어 인출 명령어 해석 명령어 실행 저 장 인터럽트 처리 기억장치로부터 명령어를 가져오는 과정 인출된 명령어의 주소는 PC에 들어있고, 인출된 명령어는 IR로 옮겨진다. 명령어 인출 명령어를 해독하는 과정 명령어의 종류에 따라 필요한 경우 오퍼랜드의 인출이 일어난다. 명령어 해석 지정된 연산을 실행하는 과정 간접주소지정인 경우 기억장치로부터 데이터가 들어있는 유효주소를 인출 명령어 실행 명령어 실행단계에서 수행된 연산 결과가 레지스터 혹은 기억장치에 쓰여지는 과정 저 장 명령어 실행 도중에 입출력장치와 같은 다른 장치에 의해 인터럽트가 들어오면 그에 합당한 서비스를 제공하는 과정 인터럽트 처리

명령어 인출 사이클 기억장치에 저장되어 있는 명령어를 인출하는 과정 T2 : IR ← MBR T0 : MAR ← PC (첫번째 클럭 T0에서는 다음 명령어의 주소가 들어 있는 PC의 내용을 MAR로 이동 시킨다.) T1 : MBR ← M[MAR], PC ← PC+1 (두번째 클럭 T1 에서는 MAR 에 저장된 주소를 가지고 기억장치에 저장된 내용을 MBR로 이동시키며, 동시에 PC 를 1 증가시킨다.) T2 : IR ← MBR (세번째 클럭 T2 에서는 MBR에 저장된 명령어를 실행시키기 위해 IR로 이동시킨다.)

명령어 인출 사이클 ALU 명령어 인출사이클의 명령어 흐름도 AC IR MBR MAR PC 제어장치 기 억 장 치 중앙처리장치 내부 버스 AC IR MBR MAR PC 제어장치 데이터버스 기 억 장 치 T0 T1 T2 주소버스 제어버스 명령어 인출사이클의 명령어 흐름도

명령어 실행 사이클 명령어를 실행하는 과정 이 과정에서는 명령어 인출과정을 통하여 IR 레지스터에 실린 명령어를 해독하고, 해독한 명령어에 따라 필요한 연산이 수행된다. 수행되는 연산들의 기능   • 데이터의 이동 기능 : 기억장치와 CPU 혹은 입출력장치 사이에 데이터의 이동    • 데이터의 처리 기능 : 산술 혹은 논리연산을 통한 데이터 처리    • 데이터의 저장 기능 : 연산결과를 기억장치에 저장    • 제어 기능 : 프로그램의 실행 순서를 결정

명령어 실행 사이클 LOAD 명령어의 실행 사이클 T1 : MBR ← M[MAR] T2 : AC ← MBR   LOAD 명령어는 데이터 이동을 위한 명령어로써 원하는 기억장치의 데이터를 CPU의 내부 레지스터인 누산기로 가져오는 명령어이다. ① 누산기로 이동할 데이터가 들어있는 주소가 MAR에 실린다. ② MAR 레지스터에 있는 주소의 데이터가 MBR에 실린다. ③ MBR에 들어있는 데이터를 누산기로 읽어온다. T0 : MAR ← IR(adrs) T1 : MBR ← M[MAR] T2 : AC ← MBR

실행 사이클의 명령어 흐름도(LOAD 명령어) 명령어 실행 사이클 ALU 중앙처리장치 내부 버스 AC IR MBR MAR PC 제어장치 데이터버스 기 억 장 치 T2 T1 T0 주소버스 제어버스 실행 사이클의 명령어 흐름도(LOAD 명령어)

명령어 실행 사이클 ADD 명령어의 실행 사이클 T1 : MBR ← M[MAR] T2 : AC ← AC + MBR   ADD명령어는 데이터 처리명령어로서 누산기에 있는 데이터와 기억장치에 있는 데이터를 더한 후에 그 결과를 누산기에 저장하는 명령어이다. ① 더해질 데이터가 들어있는 기억장치의 주소가 MAR에 실린다. ② MAR에 있는 기억장치 주소에 해당하는 데이터가 MBR에 실린다. ③ 누산기에 있는 데이터와 MBR에 있는 데이터가 더해지고, 결과가 누산기에 저장된다. T0 : MAR ← IR(adrs) T1 : MBR ← M[MAR] T2 : AC ← AC + MBR

명령어 실행 사이클 STORE 명령어의 실행 사이클 T1 : MBR ← AC T2 : M[MAR] ← MBR   STORE 명령어는 연산결과를 갖고 있는 누산기의 데이터를 기억장치에 저장하는 동작을 수행한다. ① 저장되어질 주소가 MAR에 실린다 ② 누산기에 있는 데이터가 MBR에 실린다. ③ MBR에 있는 데이터가 MAR에 있는 주소로 저장된다. T0 : MAR ← IR(adrs) T1 : MBR ← AC T2 : M[MAR] ← MBR

명령어 실행 사이클 분기및 점프 명령어의 실행 사이클 PC가 가지는 주소의 명령어가 아니라, 분기 혹은 점프 명령어에 있는   분기(branch)와 점프(jump)명령어는 제어기능을 수행하는 명령어로써 프로그램의 순서를 바꾸는 명령어이다. 즉, 다음에 수행할 명령어는 PC가 가지는 주소의 명령어가 아니라, 분기 혹은 점프 명령어에 있는 주소에 해당하는 명령어이다. ① 분기 혹은 점프 명령어에 있는 주소가 PC에 실린다. T0 : PC ← IR(adrs)

간접 사이클 T1 : MBR ← M[MAR] T2 : IR ← MBR T0 : MAR ← IR(adrs) 간접주소지정방식에서 명령어 오퍼랜드의 유효주소를 결정하는 과정 인출 사이클에서 인출된 명령어가 간접주소지정방식을 사용하면, 간접 사이클이 실행 사이클보다 먼저 실행된다.   ① 명령어의 주소가 MAR에 실린다. ② MAR이 지정한 주소의 데이터가 MBR에 실린다. ③ MBR에 있는 데이터가 IR의 주소 필드에 실린다. T0 : MAR ← IR(adrs) T1 : MBR ← M[MAR] T2 : IR ← MBR

인터럽트 사이클 T1 : MAR ← SP, PC ← ISR(adrs) T2 : M[MAR] ← MBR T0 : MBR ← PC CPU의 정상적인 동작 중에 인터럽트 요청이 발생했을 때 실행되는 과정 실행 사이클이 끝난 직후에 인터럽트가 발생했는지를 검사하며, 발생 하였다면 인터럽트 서비스 루틴(ISR : interrupt service routine)이 시작되도록 하는 것이 인터럽트 사이클이다.   ① 현재 수행하고 있는 명령어를 처리한 후, 다음에 수행할 명령어 주소를 갖고 있는 PC 의 내용을 스택에 저장한다. ② 요청된 인터럽트 서비스 루틴을 호출하여 그 서비스 루틴의 시작 주소를 PC에 저장한다. T0 : MBR ← PC T1 : MAR ←  SP,  PC ← ISR(adrs) T2 : M[MAR] ← MBR

간단한 구조의 컴퓨터 설계 설계를 위한 컴퓨터의 기본 구성 구성요소 6 개의 레지스터 2 개의 디코더 제어논리 게이트 PC 기억장치(256×8) 6 개의 레지스터 2 개의 디코더 제어논리 게이트 기억장치 256×8 AR DR IR AC 연산디코더 D1 ~ D6 제어논리 게이트 제어출력 T0 ~ T7 타이밍디코더 TC

간단한 구조의 컴퓨터 설계 컴퓨터 설계를 위한 레지스터 DR 8 AR AC IR PC TC 3 레지스터기호 비트수 레지스터이름 기억장치에서 읽어올 단어의 내용이나 기억 장치에 쓰여질 단어의 내용을 갖는다 레지스터기호 비트수 레지스터이름 DR 8 데이터 레지스터 AR 주소 레지스터 AC 누산기 IR 명령어 레지스터 PC 프로그램 카운터 TC 3 타이밍 카운터 오퍼랜드의 주소를 갖는다. 데이터 처리가 이루어지는 범용 레지스터이다 명령어의 연산코드를 갖고 있다. 수행하려는 명령어의 주소를 갖고 있다. 타이밍 변수 T0 ~ T7까지를 디코드한다

간단한 구조의 컴퓨터 설계 명령어의 설계( 예: 6개의 명령어 ) 연산 코드 기호 이름 기 능 전 송 문 00000001 기 능 전 송 문 00000001 INA AC를 증가 AC←AC+1 00000010 CMA AC의 보수 AC←AC 00000011 LDI OPRD 즉치 값을 AC에 적재 AC←OPRD 00000100 ADI OPRD 즉치 값을 AC에 더함 AC←AC+OPRD 00000101 LDA ADRS AC로 적재 AC←M[ADRS] 00000110 STA ADRS AC의 내용을 기억장치에 적재 M[ADRS]←AC 실제 연산코드에 필요한 비트 수는 사용하는 연산의 총 수와 관련한다. 즉, 2n개의 연산을 수행하기 위해서는 최소한 n-비트가 필요하다

T0와 T1은 타이밍 변수로서 명령어 인출단계에서 제어변수로 사용된다. 간단한 구조의 컴퓨터 설계 명령어의 수행과정 분석 명령어 인출 단계 PC가 지정한 번지에 있는 연산코드를 기억장치로부터 DR로 읽어온다. 다음에 연산코드는 DR로부터 IR로 전송되고, PC는 기억장치의 다음 주소를 지정하기 위해 1 증가한다. T0 : DR← M[PC] T1 : IR←DR, PC← PC+1 T0와 T1은 타이밍 변수로서 명령어 인출단계에서 제어변수로 사용된다.

간단한 구조의 컴퓨터 설계 명령어의 수행과정 분석 명령어 실행 단계( 예: INA 명령 ) 타이밍 변수 T2 동안에 연산코드는 IR에 들어 있으며, 연산 디코더 출력 중의 하나만이 1이 된다. 따라서 제어장치는 이 디코더의 출력을 사용해서 다음 마이크로 연산을 지정한다. 즉, INA명령은 연산코드가 00000001이므로, 이는 디코더의 출력 중에서 D1을 1로 하게 된다 D1T2 : AC← AC+1, TC← 0 T2 시간에 D1=1이면, AC는 1 증가하고 TC는 0 으로 리세트된다. TC를 0 으로 리세트함으로써 제어는 타이밍변수 T0로 되돌아가므로, 인출단계를 다시 시작하고 다음 명령어의 연산코드를 읽게 된다.

간단한 구조의 컴퓨터 설계 명령어의 수행과정 분석 D3T3 : AC← DR, PC← PC+1, TC← 0 명령어 실행 단계( 예: LDI OPRD 명령 ) LDI 명령은 연산코드가 00000011이므로 디코더 출력 D3가 1이 된다. D3T2 : DR← M[PC] D3T3 : AC← DR, PC← PC+1, TC← 0 D3=1일 때 타이밍변수는 T2이다. 이 시간에 오퍼랜드를 기억장치로부터 인출하여 DR에 적재한다. T3시간에 DR로 읽어온 오퍼랜드는 AC로 전송하고, PC는 다시 1 증가한다. 명령어의 실행을 끝낼 때에는 항상 TC를 0 으로 리세트시켜서 인출 단계로 되돌아간다.

간단한 구조의 컴퓨터 설계 명령어의 수행과정 분석 D5T2 : DR← M[PC] D5T3 : AR← DR, PC← PC+1 명령어 실행 단계( 예: LDA ADRS 명령 ) LDA 명령은 연산코드가 00000101이므로 디코더 출력 D5가 1이 된다. D5T2 : DR← M[PC] D5T3 : AR← DR, PC← PC+1 D5T4 : DR← M[AR] D5T5 : AC←DR, TC← 0 T2시간에 ADRS의 값이 인출되며, T3시간에 이 주소는 DR에서 AR로 전송되고, PC는 다시 증가한다. 그리고 ADRS는 오퍼랜드의 주소이므로 T4시간에 오퍼랜드를 DR에 옮긴다. 다음으로 T5시간에는 오퍼랜드를 DR에서 AC로 전송하고, 제어는 인출 단계로 돌아간다.(TC←0)

간단한 구조의 컴퓨터 설계 명령어의 전체 수행과정 T0 : T1 : T2 : T3 : T4 : T5 : D1 D2 D3 D4 DR← M[PC] AC← AC+1 TC← 0 AC← AC TC←0 IR←DR PC←PC+1 OP코드 디코드 AC←DR AC←AC+DR AR←DR DR← M[AR] AC← DR AR← DR DR← AC M[AR]← DR T0 : T1 : T2 : T3 : T4 : T5 : ① INA ② CMA ③ LDI OPRD ④ ADI OPRD ⑤ LDA ADRS ⑥ STA ADRS 시작 D1 D2 D3 D4 D5 D6

간단한 구조의 컴퓨터 설계 제어논리의 구현 레지스터 전송표현 마이크로 연산 제어 함수 컴퓨터 명령어가 수행하는 연산을 정의하고, 컴퓨터의 내부 동작을 나타내는데 유용한 방법이다. 전송문에서 나타낸 제어 함수와 마이크로 연산이 디지털시스템 을 설계하는데 사용된다. 레지스터 전송표현 마이크로 연산 레지스터의 종류와 데이터 처리장치에서 수행해야 할 디지털 함수를 나타내며, 제어 함수는 제어장치에 필요한 제어논리 게이트를 나타낸다고 볼 수 있다. 제어 함수 논리 게이트들을 이용한 논리회로로 구현할 수 있으며, 이렇게 구현된 제어논리들이 마이크로연산을 수행하게 되기 때문에 하드웨어에 의한 제어장치를 구현할 수 있게 된다.

간단한 구조의 컴퓨터 설계 제어함수의 유도 PC←PC+1 의 동작을 찾으면 명령어 수행단계에서의 모든 전송문을 조사해서 같은 마이크로 연산을 수행하는 문장을 찾아 제어함수를 유도한다. 예를들어 PC←PC+1 의 동작을 찾으면 T1 + (D3 + D4 + D5 + D6)T3 : PC← PC+1 타이밍 변수 T1일때 수행하며, T3에서 디코더출력이 D3, D4, D5, D6 일 때도 수행된다.

간단한 구조의 컴퓨터 설계 제어함수의 하드웨어 구현 PC ③ ② ① 마이크로연산 PC←PC+1 의 하드웨어 구현 8 T1 T3 D6 D5 D4 D3 T1 T3 클럭 8 ① ② ③ 증가

간단한 구조의 컴퓨터 설계 유도된 제어함수 제 어 함 수 마이크로 연산 C1 = T0+(D3+D4+D5+D6)T2 제 어 함 수 마이크로 연산 C1 = T0+(D3+D4+D5+D6)T2 DR ← M[PC] C2 = T1+(D3+D4+D5+D6)T3 PC ← PC+1 C3 = T1   IR ← DR C4 = D1T2 AC ← AC+1 C5 = D2T2 AC ← +1  C6 = D3T3+D5T5   AC ← DR  C7 = D4T3 AC ← AC+DR  C8 = (D5+D6)T3   AR ← DR   C9 = D6T4   DR ← AC   C10 = D5T4 DR ← M[AR]   C11 = D6T5   M[AR] ← DR C12 = (D1+D2)T2+(D3+D4)T3+(D5+D6)T5 TC ←0 AC

간단한 구조의 컴퓨터 설계 제어함수를 구현한 제어논리 D1 D2 D3 D4 D5 D6 T0 T1 T2 T3 T4 T5 C1

간단한 구조의 컴퓨터 설계 제어함수를 이용한 컴퓨터 설계 C1-C12 C1 ① C2 C10 기억장치 PC 256 ×8 입력데이타 ① 적재 선택 적재 C10 ① 기억장치 256 ×8 C2 PC 10 주소 MUX ① ② 기록 C8 적재 C11 AR ③ 출력데이타 적재 C3 IR 선택 0 1 MUX ② ④ 디 코 더 ① C9 기록 C10 ② DR C1 D1 D2 D3 D4 D5 D6 제어논리게이트 C1-C12 8 비트 가산기 T0 T1 T2 T3 T4 T5 T6 T7 선택 0 1 디 코 더 ② MUX ③ 리셋 C7 적재 C12 C6 ③ TC AC C4 증가 ④ 보수 증가 C5

다음 강의 <제12강 중앙처리장치 3> 수고하셨습니다. 다음 강의 <제12강 중앙처리장치 3>