6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식

Slides:



Advertisements
Similar presentations
학교 자체평가의 실제 신 동 한. 목 차  표지 제목  학교 소개  평가위원회 구성  지표별 평가의 실제  학교 자체평가의 향후 반영 계획  설문지 처리.
Advertisements

Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
5 학년 6 반 김진석.  애니메이션은 라틴어의 아니마 에서 온 것이다. 아니마 는 생명 영혼 정신을 가르키는 것리다.  애니메이션의 원리는 그림을 움직이는 환등기로 만드는데, 환등기는 인간이 가지고 있는 눈의 잔상 을 이용해 만들어 졌다.  최초의 애니메이션 작품은.
Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Understanding of Ubiquitous & Computers Plus
소규모 합병 공고 주식회사 포스코는 주식회사 포스하이메탈과 2015년 12월23일 합병계약을
행정소송 실무교육 공익법무관 문 유 식 인사 공익법무관 소개 서울고검 소개.
1. 던전 디자인 개요_1 1. ‘던전’ 룬스톤은 던전 한 층에도 여러 개가 존재하며, 각 룬스톤 마다 영향을 미치는 범위가 설정되어 있다. 룬스톤이 영향을 주는 범위에 일정시간 사용자가 위치해 있게 되면 사용자 캐릭터는 ‘유령화’ 되어 버리기 때문에, 사용자는.
조선왕조의 유교정치.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
프로그램 제어 분기(branch)와 점프(jump) 명령어 PC의 값의 변경 순차적인 프로그램의 진행순서가
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
소규모 합병 공고 주식회사 포스코는 포스코그린가스텍 주식회사와 2016년 2월26일 합병계약을
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
10장 주변장치 (PIO) Slide 1 (of 28).
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
Lecture #7 어셈블리어 (4) 매크로 어셈블리어 시스템프로그래밍.
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
연습문제풀이/도움말.
DSP와 TMS320F28x의 이해.
제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장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
하드웨어 구현 - A/D 변환기(A/D converter) - 샘플링 주파수(Sampling frequency)
Chapter 7. Pentium Processor
Chapter 08 제어장치와 마이크로 오퍼레이션.
4장 컴퓨터의 중앙 처리 장치 하 효 순.
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제3장 8086 프로세서의 내부구조.
제 2장 컴퓨터동작의 기본 개념.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
Chapter 4 The Von Neumann Model.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
6장 연산 장치 6.1 개요 6.2 연산장치의 구성요소 6.3 처리기 6.4 기타 연산장치.
Computer System Architecture
논리회로 설계 및 실험 3주차.
계약서 관련 실무 계약 위반과 판례 김래균.
생활 철학 인간이란 무엇인가?.
제5강 처리 장치 2.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
2016 하계 현장실습 매뉴얼 ≫≫ 학생용.
제16강 입출력시스템 1.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture #5 제4장. 제어 유니트.
인터럽트 발생원인 정전 혹은 데이터 전송 과정에서 오류 발생 등 컴퓨터 자체의 기계적인 문제 발생
임베디드 하드웨어 Lecture #6.
Lecture 7 7-Segment LED controller using u-controller
제2기 지역사회복지계획 수립, 추진 및 평가 사 례 발 표
Presentation transcript:

6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식 제 6 장 중앙 처리 장치 6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식

주변 장치(peripheral equipment) 중앙 처리 장치(CPU) 제어 장치, 연산 장치, 그리고 기억 장치를 포함한 컴퓨터 본체 주변 장치(peripheral equipment) 입출력 장치와 보조 기억 장치.

[그림 6-1] 중앙처리 장치와 주 기억 장치의 명령 실 행 과정

