4장 컴퓨터의 중앙 처리 장치 20501075 하 효 순.

Slides:



Advertisements
Similar presentations
1 Prof. Young Jin Nam, Daegu University 컴퓨터 구조 (Computer Architecture) 명령어 세트 : 특성과 기능 남영진
Advertisements

Family 의 개요 의 외부 Pin 기능과 내부 기능 Memory 구조 Timing 2 장 8051 의 구조.
1 8 장 대형 순차회로 문제의 해법 1) 시프트 레지스터 2) 카운터 3)ASM 도를 이용한 설계 4)One Hot encoding 5) 복잡한 예제.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Embedded System Hardware와 software가 조합되어 특정한 목적을 수행하는 시스템
Understanding of Ubiquitous & Computers Plus
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
ISA 심화 및 start.S code 분석 SIOR 15th 최재훈.
MicroVision.- STR711F Board MicroVision & ST Seminar ARM7TDMI Processor.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
컴퓨터 하드웨어 Computer Hardware
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
9장 가로채기(Interrupt) Slide 1 (of 15).
기본 컴퓨터의 구조와 설계 Lecture #5.
마이크로프로세서(Microprocessor,µP)
CPU (central Processing Unit)
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
2 Part 전자계산기 구조 1. 논리 회로 2. 자료 표현 및 연산 3. 명령어 및 프로세서 4. 명령 수행 및 제어 5.
10장 주변장치 (PIO) Slide 1 (of 28).
컴퓨터구조 – 중간시험 (답안지) 부분점수 (사소한 실수면 -1)
3장 MPU 내부구조 Slide 1 (of 28).
임베디드 하드웨어 Lecture #6.
컴퓨터 구조론 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장
Cpu 구조 및 기능 Cpu의 동작 명령어 집합 명령어 형식 주소 지정 방식
A system is a set of related components that work together in a particular environment to perform whatever functions are required to achieve the system’s.
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
1 마이크로프로세서의 원리 마이크로컨트롤러 AVR ATmega128.
Chapter 08 제어장치와 마이크로 오퍼레이션.

6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Chapter 06 명령어와 번지지정 방식.
ARM 명령어 집합 Lecture #7.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
4장. 컴퓨터 구조에 대한 두 번째 이야기 작성자: 윤성우.
10장. 중앙처리 장치의 명령어 다루는 내용 어셈블리 프로그램의 이해 인터럽트(interrupt) 명령어 세트 주소 지정 방식.
CHAPTER 03. 컴퓨터 구조 컴퓨터 시스템의 구성과 동작 원리_컴퓨터 시스템에 대한 근본적 이해
Chapter 4 The Von Neumann Model.
Buffer Overflow
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
6장 연산 장치 6.1 개요 6.2 연산장치의 구성요소 6.3 처리기 6.4 기타 연산장치.
Computer System Architecture
6-1 중앙 처리 장치의 내부 구조 6-2 명령(instruction) 6-3 주소 지정 방식
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
컴퓨터의 구성 (하드웨어) 기술ㆍ가정 1학년 Ⅴ. 컴퓨터와 정보처리 〉 1.컴퓨터의 구조와 원리 (2 / 5) 1. 제작의도
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
게임엔진 프로젝트 발표 상어 사냥 안 정 웅.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
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장. 컴퓨터 구조에 대한 세 번째 이야기 작성자: 윤성우.
임베디드 하드웨어 Lecture #6.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
4-1. 명령어 형식.
제 1 강 컴퓨터의 구조.
Presentation transcript:

4장 컴퓨터의 중앙 처리 장치 20501075 하 효 순

차 례 CPU의 구조 및 기능 CPU의 동작 명령어의 집합 명령어 형식 주소 지정방식

CPU의 구조 및 기능 CPU(중앙처리장치. Control Processing Unit) CPU의 기능 명령을 수행하고 데이터를 처리하는 장치 CPU의 기능 기억기능(레지스터에 의해 수행) 누산기(Accumulator) : 연산 시에 사용, 연산 결과 보관

CPU의 구조 및 기능 인덱스 레지스터 : 유효 주소 계산 IR(Instruction Register) : 수행 중인 명령을 기억 PC(Program Counter) : 다음에 수행할 명령의 주소 기억 MAR(Memory Address Register) : 기억 장치 주소 보관, 데이터의 기억된 위치 지시 MBR(Memory Buffer Register) : 기억하거나 읽은 데이터 보관 연산 기능 산술 연산과 논리 연산을 위해 사용하며, ALU(Arithmetic and Logic Unit) 의해 처리

