프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

Similar documents
온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - hy2-12.pptx

슬라이드 1

Computer Architecture

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

Microsoft PowerPoint - hy2-12.pptx

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

마이크로프로세서 개요

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

PowerPoint Presentation

OCW_C언어 기초

Computer Architecture

PowerPoint 프레젠테이션

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

Computer Architecture

3차시.ppt

슬라이드 1

PowerPoint 프레젠테이션

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

PowerPoint 프레젠테이션

Microsoft PowerPoint - hw8.ppt [호환 모드]

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능

PowerPoint 프레젠테이션

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

슬라이드 1

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft Word - PLC제어응용-2차시.doc

Microsoft PowerPoint - DSD06c_ISA.pptx

ºÎ·ÏB

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

PowerPoint Presentation

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

정보보안 개론과 실습:네트워크

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

슬라이드 1

8장 조합논리 회로의 응용

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Chapter ...

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

hwp

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

Microsoft PowerPoint - chap06-2pointer.ppt

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - M07_RTL.ppt [호환 모드]

hlogin2

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - M09_CPUarchi.ppt [호환 모드]

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE7BBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E229205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

Microsoft Word - logic2005.doc

API 매뉴얼

슬라이드 1

<BFE4C1A1C1A4B8AEC1FD28C0FCC0DAB0E8BBEAB1E2B1B8C1B632292E687770>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft Word - FunctionCall

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

Chapter 4. LISTS

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

[CA-09강] 특수기억장치와 입,출력장치.hwp

03차시학습내용(하드웨어1)

ADP-2480

<4D F736F F F696E74202D20BBE7BABB202D205BC7D9BDC9BFE4BEE05DC1A4BAB8C3B3B8AEB1E2BBE7C7CAB1E2B1B3C0E728B5A5C0CCC5CDBAA3C0CCBDBA292E707074>

Microsoft PowerPoint - 30.ppt [호환 모드]

Computer Architecture

JVM 메모리구조

11장 포인터

PowerPoint 프레젠테이션

중간고사

MicrocontrollerAcademy_Lab_ST_040709

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

초급과정 목차

<C6F7C6AEB6F5B1B3C0E72E687770>

API 매뉴얼

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - ch11_reg.pptx

Frama-C/JESSIS 사용법 소개

PRO1_09E [읽기 전용]

No Slide Title

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint - o8.pptx

Transcription:

중앙처리장치 (CPU: Central Process Unit) 1) 제어장치 (Control Unit) 컴퓨터시스템의모든장치들에게동작을지시하고제어하는장치로주기억장치에서읽어온명령어를해독하고해당장치에게제어신호를보낸다. 구성회로 : 부호기, 명령해독기, 번지해독기 구성레지스터 : PC( 프로그램카운터 ), IR( 명령어레지스터 ) 부호기 ( 제어신호발생기 ) 해독한명령어에따라서해당장치로보낼제어신호를생성하는회로 ( 인코더 ) 명령해독기 명령레지스터에있는명령어를해독하는회로 ( 디코더 ) 번지해독기 명령레지스터에있는명령어가가지고있는직접또는간접번지를해독하는회로 ( 디코더 ) 2) 산술논리연산장치 (ALU: Arithmetic & Logic Unit) 제어장치의명령에따라실제연산 ( 계산처리 ) 을수행하는장치로산술연산, 논리연산, 시프트연산, 관계연산등이있다. 구성회로 : Adder( 가산기 : 2진수의덧셈을수행하는회로 ), Complement( 보수기 : 2진수의값을보수로변환하는회로 ) 구성레지스터 : AC( 누산기 ), 데이터레지스터, 시프트레지스터, 오버플로우검출기 3) 레지스터 (Register) CPU 내부에서처리할명령또는연산의중간결과값을일시적으로저장하는기억장소이다. 플립플롭 (Flip-Flop) 으로구성되어있으며, 기억장치중에서가장속도가빠르다. [ 1 ]

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (MAR: Memory Address Register) 메모리버퍼레지스터 (MBR: Memory Buffer Register) 인덱스레지스터 (Index Register) 데이터레지스터 (Data Register) 시프트레지스터 (Shift Register) 메이저상태레지스터 (Major Status Register) 제어장치 (Control Unit) 가다음번에수행해야할명령어의번지 ( 주소 ) 를기억하는레지스터 현재실행되고있는명령의내용을기억하는레지스터 연산결과를일시적으로저장하는레지스터 시스템내부각각의순간적상태정보를 PSW라하며이내용을기억하는레지스터를 PSWR이라한다. 오버플로우, 언더플로우, 자리올림, 인터럽트등을기억하는레지스터이다. 기억장치를출입하는데이터의번지를기억하는레지스터 기억장치를출입하는데이터를일시기억하는레지스터 주소의변경이나프로그램에서반복하는연산횟수를카운터하는레지스터 연산에사용되는피연산자를기억하는레지스터 저장된값을왼쪽, 오른쪽으로 1비트씩자리이동을수행하는레지스터 메이저상태 : 프로세서의처리루틴상태 ( 인출 -> 간접 -> 실행 -> 인터럽트 ) CPU의메이저상태를기억하는레지스터 4) 버스 (Bus) CPU 와기억장치및입출력장치와서로데이터를주고받기위한전송경로를말한다. 버스는 CPU 와주기억장치로구성된내부버스와입출력장치에구성된외부버스가있다. Address Bus( 주소버스 ) Data Bus( 데이터버스 ) Control Bus( 제어버스 ) CPU가주기억장치, 입출력장치의번지를지정하기위해사용하는단방향전송경로 CPU, 주기억장치, 입출력장치들이데이터를주고받기위해사용하는양방향전송경로 CPU의현재상태및변경된상태등을주기억장치또는입출력장치에게알려주는제어신호를보내기위해사용하는단방향전송경로 명령어 (Instruction) 의구성과기능 1) 명령어구성 ( 명령어 = 연산자 + 자료 ) 1연산자 (Operation Code) 부 = 명령부 무엇을수행할것인지를나타내는실제수행하기위한명령어 ( 연산자 ) 를표시하는부분으로 OP-CODE라고도한다. 연산자부가 nbit라하면표현할수있는연산자는 가지이다. ( 연산자부가 4비트이면 16가지의연산자를표현 ) 연산자부에주소의결정여부를지정하는모드비트 (0: 직접, 1: 간접 ) 를추가하여사용할수있다. 2 자료부 (Operand) 부 = 주소부 [ 2 ]