(1) 기억 장치에서 읽어 온 데이터에 대해서 다음과 같은 조작을 수행한다. 중앙 처리 장치의 가장 중요한 기능 명령 세트(instruction set)를 제공하는 것 제공된 명령어 세트를 처리하는 것. 명령 세트 컴퓨터 규모에 따라서 명령 세트의 크기는 다르며 수십에서 수백 가지 명령으로 구성 프로그램의 편의성, 경제성, 신뢰성 등에 중요한 영향을 미치는 요소들 중에 하나이며 컴퓨터 성능에 직접적인 영향을 미침. 중앙 처리 장치의 기능 (1) 기억 장치에서 읽어 온 데이터에 대해서 다음과 같은 조작을 수행한다. 연산 처리 ; 고정 소수점 수, 부동 소수점 수, 10 진수에 관한 4칙 연산 비교 처리 ; 수의 비교, 논리 데이터(문자 등)의 비교 데이터 전송 ; 기억 장치로부터 다른 기억 장치로 데이터 전송 편집 ; 출력 데이터를 편집해서 이해하기 쉬운 형식으로 만든다. 변환 ; 10 진수에서 2 진수로, 2 진수에서 10 진수로 변환 테스트와 분기(test & branch) ; 부호 테스트, 비교 결과의 대소 테스트, 반복 회수 계산과 테스트, 인덱스에 관한 계산과 테스트 연산 제어 ; 컴퓨팅 시스템의 상태나 조작의 흐름을 제어 기타 (2) 데이터 처리 순서를 표시하는 프로그램을 기억 장치로부터 인출하여, 여러 가지의 장 치를 구동하면서 조작을 행한다.

6-1-1 레지스터 6-1-2 산술 논리 연산 장치 6-1-3 제어 장치 6-1-4 신호 전송로 6-1 중앙 처리 장치의 내부 구조 6-1-1 레지스터 6-1-2 산술 논리 연산 장치 6-1-3 제어 장치 6-1-4 신호 전송로

6-1-1 레지스터 프로그램 수행 도중에 데이터의 요구가 있을 때까지 또는 버스나 다른 장치가 데이터를 받을 준비가 될 때까지 일시적으로 데이터를 기억하는 임시 기억 장치 중앙 처리 장치 내에 모든 레지스터는 같은 수의 비트로 구성하는 것이 원칙 레지스터의 비트 수는 중앙 처리 장치의 병렬 처리 능력을 표시. 레지스터의 수가 많고, 기능이 다양하면 불필요한 주 기억 장치의 접근을 피할 수 있고 명령어들을 빠르게 처리할 수 있음

데이터 레지스터 (1) 사용자가 프로그램할 수 있는 레지스터 사용자가 프로그램 내에서 또는 데이터 처리에 필요한 작업을 수행하기 위해서 사용 데이터 레지스터 고정 소수점 수치와 부동 소수점 수치를 저장하기 위해서 사용. 데이터를 저장하기 위해서만 사용될 수 있으며, 피연산자의 주소를 계산하는 데는 사용될 수 없음

전담 레지스터(dedicated register) 주소 레지스터 대체로 범용으로 사용되거나 특정 주소 지정 방식을 위하여 사용 전담 레지스터(dedicated register) 레지스터의 기능을 확정 지어 놓은 것 레지스터를 사용하는 데 있어서 융통성이 적다. 명령에서 작은 수의 비트들로 레지스터를 지정할 수 있으므로 명령 해독 시간이 단축되어 수행 시간을 짧게 할 수 있음.

범용 레지스터(general register) 레지스터의 기능을 확정 지어 놓지 않은 것 프로그래머가 여러 가지 목적으로 사용할 수 있으므로 레지스터 이용 효율을 높일 수 있음. 용도 주소 지정 연산을 위한 데이터 보관 제어용 정보의 보관 누산기, 베이스 레지스터, 계수기 레지스터 등으로도 사용

① 누산기(ACC ; accumulator) 누산기는 연산용 레지스터로서 산술 및 논리 연산의 결과를 일시적으로 기억. ② 베이스 레지스터 사용자 프로그램이 주 기억 장치에 적재되는 시작 주소를 기억. ③ 계수기 레지스터 문자열 조작 명령이나 루프 명령에 있어서 계수기로 사용.

조건 코드(condition code 또는 flag) 연산 결과에 따라 중앙 처리 장치에 의해서 세트되는 비트들. 조건 코드의 비트들은 하나 이상의 레지스터에 모아지며, 이들은 제어 레지스터의 일부가 됨. 이러한 비트들은 기계 명령어에 의하여 검사될 수 있지만 프로그래머에 의해 수정될 수는 없음.

(2) 제어 레지스터와 상태 레지스터 제어 레지스터 중앙 처리 장치와 기억 장치 사이에 데이터를 이동하기 위해서 사용되는 레지스터 명령 레지스터, 프로그램 계수기, MBR 와 MAR 등