CPU의 구조 및 기능 전달 기능 레지스터와 ALU 간의 인터페이스인 버스를 통해 동작. 내부 버스는 ALU에 의해 직접 연결되며, 외부 버스는 CPU와 주기억 장치, CPU와 주변 장치 사이에 연결된다. 제어 기능 제어장치(Control Unit)가 각각의 명령을 올바르게 수행되도록 하며, CPU동작 제어.

CPU의 구조 및 기능 CPU의 구조 버스 디코더(Decoder) : 명령어 해독 위해 사용 주소버스(Address Bus) : 주 기억 장치의 주소 지정. CPU에서 주 기억 장치로 가는 단 방향선. 데이터 버스(Data Bus) : CPU와 주 기억 장치 사이에서 데이터 송수신하기 위한 양 방향선. 디코더(Decoder) : 명령어 해독 위해 사용 상태 레지스터(State Register) : cpu의 현재 상태를 기억 제어 회로 : CPU 동작 제어

CPU의 동작 명령어 실행 과정 주기억 장치 CPU By CU MBR 주소 해독기 IR MAR ALU 명령어 해독기 PC

명령어의 집합 데이터 전송 명령어 Load(LD) : 메모리로부터 레지스터로의 정보 전송 명령어 Store(ST) : 레지스터에서 메모리로의 정보 전송 명령어 Move(MOV) : 레지스터간의 정보 전송 명령어 Exchange(XCH) : 두 레지스터 사이, 레지스터와 메모리 사이의 정보 교환 명령어

명령어의 집합 Input(IN) : 입력 장치에서 레지스터로의 정보 전송 명령어 Output(OUT) : 레지스터와 출력장치로의 정보 전송 명령어 Push(PUSH) : 레지스터에서 스택으로의 정보 전송 명령어 Pop(POP) : 스택에서 레지스터로의 정보 전송 명령어

명령어의 집합 데이터 처리 명령어 산술 연산 명령어 Increment(INC) : 레지스터나 메모리의 값을 증가 시키는 명령어 Decrement(DEC) : 레지스터나 메모리의 값을 감소시키는 명령어 Add(ADD) : 덧셈 명령어 Subtract(SUB) : 뺄셈 명령어 Multiply(MUL) : 곱셈 명령어

명령어의 집합 논리 연산 및 비트 처리 명령어 Divide(DIV) : 나눗셈 명령어 Add with carry(ADDC) : 올림 수를 가지는 덧셈 명령어 Subtract with borrow(SUBB) : 내림 수를 가지는 뺄셈 명령어 Negate(2’s Complement)(NEG) : 2의 보수를 취하는 명령어 논리 연산 및 비트 처리 명령어 Clear(CLR) : 피연산자의 모든 비트를 0으로 하는 명령어

명령어의 집합 수행 전 레지스터 A : 1010 레지스터 B : 1100(0000) Complement (COM) : 피연산자의 값을 1의 보수로 취하는 명령어 레지스터 B : 1100(0011) AND(AND) 레지스터 B : 1100 수행 후 레지스터 A : 1000

명령어의 집합 OR(OR) 수행 전 레지스터 A : 1010 레지스터 B : 1100 수행 후 레지스터 A : 1110 Exclusive-OR(XOR) 레지스터 B : 1010 수행 후 레지스터 A : 0000

명령어의 집합 Clear Carry(CLRC) : 올림수를 0으로 하는 명령어 Set carry(SETC) : 올림수를 1로 하는 명령어 Complement Carry(COMC) : 올림수를 보수롤 취하는 명령어 Enable Interrupt(EI) : 인터럽트를 가능하게 하는 명령어 Disable Interrupt(DI) ; 인터럽트를 불가능하게 하는 명령어

명령어의 집합 시프트 명령어 Logical Shift Right(SHR) : 0을 왼쪽 끝에 넣어 주는 명령어 Logical Shift Left(SHL) : 0을 오른쪽 끝에 넣어 주는 명령어 1 1 1 1 1 1 1 1 1 1 1 1

명령어의 집합 Arithmetic Shift Right(SHRA) : 부호 비트와 함께 오른쪽으로 자리 이동하는 명령어 시프트에 의해 발생하는 공백 부호 비트 삽입. 우측 n비트 시프트하면 원래 수를 2의n승으로 나눈 것과 같음 Arithmetic Shift Left(SHLA) : 부호 비트와 함께 왼쪽으로 자리 이동하는 명령어 시프트에 의해 발생하는 공백 0이 삽입. 좌측 n비트 시프트하면 원래 수를 2의n승으로 곱한 것과 같음 1 1 1 1