연산을수행할자료의실제값또는값이기록된주소를표시한다. 자료부가 16Bit 라하면 의기억장치를주소로지정하여사용할수있다. 3 명령어설계시주의할점 연산자의종류, 주소지정방식, 워드의크기등을감안하여설계한다. 2) 연산자의 4가지기능 1함수연산기능 산술연산 ( 수치연산 ): ADD, SUB, MUL, DIV, 산술시프트 논리연산 ( 비수치연산 ): AND, OR, NOT, XOR, 논리시프트, Rotate, Complement, Clear 2자료전달기능 (CPU <-> 기억장치의정보교환 ) Load: 기억장치에서필요한자료를 CPU로가져오는명령 Store: CPU에있는자료를기억장치에기억시키는명령 Move: 레지스터간에자료를전달하는명령 Push: 스택에자료를저장시키는명령 Pop: 스택의자료를가져오는명령 3제어기능 ( 명령의실행순서변경 ) 무조건 ( 강제 ) 분기명령 : GOTO, JUMP 조건분기명령 : IF, SPA, SNA, SZA 호출명령 : Call ( 하위프로그램호출 ) 반환명령 : Return ( 호출한프로그램으로반환 ) 4 입출력기능 (CPU <-> 입출력장치, 주기억장치 <-> 입출력장치 ) INPUT: 입출력장치의자료를주기억장치에입력하는명령 OUTPUT: 주기억장치의자료를입출력장치로출력하는명령 연산의종류 1)AND(Masking 연산 ) 특정문자또는비트를삭제하는연산으로삭제할부분을 0(Mask Bit) 으로만들어 AND연산한다. 없애고자하는비트를 0으로만든다. [11111111] 에서세번째, 다섯번째를삭제하고자할때모양 1111111 11010111 삭제할비트만 0 으로나머지는 1 11010111 2)OR(Selective-Set) 특정문자또는비트를삽입하는연산으로삽입할부분을 1 로만들어 (1 로세트시킴 ) OR 연산한다. 추가하고자하는비트를 1 로만든다. [00000000] 에서네번째, 여덟번째를삽입하고자할때모양 [ 3 ]

00000000 00010001 삽입할비트만 1 로나머지는 0 00010001 3)XOR(Compare 비교연산 ) 두개의데이터를비교하거나특정한비트를반전시킨다. 비교시 : 두개의데이터를 XOR하여결과값이 1Bit라도 1로되어지면서로다른데이터가된다. 반전시 : 반전시키고자하는데이터와 1을 XOR한다. [11111111] 에서세번째, 다섯번째를반전하고자할때모양 11111111 00101000 반전할비트만 1 로나머지는 0 11010111 4)NOT(Complement 보수 ) 보수를구하는것으로각비트의값을반전시킨다. [10101010] 을반전시키는모양 10101010 01010101 5)Rotate 가장왼쪽또는가장오른쪽비트를반대쪽으로옮기는연산으로문자위치변환에사용된다. [10101011] 을왼쪽에서 Rotate 한모양 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 6) 논리시프트 1 비트씩왼쪽또는오른쪽으로자리이동하는연산으로데이터의직렬전송에사용된다. 밀려나가서비워진자리는 0 으로채운다. [10101011] 을왼쪽으로 Shift 한모양 [ 4 ]