① 명령 레지스터(IR) 프로그램 수행 도중에 현재 수행하고 있는 명령을 기억 제어 장치로 하여금 그 명령이 올바르게 수행되도록 제어 정보를 제공 명령 레지스터에 있는 명령어는 명령 해독기(decoder)에 의해서 명령의 의미가 해독되어 타이밍이 조정된 후 제어 신호로서 각 구성 요소에 전달됨.

② 프로그램 계수기(PC) ③ MAR 과 MBR 컴퓨터가 현재 실행 중인 명령 다음에 실행할 명령의 주소를 기억. 제어 장치로 하여금 프로그램 수행 순서를 올바르게 수행하도록 하는 정보를 제공. ③ MAR 과 MBR 주 기억 장치와 중앙 처리 장치의 속도 차이 및 이들이 다루는 단위 정보의 길이 차이 등의 이유로 반드시 필요함.

기억 장치 주소 레지스터(MAR) 기억 장치 버퍼 레지스터(MBR) 데이터나 명령을 주 기억 장치에서 읽어 내거나 주 기억 장치에 써넣기 위한 주소를 기억하고 있는 레지스터. 기억 장치 버퍼 레지스터(MBR) 기억 장치에서 읽어 내거나 주 기억 장치에 써넣기 위한 데이터나 명령을 기억하고 있는 레지스터. MBR의 크기는 데이터 워드를 구성하는 비트 수에 따라 결정됨.

프로그램 상태 워드 레지스터(PSW) 처리기 상태 레지스터, 또는 조건 코드 레지스터 라고도 하며, 개인용 컴퓨터에서는 풀레그 레지스터라고 함. 프로그램 상태 워드를 기억하는 레지스터로서 조건 코드와 그외의 다른 상태 정보를 포함하고 있음. (예) 시스템 보호키 AMWP 인터럽트 ILC CC 프로그램 명령 주소 마스크 코드 마스크 0 7 8 11 12 15 16 31 32 33 34 35 36 39 40 63

고정 소수점, 부동 소수점, 가변 워드 길이 등의 산술 연산과 논리 연산을 주로 실행 6-1-2 산술 논리 연산 장치 고정 소수점, 부동 소수점, 가변 워드 길이 등의 산술 연산과 논리 연산을 주로 실행 ALU의 기본적인 기능 2 진 덧셈과 뺄셈 논리 연산 보수 연산 좌·우측 시프트(shift)

(1) ALU의 산술 연산 기능 연산의 대상이 되는 숫자 데이터 의 표현 정수, 부동 소수점 수(실수), 그리고 2 진화 10 진수 데이터 의 표현 일반적으로 부호와 절대값, 1의 보수, 2의 보수로 표현 대부분의 컴퓨터는 2의 보수 체계로서 연산을 실행.

산술 논리 연산 장치(ALU) 2 개의 입력 단자와 1 개의 출력 단자를 가지고 있음. X(더해지는 수) Y(더하는 수) (n) (n) 자리올림(carry-out) 자리올림(carry-in) C(1) Z(1) (n) S(합) 병렬 가산기

A B 1 A + B + 1 → S A에 B의 2의 보수를 더함 A all 0 0 A → S A를 전송 표 6-1 병렬 가산기로 가능한 산술 연산들 X Y Z 수행되는 연산 비고 A B 0 A + B → S 덧셈 A B 1 A + B + 1 → S 자리 올림을 포함한 덧셈 A B 0 A + B → S A에 B의 1의 보수를 더함 A B 1 A + B + 1 → S A에 B의 2의 보수를 더함 A all 0 0 A → S A를 전송 A all 0 1 A + 1 → S A를 1 증가 A all 1 0 A - 1 → S A를 1 감소 A all 1 1 A → S A를 전송

[그림 6-5] 4 비트 병렬 가산기

어떠한 논리 연산에 대하여도 각각 한 쌍의 입력을 갖는 그 연산에 필요한 논리 게이트만 있으면 됨. (2) ALU의 논리 연산 기능 어떠한 논리 연산에 대하여도 각각 한 쌍의 입력을 갖는 그 연산에 필요한 논리 게이트만 있으면 됨. 기본적인 논리 연산 보통 AND, OR, NOT, 그리고 XOR