명령어의 집합 Rotate Right(ROR) : 현재 비트의 값을 그대로 유지하고 오른쪽으로 자리 이동하는 명령어 Rotate Left(ROL) : 현재 비트의 값을 그대로 유지하고 왼쪽으로 자리 이동하는 명령어 1 1 1 1 1 1 1 1 1

명령어의 집합 프로그램 제어 명령어 Branch(BR) : 지정된 주소로 분기 명령어 Jump(JMP) : 지정된 주소로 점프 명령어 Skip(SKP) : PC값을 하나 증가시켜 바로 다음 명령을 뛰어 넘게 하는 명령어 Call(CALL) : 현재 PC값을 기억시켜 놓고, 서브루틴의 시작으로 가게 하는 명령어 Return(RET) : 기억해 둔 리턴 주소 PC에 넣는 명령어

명령어 형식 명령어의 기본 형식 명령 코드 피연산자 Operand(주기억장치의 주소) Operation Code(OPCODE) (중앙처리장치에서 수행되어야 할 동작)

명령어 형식 스택 구조 : 0-주소 명령 형식 OP-Code X = (A + B) * (C + D) PUSH A TOS A PUSH B TOS B ADD TOS (A+B) PUSH C TOS C PUSH D TOS D ADD TOS (C+D) MUL TOS (A+B)*(C+D) POP X M[X] TOS OP-Code

명령어 형식 단일 누산기 구조 : 1-주소 명령 형식 OP-Code 주소-1 X = (A + B) * (C + D) LOAD A AC M[A] ADD B AC AC + M[B] STORE T M[T] AC LOAD C AC M[C] ADD D AC AC + M[D] MUL T AC AC * M[T] STORE X M[X] AC OP-Code 주소-1

명령어 형식 범용 레지스터 구조 2-주소 명령 형식 OP-Code 주소-1 주소-2 X = (A + B) * (C + D) MOV R1, A R1 M[A] ADD R1, B R1 R1 + M[B] MOV R2, C R2 M[C] ADD R2, D R2 R2 + M[D] MUL R1, R2 R1 R1 * R2 MOV X, R1 M[X] R1 OP-Code 주소-1 주소-2

명령어 형식 3-주소 명령 형식 OP-Code 주소-1 주소-2 주소-3 X = (A + B) * (C + D) ADD R1, A, B R1 M[A] + M[B] ADD R2, C, D R2 M[C] + M[D] MOV X, R1, R2 M[X] R1 * R2 OP-Code 주소-1 주소-2 주소-3

주소 지정 방식 주소 지정 방식의 목적 피연산 부분의 비트 수를 줄여 명령어 길이를 짧게 한다 프로그램 작성의 융통성이 있다 재배치를 가능하게 해서 시스템의 자원을 효율적으로 사용할 수 있다

주소 지정 방식 무주소 지정 방식 암시 방식 즉시 주소 지정 방식 명령 코드 데이터 값(정수) AC 사용하는 레지스터 참조명령어 스택 구조의 0-주소 명령어 즉시 주소 지정 방식 피연산자 부분에 데이터 값을 직접 넣어줌 명령 코드 데이터 값(정수)

주소 지정 방식 레지스터 주소 지정 방식 레지스터 방식 명령 코드 피연산자(x) 중앙처리장치 x 데이터

주소 지정 방식 레지스터 간접 방식 명령 코드 피연산자(x) 중앙처리장치 주기억장치 x y y 데이터

주소 지정 방식 자동 증가 및 감소 방식 레지스터 통해 주기억장치를 접근 후 또는 접근하기 전에 레지스터 주소 값을 자동으로 증가 또는 감소시키는 것이다 배열이나 스택 데이터를 연속적으로 처리하고자 할 때 사용한다

주소 지정 방식 절대 주소 지정 방식 직접 주소 지정 방식 명령 코드 피연산자(x) 주기억장치 x 데이터

주소 지정 방식 간접 주소 지정 방식 명령 코드 피연산자(x) 주기억장치 x y(주소) y 데이터

주소 지정 방식 계산 주소 지정 방식 주기억장치 명령 코드 피연산자(x) + x+y x y 레지스터(y) x+y 데이터 유효 주소 =명령어의 피연산자 내용 + cpu의 레지스터 내용 주기억장치 명령 코드 피연산자(x) + x+y x y 레지스터(y) x+y 데이터

주소 지정 방식 상대 주소 지정 방식 인덱스 주소 지정 방식 베이스 레지스터 주소 지정 방식 유효 번지 = 명령어의 오퍼랜드 + PC의 내용 인덱스 주소 지정 방식 유효 번지 = 명령어의 오퍼랜드 + 인덱스 레지스터 내용 베이스 레지스터 주소 지정 방식 유효 번지 = 명령어의 오퍼랜드 + 베이스 레지스터 내용