1 0 1 0 1 0 1 1 비워진자리는 0 으로채움 0 1 0 1 0 1 1 0 기존 1 값은밀려나가서없어진다. 7) 산술시프트 실제계산값에이용하는연산으로논리시프트와달리부호비트를생각하여이동하는연산이다. 왼쪽 n비트연산시 : 결과값 = ( 기본자료 ) 오른쪽 n비트연산시 : 결과값 = ( 기본자료 ) 홀수를오른쪽으로한번시프트연산하면 0.5의오차가발생하고, 산술시프트는정수표현식에서만가능한방법이다. 명령어 ( 자료부 ) 의형식 1)0 주소명령어 (0 - Address Mode) Operand부가없이 OP-CODE만으로구성된형식 연산은 Stack에있는 Stack Pointer가지시하는 Operand를이용하여수행하므로스택머신이라고도한다. 스택을사용하여수식을계산할때에는수식을 Postfix( 역폴리시 : 연산자를맨뒤로 ) 로변경해야한다. 스택에서꺼내어처리한결과가다시스택에들어가므로기존의자료가남지않는다. OP-CODE 2)1 주소명령어 (1 - Address Mode) Operand 부가하나로구성된형식으로누산기 (AC) 에사용하는명령어형식이다. OP-CODE OPERAND 1 ( Y = X + Z ) 처리를위한예제모양 (M 은기억장치, AC 는누산기 ) 1 단계 : LDA x; AC <---- M[x] (M 에있는 x 를누산기로전송 ) 2 단계 : ADD z; AC <---- AC + M[z] (M 에있는 z 를현재누산기값과더해서다시누산기로전송 ) 3 단계 : STA y; M[y] <---- AC ( 누산기의값을 M 에전송 ) 3)2 주소명령어 (2 - Address Mode) Operand부가두개로구성된형식으로가장일반적인형식이다. OP-CODE OPERAND 1 OPERAND 2 [OPERAND 1] 은 [OPERAND 1] 의주소또는 [OPERAND1 과 OPERAND2의연산결과값 ] 의주소가된다. 계산결과값이기억장치에도기록되고 CPU에도남아있기때문에기억장치에접근횟수가줄어든다. 연산결과가 [OPERAND 1] 에재기록되므로이전자료가사라진다. 명령어가길어져서프로그램길이가길어진다. 4)3 주소명령어 (3 - Address Mode) Operand 부가세개로구성된형식으로여러개의범용레지스터를가진컴퓨터에사용한다. [ 5 ]

OP-CODE OPERAND 1 OPERAND 2 OPERAND 3 연산 [ 결과값 ] 의주소는 [OPERAND 3] 에기록된다. 연산결과가 [OPERAND 3] 에기록되므로이전자료가유지된다. 다른명령어형식을사용하는것보다프로그램전체의길이가짧아지고기억장치의접근횟수가더줄어든다. 명령어가길어지고하나의명령단위수행을위해최소 4번의기억장치접근을해야하므로수행시간이길다. 주소지정방식 (Addressing Mode) 1) 암시적 (Implied) 주소지정방식 주소를지정하는자료부가없는것으로 0 번지명령에서 Stack 의포인터 (Top) 를이용한다. 2) 즉시적 (Immediate) 주소지정방식 명령어의자료부자체에주소값이아닌데이터값을기록하는방식으로 CPU 가자체에서자료를이용하므로속도가빠르 나명령어의길이에따른데이터값의크기가제한적이다. 3) 직접 (Direct) 주소지정방식 명령어의자료부에사용될데이터값의주소번지를기록하고있는방식으로그주소를이용하여실제데이터값을찾는 다. 4) 간접 (Indirect) 주소지정방식 명령어에나타낼주소가명령어내에서데이터를지정하기위해할당된비트수로표현하지못할때사용하는방식으로명령어의길이가짧고제한적이어도긴주소접근이가능하다. 최소한주기억장치를두번접근하여야지데이터값이있는장소에접근한다. 5) 계산에의한주소지정방식 Operand 부와 CPU 의특정레지스터값이더해져서유효주소를계산하는방식이다. 상대주소 (Relative) 베이스레지스터 (Base Register) 인덱스레지스터 (Index Register) 유효주소 = 명령어의주소부분 + PC 기준점이명령어주소에서상대적으로계산하게된다. 유효주소 = 명령어의주소부분 + Base Register 프로그램의재배치를하는다중프로그램기법에서상대적인변위지정만으로해당위치를지정하기때문에많이사용된다. 명령어의주소부분 + Index Register 6) 주소설계시고려할점 빠르게접근하고주소지정에있어서적은비트를사용하여다양한주소모드를사용하는주소의효율적표현이가능해야한다. 프로그램상에서사용한주소를변경없이실제기억공간내의주소로재배치할수있도록주소공간과기억공간이독립적으로유지되어야한다. 프로그램의효과적인작업을위해포인터관리및기억장치배치의효율이높아야한다. [ 6 ]