(3) ALU의 시프트 기능 병렬 적재 양방향 시프트 레지스터를 이용하거나 멀티풀렉서를 이용하여 구현 가능

(4) 풀레그 레지스터(flag register) 개인용 컴퓨터에 있어서 누산기와 함께 쌍으로 되어 ALU에서 계산된 결과의 상태를 표시 상태 풀레그 수치 연산 및 논리 연산 결과에 따라 CPU 의 상태를 표시(CF, PF, AF, ZF, SF, OF) 제어 풀레그 CPU의 동작을 변경(TF, IF, DF) MSB LSB OF DF IF TF SF ZF AF PF CF

6-1-3 제어 장치 제어 장치의 두 가지 기본 동작 명령을 기억 장치로부터 인출하여 그 명령이 무엇을 요구하고 있는가를 해독. 명령의 호출 사이클, 또는 fetch cycle 해독한 내용으로서 연산 장치, 기억 장치, 입출력 장치에 지령 신호를 보내서 실행. 명령의 실행 사이클, 또는 execute cycle

제어 장치 미리 기억 장치에 순서대로 입력되어 있는 기계어를 차례 차례로 인출하여 그 내용을 해석하고 실제의 실행 동작을 일으키는 기능을 하는 장치 순서 제어 또는 순차 제어 방식 프로그램된 명령을 순서대로 실행시켜서 제어하는 방식

(1) 개별 전송 방식 (point to point) 6-1-4 신호 전송로 (1) 개별 전송 방식 (point to point) [그림 6-11] 3 개의 장치 사이에 개별 전송의 예

개별 전송 방식 정보 교환이 필요한 장치들끼리 직접 연결하는 가장 단순한 연결 방법 n 개의 장치가 있다면 n * (n - 1) 개의 전송로가 필요 레지스터의 수가 많아지고 게다가 다수의 기능 장치가 사용되는 컴퓨터의 경우에는 전용 데이터 전송로의 수가 많아 지고, 번잡하게 됨. 완성된 각 전송로는 기능적으로 중복되는 경우가 많고, 이용상 낭비가 생길 수 있음.

(2) 버스 방식 한 묶음의 공통의 전송로(버스)를 설치해 두고 각 장치를 스위치를 통해서 연결하는 방법 스위치 트리-스테이트 버퍼(tri-state buffer)를 사용하여 구현.

병렬 버스(parallel bus) 직렬 버스(serial bus) 버스가 워드의 비트 수만큼 여러 개의 선으로 구성되어 비트들이 동시에 전송됨 직렬 버스(serial bus) 버스가 단일 선으로 구성되어 한 워드의 비트들이 하나씩 시간에 따라서 전송됨.

내부 버스(internal bus) 연산기(ALU)와 레지스터들 사이의 신호 회선(signal path)들 외부 버스(external bus) 메모리 버스(CPU  주 기억 장치) 입출력 버스(주변 장치들 사이) 병렬 버스로서 정보를 표시하는 데 사용된 비트 수만큼의 신호 회선으로 구성

데이터 버스 중앙 처리 장치에서 주 기억 장치 혹은 입출력 장치로 데이터를 전송하는 전송로 반대로 이들 장치로부터 중앙 처리 장치로 데이터를 전송하는 전송로. 양방향 버스로서 데이터 워드를 구성하는 비트 수만큼의 신호 회선으로 구성.

주소 버스 중앙 처리 장치에서 주 기억 장치나 입출력 장치의 주소를 지정할 때 주소 정보를 전송하는 전송로. 주소 코드가 k 비트로 되어 있다면 주소 버스는 k 개의 신호 회선으로 구성되며, 2k 개의 주소를 지정할 수 있음 주소 버스는 중앙 처리 장치에서만 주소를 지정할 수 있으므로 단방향성 버스.

제어 버스 중앙 처리 장치에게 어떤 동작을 지시하거나 중앙 처리 장치의 현재 상태를 알리는 제어 신호 신호를 전송하는 전송로 중앙 처리 장치에서 주 기억 장치나 입출력 장치에게 입출력 동작을 지시하는 제어 신호를 전송하는 전송로. 버스 방식의 기본 구성 각 레지스터로부터의 입출력을 공통으로 접속하고 분배하는 장치이므로 OR 회로로 구성