Computer Architecture

Size: px
Start display at page:

Download "Computer Architecture"

Transcription

1 제 2 장 CPU 의구조와기능 2.1 CPU의기본구조 2.2 명령어실행 2.3 명령어파이프라이닝 2.4 명령어세트

2 CPU 의기능 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 IF ID 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 Computer Architecture 2-2

3 CPU 의기능 ( 계속 ) 데이터인출 (Data Fetch) : 명령어실행을위하여데이터가필요한경우에는기억장치혹은 I/O 장치로부터그데이터를읽어온다데이터처리 (Data Process) : 데이터에대한산술적혹은논리적연산을수행데이터쓰기 (Data Store) : 수행한결과를저장 명령어에따라필요한경우에만수행 Computer Architecture 2-3

4 2.1 CPU 의기본구조 산술논리연산장치 (Arithmetic and Logical Unit: ALU) 레지스터세트 (Register Set) 제어유니트 (Control Unit) Computer Architecture 2-4

5 CPU 의내부구성요소 ALU 각종산술연산들과논리연산들을수행하는회로들로이루어진하드웨어모듈 산술연산 : +, -,, 논리연산 : AND, OR, NOT, XOR 등 레지스터 (register) 액세스속도가가장빠른기억장치 CPU 내부에포함할수있는레지스터들의수가제한됨 ( 특수목적용레지스터들과적은수의일반목적용레지스터들 ) Computer Architecture 2-5

6 CPU 의내부구성요소 ( 계속 ) 제어유니트 프로그램코드 ( 명령어 ) 를해석하고, 그것을실행하기위한제어신 호들 (control signals) 을순차적으로발생하는하드웨어모듈 CPU 내부버스 (CPU internal bus) ALU와레지스터들간의데이터이동을위한데이터선들과제어유니트로부터발생되는제어신호선들로구성된내부버스 외부의시스템버스들과는직접연결되지않으며, 반드시버퍼레지스터들혹은시스템버스인터페이스회로를통하여시스템버스와접속 Computer Architecture 2-6

7 2.2 명령어실행 명령어사이클 (instruction cycle): CPU가한개의명령어를실행하는데필요한전체처리과정으로서, CPU가프로그램실행을시작한순간부터전원을끄거나회복불가능한오류가발생하여중단될때까지반복두개의부사이클 (subcycle) 들로분리 인출사이클 (fetch cycle) : CPU 가기억장치로부터명령어를읽어 오는단계 실행사이클 (execution cycle) : 명령어를실행하는단계 Computer Architecture 2-7

8 기본명령어사이클 Computer Architecture 2-8

9 명령어실행에필요한 CPU 내부레지스터들 프로그램카운터 (Program Counter: PC) 다음에인출할명령어의주소를가지고있는레지스터 각명령어가인출된후에는자동적으로일정크기 ( 한명령어길이 ) 만큼증가 분기 (branch) 명령어가실행되는경우에는목적지주소로갱신 누산기 (Accumulator: AC) 데이터를일시적으로저장하는레지스터. 레지스터의길이는 CPU 가한번에처리할수있는데이터비트수 ( 단어길이 ) 와동일 명령어레지스터 (Instruction Register: IR) 가장최근에인출된명령어코드가저장되어있는레지스터 Computer Architecture 2-9

10 명령어실행에필요한 CPU 내부레지스터들 ( 계속 ) 기억장치주소레지스터 (Memory Address Register: MAR) PC 에저장된명령어주소가시스템주소버스로출력되기전에일 시적으로저장되는주소레지스터 기억장치버퍼레지스터 (Memory Buffer Register: MBR) 기억장치에쓰여질데이터혹은기억장치로부터읽혀진데이터를 일시적으로저장하는버퍼레지스터 Computer Architecture 2-10

11 데이터통로가표시된 CPU 내부구조 Computer Architecture 2-11

12 2.2.1 인출사이클 인출사이클의마이크로연산 (micro-operation) t 0 : MAR PC t 1 : MBR M[MAR], PC PC + 1 t 2 : IR MBR 단, t 0, t 1 및 t 2 는 CPU 클록 (clock) 의주기 [ 첫번째주기 ] 현재의 PC 내용을 CPU 내부버스를통하여 MAR로전송 [ 두번째주기 ] 그주소가지정하는기억장치위치로부터읽혀진명령어가데이터버스를통하여 MBR로적재되며, PC의내용에 1을더한다 [ 세번째주기 ] MBR에있는명령어코드가명령어레지스터인 IR로이동 [ 예 ] CPU 클록 = 1GHz ( 클럭주기 = 1ns ) 인출사이클 : 1ns x 3 = 3ns소요 Computer Architecture 2-12

13 인출사이클의주소및명령어흐름도 Computer Architecture 2-13

14 2.2.2 실행사이클 CPU 는실행사이클동안에명령어코드를해독 (decode) 하고, 그결과에따라필요한연산들을수행 CPU 가수행하는연산들의종류 데이터이동 : CPU와기억장치간혹은 I/O장치간에데이터를이동 데이터처리 : 데이터에대하여산술혹은논리연산을수행 데이터저장 : 연산결과데이터혹은입력장치로부터읽어들인데이터를기억장치에저장 프로그램제어 : 프로그램의실행순서를결정 실행사이클에서수행되는마이크로 - 연산들은명령어의 연산코드 (op code) 에따라결정됨 Computer Architecture 2-14

15 기본적인명령어형식의구성 연산코드 (operation code) CPU 가수행할연산을지정 오퍼랜드 (operand) 명령어실행에필요한데이터가저장된주소 (addr) Computer Architecture 2-15

16 [ 사례 1] LOAD addr 명령어 기억장치에저장되어있는데이터를 CPU 내부레지스터 인 AC 로이동하는명령어 t 0 : MAR IR(addr) t 1 : MBR M[MAR] t 2 : AC MBR [ 첫번째주기 ] 명령어레지스터 IR에있는명령어의주소부분을 MAR로전송 [ 두번째주기 ] 그주소가지정한기억장소로부터데이터를인출하여 MBR로전송 [ 세번째주기 ] 그데이터를 AC에적재 Computer Architecture 2-16

17 [ 사례 2] STA addr 명령어 AC 레지스터의내용을기억장치에저장하는명령어 t 0 : MAR IR(addr) t 1 : MBR AC t 2 : M[MAR] MBR [ 첫번째주기 ] 데이터를저장할기억장치의주소를 MAR 로전송 [ 두번째주기 ] 저장할데이터를버퍼레지스터인 MBR 로이동 [ 세번째주기 ] MBR 의내용을 MAR 이지정하는기억장소에저장 Computer Architecture 2-17

18 [ 사례 3] ADD addr 명령어 기억장치에저장된데이터를 AC 의내용과더하고, 그결 과는다시 AC 에저장하는명령어 t 0 : MAR IR(addr) t 1 : MBR M[MAR] t 2 : AC AC + MBR [ 첫번째주기 ] 데이터를저장할기억장치의주소를 MAR로전송 [ 두번째주기 ] 저장할데이터를버퍼레지스터인 MBR로이동 [ 세번째주기 ] 그데이터와 AC의내용을더하고결과값을다시 AC에저장 Computer Architecture 2-18

19 ADD 명령어실행사이클동안의정보흐름 Computer Architecture 2-19

20 [ 사례 4] JUMP addr 명령어 오퍼랜드 (addr) 가가리키는위치의명령어로실행순서를 변경하는분기 (branch) 명령어 t 0 : PC IR(addr) 명령어의오퍼랜드 ( 분기할목적지주소 ) 를 PC 에저장 다음명령어인출사이클에서그주소의명령어가인출되므로, 분 기가발생 Computer Architecture 2-20

21 어셈블리프로그램실행과정의예 연산코드에임의의정수배정 LOAD : 1 STORE : 2 ADD : 5 JUMP : 8 [ 어셈블리프로그램의예 ] Computer Architecture 2-21

22 어셈블리프로그램실행과정의예 ( 계속 ) 100 번지의첫번째명령어코드가인출되어 IR 에저장 250 번지의데이터를 AC 로이동 PC = PC + 1 = 101 Computer Architecture 2-22

23 어셈블리프로그램실행과정의예 ( 계속 ) 두번째명령어가 101 번지로부터인출되어 IR 에저장 AC 의내용과 251 번지의내용을더하고, 결과를 AC 에저장 PC 의내용은 102 로증가 Computer Architecture 2-23

24 어셈블리프로그램실행과정의예 ( 계속 ) 세번째명령어가 102 번지로부터인출되어 IR 에저장 AC 의내용이 251 번지에저장 PC 의내용은 103 으로증가 Computer Architecture 2-24

25 어셈블리프로그램실행과정의예 ( 계속 ) 네번째명령어가 103 번지로부터인출되어 IR 에저장 분기될목적지주소, 즉 IR 의하위부분 (170) 이 PC 로적재 ( 다음명령어인출사이클에서는 170 번지의명령어인출 ) Computer Architecture 2-25

26 2.2.3 인터럽트사이클 (interrupt cycle) 인터럽트 : 프로그램실행중에 CPU 의현재처리순서를중단 시키고다른동작을수행하도록요구하는시스템동작 외부로부터인터럽트요구가들어오면, CPU 는원래의프로그램수행을중단하고, 요구된인터럽트를위한서비스프로그램을먼저수행 인터럽트서비스루틴 (interrupt service routine: ISR) : 인 터럽트를처리하기위하여수행되는프로그램루틴 Computer Architecture 2-26

27 인터럽트에의한제어의이동 Computer Architecture 2-27

28 인터럽트처리과정 인터럽트가들어왔을때 CPU 는 어떤장치가인터럽트를요구했는지확인하고, 해당 ISR 을호출 서비스가종료된다음에는중단되었던원래프로그램의수행계속 CPU 인터럽트처리의세부동작 1 2 현재의명령어실행을끝낸즉시, 다음에실행할명령어의주소 (PC의내용 ) 를스택 (stack) 에저장 일반적으로스택은주기억장치의특정부분 ISR을호출하기위하여그루틴의시작주소를 PC에적재. 이때시작주소는인터럽트를요구한장치로부터전송되거나미리정해진값으로결정 자세한사항은 7.4절에서설명 Computer Architecture 2-28

29 인터럽트사이클이추가된명령어사이클 Computer Architecture 2-29

30 인터럽트사이클의마이크로연산 t 0 : MBR PC t 1 : MAR SP, PC ISR의시작주소 t 2 : M[MAR] MBR 단, SP는스택포인터 (stack pointer). [ 첫번째주기 ] PC의내용을 MBR로전송 [ 두번째주기 ] SP의내용을 MAR로전송하고, PC의내용은인터럽트서비스루틴의시작주소로변경 [ 세번째주기 ] MBR에저장되어있던원래 PC의내용을스택에저장 Computer Architecture 2-30

31 인터럽트사이클의마이크로연산 [ 예 ] 아래프로그램의첫번째명령어인 LOAD 250 명령어가실행되는동안에인터럽트가들어왔으며, 현재 SP = 999 이고, 인터럽트서비스루틴의시작주소는 650 번지라고가정 100 LOAD ADD STA JUMP Computer Architecture 2-31

32 인터럽트요구가들어온경우의상태변화 Computer Architecture 2-32

33 다중인터럽트 (multiple interrupt) 인터럽트서비스루틴을수행하는동안에다른인터럽트발생 다중인터럽트의처리방법 ( 두가지 ) 1 CPU 가인터럽트서비스루틴을처리하고있는도중에는새로운인터럽 트요구가들어오더라도 CPU 가인터럽트사이클을수행하지않도록방지 o o 인터럽트플래그 (interrupt flag) 0 : 인터럽트불가능 (interrupt disabled) 상태시스템운영상중요한프로그램이나도중에중단할수없는데이터입출력동작등을위한인터럽트를처리하는데사용 2 인터럽트의우선순위를정하고, 우선순위가낮은인터럽트가처리되고 있는동안에우선순위가더높은인터럽트가들어온다면, 현재의인터럽 트서비스루틴의수행을중단하고새로운인터럽트를처리 Computer Architecture 2-33

34 다중인터럽트처리방법 장치 X 를위한 ISR X 를처리하는도중에우선순위가더높은 장치 Y 로부터인터럽트요구가들어와서먼저처리되는경우에 대한제어의흐름 Computer Architecture 2-34

35 2.2.4 간접사이클 (indirect cycle) 명령어에포함되어있는주소를이용하여, 그명령어실행에필요한데이터의주소를인출하는사이클 간접주소지정방식 (indirect addressing mode) 에서사용인출사이클과실행사이클사이에위치간접사이클에서수행될마이크로-연산 t 0 : MAR IR(addr) t 1 : MBR M[MAR] t 2 : IR(addr) MBR 인출된명령어의주소필드내용을이용하여기억장치로부터데이터의실제주소를인출하여 IR의주소필드에저장 Computer Architecture 2-35

36 제 2 장 CPU 의구조와기능 2.1 CPU의기본구조 2.2 명령어실행 2.3 명령어파이프라이닝 2.4 명령어세트

37 2.3 명령어파이프라이닝 (instruction pipelining) CPU 의프로그램처리속도를높이기위하여 CPU 내부하드웨어를 여러단계로나누어동시에처리하는기술 2- 단계명령어파이프라인 (two-stage instruction pipeline) 명령어를실행하는하드웨어를인출단계 (fetch stage) 와실행단 계 (execute stage) 라는두개의독립적인파이프라인모듈로분리 두단계들에동일한클록을가하여동작시간을일치시키면, o o 첫번째클록주기에서는인출단계가첫번째명령어를인출 두번째클록주기에서는인출된첫번째명령어가실행단계로 보내져서실행되며, 그와동시에인출단계는두번째명령어를 인출 Computer Architecture 2-37

38 2- 단계명령어파이프라인과시간흐름도 Computer Architecture 2-38

39 2- 단계명령어파이프라인 ( 계속 ) 2-단계파이프라인을이용하면명령어처리속도가두배향상 ( 일반적으로단계수만큼의속도향상 ) 문제점 : 두단계의처리시간이동일하지않으면두배의속도향상을얻지못함 ( 파이프라인효율저하 ) 해결책 : 파이프라인단계의수를증가시켜각단계의처리시간을같게함 파이프라인단계의수를늘리면전체적으로속도향상이더높아짐 Computer Architecture 2-39

40 4- 단계명령어파이프라인 명령어인출 (IF) 단계 : 다음명령어를기억장치로부터인출명령어해독 (ID) 단계 : 해독기 (decoder) 를이용하여명령어를해석오퍼랜드인출 (OF) 단계 : 기억장치로부터오퍼랜드를인출실행 (EX) 단계 : 지정된연산을수행 Computer Architecture 2-40

41 4- 단계명령어파이프라인과시간흐름도 Computer Architecture 2-41

42 파이프라인에의한전체명령어실행시간 파이프라인단계수 = k 실행할명령어들의수 = N 각파이프라인단계가한클럭주기씩걸린다고가정한다면 파이프라인에의한전체명령어실행시간 T : T = k + (N - 1) 즉, 첫번째명령어를실행하는데 k 주기가걸리고, 나머지 (N - 1) 개의명령어들은각각한주기씩만소요 파이프라인되지않은경우의 N 개의명령어들을실행시간 T : T = k N Computer Architecture 2-42

43 파이프라인에의한속도향상 (speedup) S p T T 1 k k k N ( N 1) Computer Architecture 2-43

44 [ 예제 2-1] 파이프라인에의한속도향상 파이프라인단계수 = 4, 파이프라인클록 = 1GHz ( 각단계에서의소요시간 = 1 ns) 일때, 10개의명령어를실행하는경우의속도향상은? < 풀이 > 첫번째명령어실행에걸리는시간 = 4 ns 다음부터는매 1 ns 마다한개씩의명령어실행완료 10개의명령어실행시간 = 4 + (10-1) = 13 ns 속도향상 = (10 4) / 배 Computer Architecture 2-44

45 [ 예 ] k = 4 일때, N = 100 이라면, Sp = 400/103 = 3.88 N = 1000 이라면, Sp = 4000/1003 = N = 이라면, Sp = 40000/10003 = N 라면, Sp = 4 Computer Architecture 2-45

46 파이프라인의효율저하요인들 모든명령어들이파이프라인단계들을모두거치지는않는다 어떤명령어에서는오퍼랜드를인출할필요가없지만, 파이프라인 의하드웨어를단순화시키기위해서는모든명령어가네단계들을 모두통과하도록해야한다 파이프라인의클록은처리시간이가장오래걸리는단계를기준으로 결정된다 IF 단계와 OF 단계가동시에기억장치를액세스하는경우에, 기억장 치충돌 (memory conflict) 이일어나면지연이발생한다 조건분기 (conditional branch) 명령어가실행되면, 미리인출하여처 리하던명령어들이무효화된다 Computer Architecture 2-46

47 조건분기가존재하는경우의시간흐름도 Computer Architecture 2-47

48 분기발생에의한성능저하의최소화방법 분기예측 (branch prediction) 분기가일어날것인지를예측하고, 그에따라명령어를인출하는확률적방법 분기역사표 (branch history table) 이용하여최근의분기결과를참조 분기목적지선인출 (prefetch branch target) : 조건분기가인식되면, 분기명령어의다음명령어뿐만아니라분기의목적지명령어도함께인출하는방법 루프버퍼 (loop buffer) 사용 : 파이프라인의명령어인출단계에포함되어있는작은고속기억장치인루프버퍼에가장최근인출된 n개의명령어들을순서대로저장해두는방법지연분기 (delayed branch) : 분기명령어의위치를재배치함으로써파이프라인의성능을개선하는방법 Computer Architecture 2-48

49 상태레지스터 (status register) 조건분기명령어가사용할조건플래그 (condition flag) 들저장 부호 (S) 플래그 : 직전에수행된산술연산결과값의부호비트 를저장 영 (Z) 플래그 : 연산결과값이 0 이면, 1 올림수 (C) 플래그 : 덧셈이나뺄셈에서올림수 (carry) 나빌림수 (borrow) 가발생한경우에 1 로세트 Computer Architecture 2-49

50 상태레지스터 ( 계속 ) 동등 (E) 플래그 : 두수를비교한결과가같게나왔을경우에 1 로세트 오버플로우 (V) 플래그 : 산술연산과정에서오버플로우가발생 한경우에 1 로세트 인터럽트 (I) 플래그 인터럽트가능 (interrupt enabled) 상태이면 0로세트 인터럽트불가능 (interrupt disabled) 상태이면 1로세트 슈퍼바이저 (P) 플래그 : CPU의실행모드가슈퍼바이저모드 (supervisor mode) 이면 1로세트, 사용자모드 (user mode) 이면 0로세트 Computer Architecture 2-50

51 2.3.3 슈퍼스칼라 (Superscalar) CPU의처리속도를더욱높이기위하여내부에두개혹은그이상의명령어파이프라인들을포함시킨구조매클록주기마다각명령어파이프라인이별도의명령어를인출하여동시에실행할수있기때문에, 이론적으로는프로그램처리속도가파이프라인의수만큼향상가능 파이프라인의수 = m : m-way 슈퍼스칼라 Computer Architecture 2-51

52 2-way 슈퍼스칼라의명령어실행흐름도 Computer Architecture 2-52

53 슈퍼스칼라에의한속도향상 (speedup: Sp) 단일파이프라인에의한실행시간 (N : 실행할명령어수 ) m-way 슈퍼스칼라에의한실행시간 속도향상 명령어수 N, Sp m Computer Architecture 2-53

54 슈퍼스칼라 ( 계속 ) 슈퍼스칼라의속도저하 (Sp < m) 요인 : 명령어들간의데이터의존관계 하드웨어 (ALU, 레지스터, 등 ) 이용에대한경합발생 동시실행가능한명령어수 < m < 해결책 > 명령어실행순서재배치 명령어들간의데이터의존성제거 하드웨어추가 ( 중복 ) 설치 기억장치및레지스터에대한경합감소 Computer Architecture 2-54

55 2.3.4 듀얼 - 코어및멀티 - 코어 CPU 코어 (core) : 명령어실행에필요한 CPU 내부의핵심 ( 명령어실행 ) 하드웨어모듈멀티-코어프로세서 (multi-core processor): 여러개의 CPU 코어들을하나의칩에포함시킨프로세서 듀얼 - 코어 (dual-core): 두개의 CPU 코어포함 쿼드 - 코어 (quad-core): 네개의 CPU 코어포함 칩 - 레벨다중프로세서 (chip-level multiprocessor) 혹은 단일 - 칩다중프로세서 (multiprocessor-on-a-chip) 이라 고도부름 Computer Architecture 2-55

56 듀얼 - 코어및멀티 - 코어 ( 계속 ) 각 CPU 코어는별도의 H/W 모듈로이루어지며, 시스템 버스와캐시만공유 프로그램실행에있어서각코어는 ( 슈퍼스칼라의각파이프라 인보다 ) 더높은독립성가짐 : 멀티 - 태스킹 (multi-tasking) 혹 은멀티 - 스레딩 (multi-threading) Computer Architecture 2-56

57 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 연산종류 (operation repertoire): CPU가수행할연산들의수와종류및복잡도 데이터형태 (data type): 연산을수행할데이터들의형태, 데이터의길이 ( 비트수 ), 수의표현방식등 명령어형식 (instruction format): 명령어의길이, 오퍼랜드필드들의수와길이, 등 주소지정방식 (addressing mode): 오퍼랜드의주소를지정하는방식 Computer Architecture 2-57

58 2.4.1 연산의종류 데이터전송 : 레지스터와레지스터간, 레지스터와기억장치간, 혹은 기억장치와기억장치간에데이터를이동하는동작 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈과같은기본적인산술연산들 논리연산 : 데이터의각비트들간에대한 AND, OR, NOT 및 exclusive-or 연산 입출력 (I/O) : CPU 와외부장치들간의데이터이동을위한동작들 프로그램제어 명령어실행순서를변경하는연산들 분기 (branch), 서브루틴호출 (subroutine call) Computer Architecture 2-58

59 서브루틴호출을위한명령어들 CALL 명령어 : 현재의 PC 내용을스택에저장하고서브 루틴의시작주소로분기하는명령어 RET 명령어 : CPU 가원래실행하던프로그램으로복귀 (return) 시키는명령어 Computer Architecture 2-59

60 서브루틴이포함된프로그램이수행되는순서 Computer Architecture 2-60

61 CALL/RET 명령어의마이크로연산 CALL X 명령어에대한마이크로-연산 t 0 : MBR PC t 1 : MAR SP, PC X t 2 : M[MAR] MBR, SP SP - 1 현재의 PC 내용 ( 서브루틴수행완료후에복귀할주소 ) 을 SP가지정하는스택의최상위 (top of stack) 에저장 만약주소지정단위가바이트이고저장될주소는 16비트라면, SP SP 2 로변경 RET 명령어의마이크로-연산 t 0 : SP SP + 1 t 1 : MAR SP t 2 : PC M[MAR] Computer Architecture 2-61

62 그림 2-17 의프로그램수행과정에서스택의변화 Computer Architecture 2-62

63 2.4.2 명령어형식 명령어의구성요소들 연산코드 (Operation Code) : 수행될연산을지정 ( 예 : LOAD, ADD 등 ) 오퍼랜드 (Operand) 연산을수행하는데필요한데이터혹은데이터의주소 각연산은한개혹은두개의입력오퍼랜드들과한개의결과오퍼랜드를포함 데이터는 CPU 레지스터, 주기억장치, 혹은 I/O 장치에위치 다음명령어주소 (Next Instruction Address) 현재의명령어실행이완료된후에다음명령어를인출할위치지 정 분기혹은호출명령어와같이실행순서를변경하는경우에필요 Computer Architecture 2-63

64 명령어형식 명령어형식 (instruction format) : 명령어내필드들의수와배치방식및각필드의비트수필드 (field) : 명령어의각구성요소들에소요되는비트들의그룹명령어의길이 = 단어 (word) 길이 [ 예 ] 세개의필드들로구성된 16- 비트명령어 Computer Architecture 2-64

65 명령어형식의결정에서고려할사항들 연산코드필드길이 : 연산의개수를결정 [ 예 ] 4 비트 2 4 = 16 가지의연산정의가능 o 만약연산코드필드가 5 비트로늘어나면, 2 5 = 32 가지연산 들정의가능 다른필드의길이가감소 오퍼랜드필드의길이 : 오퍼랜드의범위결정 오퍼랜드의종류에따라범위가달라짐 o o o 데이터 : 표현가능한수의범위결정기억장치주소 : CPU가오퍼랜드인출을위하여직접주소를지정할수있는기억장치용량결정레지스터번호 : 데이터저장에사용될수있는레지스터의개수결정 Computer Architecture 2-65

66 오퍼랜드필드범위의예 오퍼랜드 1 은레지스터번호를지정하고, 오퍼랜드 2 는기억장 치주소를지정하는경우 오퍼랜드 1 : 4 비트 16 개의레지스터사용가능 오퍼랜드 2 : 8 비트 기억장치의주소범위 : 번지 두개의오퍼랜드들을하나로통합하여사용하는경우 오퍼랜드가 2의보수로표현되는데이터라면, 표현범위 : 오퍼랜드가기억장치주소라면, 2 12 = 4096 개의기억장치주소들지정가능 Computer Architecture 2-66

67 오퍼랜드의수에따른명령어분류 1- 주소명령어 (one-address instruction) : 오퍼랜드를한개만포함 하는명령어. ( 다른한오퍼랜드는묵시적으로 AC 가됨 ) [ 예 ] ADD X ; AC AC + M[X] 2- 주소명령어 (two-address instruction) : 두개의오퍼랜드를포함 하는명령어. [ 예 ] ADD R1, R2 ; R1 R1 + R2 MOV R1, R2 ADD R1, X ; R1 R2 ; R1 R1 + M[X] 3- 주소명령어 (three-address instruction) : 세개의오퍼랜드들을 포함하는명령어. [ 예 ] ADD R1, R2, R3 ; R1 R2 + R3 Computer Architecture 2-67

68 1- 주소명령어의예 길이가 16 비트인 1- 주소명령어에서연산코드가 5 비트 인경우의명령어형식을정의하고, 주소지정가능한기억 장치용량을결정하라 주소지정가능한기억장치용량 : 2 11 = 2048 바이트 명령어형식 (instruction format) Computer Architecture 2-68

69 2- 주소명령어의예 2-주소명령어형식을사용하는 16-비트 CPU에서연산코드가 5 비트이고, 레지스터의수는 8 개이다. (a) 두오퍼랜드들이모두레지스터번호인경우와, (b) 한오퍼랜드는기억장치주소인경우의명령어형식을정의하라 Computer Architecture 2-69

70 3- 주소명령어형식의예 Computer Architecture 2-70

71 명령어형식이프로그래밍에미치는영향 ( 예 ) [ 예 ] X = (A + B) x (C - D) 계산을위한어셈블리프로그램작성 아래와같은니모닉을가진명령어들을사용 ADD : 덧셈 SUB : 뺄셈 MUL : 곱셈 DIV : 나눗셈 MOV : 데이터이동 LOAD : 기억장치로부터데이터적재 STOR : 기억장치로데이터저장 Computer Architecture 2-71

72 1- 주소명령어를사용한프로그램 LOAD A ; AC M[A] ADD B ; AC AC + M[B] STOR T LOAD C ; M[T] AC ; AC M[C] SUB D ; AC AC - M[D] MUL T ; AC AC M[T] STOR X ; M[X] AC 단, M[A] 는기억장치 A 번지의내용, T 는기억장치내임시저장장소의주소 프로그램의길이 = 7 Computer Architecture 2-72

73 2- 주소명령어를사용한프로그램 MOV R1, A ; R1 M[A] ADD R1, B ; R1 R1 + M[B] MOV R2, C ; R2 M[C] SUB R2, D ; R2 R2 - M[D] MUL R1, R2 ; R1 R1 R2 MOV X, R1 ; M[X] R1 프로그램의길이 = 6 Computer Architecture 2-73

74 3- 주소명령어를사용한프로그램 ADD R1, A, B ; R1 M[A] + M[B] SUB R2, C, D ; R2 M[C] - M[D] MUL X, R1, R2 ; M[X] R1 R2 프로그램의길이 = 3 단점 명령어의길이가증가한다 명령어해독과정이복잡해진다 Computer Architecture 2-74

75 2.4.3 주소지정방식 (addressing mode) 명령어실행에필요한오퍼랜드 ( 데이터 ) 의주소를결정하 는방식 기억장치주소 : 데이터가저장된기억장치의위치를지정 레지스터번호 : 데이터가저장된레지스터를지정 데이터 : 명령어의오퍼랜드필드에데이터가포함 다양한주소지정방식을사용하는이유 : 제한된수의명령어비트들을이용하여, 사용자 ( 프로그래머 ) 가여러가지방법으로오퍼랜드의주소를결정하도록해주며, 더큰용량의기억장치를사용할수있도록하기위함 Computer Architecture 2-75

76 기호 EA : 유효주소 (Effective Address), 즉데이터가저장된기억장치의실제주소 A : 명령어내의주소필드내용 ( 오퍼랜드필드의내용이기억장치주소인경우 ) R : 명령어내의레지스터번호 ( 오퍼랜드필드의내용이레지스터번호인경우 ) (A) : 기억장치 A 번지의내용 (R) : 레지스터 R의내용 Computer Architecture 2-76

77 주소지정방식의종류 직접주소지정방식 (direct addressing mode) 간접주소지정방식 (indirect addressing mode) 묵시적주소지정방식 (implied addressing mode) 즉시주소지정방식 (immediate addressing mode) 레지스터주소지정방식 (register addressing mode) 레지스터간접주소지정방식 (register-indirect addressing mode) 변위주소지정방식 (displacement addressing mode) 상대주소지정방식 (relative addressing mode) 인덱스주소지정방식 (indexed addressing mode) 베이스 - 레지스터주소지정방식 (base-register addressing mode) Computer Architecture 2-77

78 1) 직접주소지정방식 (direct addressing mode) 오퍼랜드필드의내용이유효주소 (EA) 가되는방식 EA = A 장점 : 데이터인출을위하여한번의기억장치액세스만필요 단점 : 연산코드를제외하고남은비트들만주소비트로사용 될수있기때문에직접지정할수있는기억장소의수가제한 Computer Architecture 2-78

79 Computer Architecture 2-79

80 [ 예제 2-6 ( 계속 )] Computer Architecture 2-80

81 2) 간접주소지정방식 (indirect addressing mode) 오퍼랜드필드에기억장치주소가저장되어있지만, 그주소가 가리키는기억장소에데이터의유효주소를저장해두는방식 EA = (A) Computer Architecture 2-81

82 간접주소지정방식 ( 계속 ) 장점 : 최대기억장치용량이단어의길이에의하여결정 주소지정가능한기억장치용량확장 단어길이가 n 비트라면, 최대 2 n 개의기억장소주소지정이 가능 단점 : 실행사이클동안에두번의기억장치액세스가필요 첫번째액세스 : 주소인출 두번째액세스 : 그주소가지정하는기억장소로부터실제 데이터인출 Computer Architecture 2-82

83 간접주소지정방식 ( 계속 ) 명령어형식에간접비트 (I) 필요 만약 I = 0 이면, 직접주소지정방식 만약 I = 1 이면, 간접주소지정방식 다단계 (multi-level) 간접주소지정방식 EA = ( (.. (A).. ) ) Computer Architecture 2-83

84 Computer Architecture 2-84

85 3) 묵시적주소지정방식 (implied addressing mode) 명령어실행에필요한데이터의위치가묵시적으로지 정되는방식 [ 예 ] SHL 명령어 : 누산기의내용을좌측으로시프트 (shift) PUSH R1 명령어 : 레지스터 R1 의내용을스택에저장 장점 : 명령어길이가짧다 단점 : 종류가제한된다 Computer Architecture 2-85

86 4) 즉시주소지정방식 (immediate addressing mode) 데이터가명령어에포함되어있는방식 ( 오퍼랜드필드의내용이연산에사용할실제데이터 ) 용도 : 프로그램에서레지스터나변수의초기값을어떤상수값 (constant value) 으로세트하는데사용장점 : 데이터를인출하기위하여기억장치를액세스할필요가없음단점 : 상수값의크기가오퍼랜드필드의비트수에의해제한됨 Computer Architecture 2-86

87 5) 레지스터주소지정방식 연산에사용될데이터가내부레지스터에저장되어있는경우, 명령어의오퍼랜드가해당레지스터를가리키는방식 EA = R 주소지정에사용될수있는레지스터들의수 = 2 k 개 ( 단, k 는 R 필드의비트수 ) Computer Architecture 2-87

88 레지스터주소지정방식 ( 계속 ) 장점 오퍼랜드필드의비트수가적어도된다 데이터인출을위하여기억장치액세스가필요없다 단점 데이터가저장될수있는공간이 CPU 내부레지스터들 로제한 Computer Architecture 2-88

89 6) 레지스터간접주소지정방식 오퍼랜드필드 ( 레지스터번호 ) 가가리키는레지스터의내 용을유효주소로사용하여실제데이터를인출하는방식 EA = (R) Computer Architecture 2-89

90 Computer Architecture 2-90

91 레지스터간접주소지정방식 ( 계속 ) 장점 : 주소지정할수있는기억장치영역이확장 레지스터의길이 = 16 비트라면, 주소지정영역 : 2 16 = 64K 바이트 레지스터의길이 = 32 비트라면, 주소지정영역 : 2 32 = 4G 바이트 Computer Architecture 2-91

92 7) 변위주소지정방식 (displacement addressing) 직접주소지정과레지스터간접주소지정방식의조합 EA = A + (R) 사용되는레지스터에따라여러종류의변위주소지정방 식정의 PC 상대주소지정방식 (relative addressing mode) 인덱스레지스터 인덱스주소지정방식 (indexed addressing mode) 베이스레지스터 베이스-레지스터주소지정방식 (baseregister addressing mode) Computer Architecture 2-92

93 상대주소지정방식 (relative addressing mode) 프로그램카운터 (PC) 를레지스터로사용 ( 주로분기명령어에 서사용 ) EA = A + (PC) 단, A 는 2 의보수 A > 0 : 앞 (forward) 방향으로분기 A < 0 : 뒷 (backward) 방향으로분기 Computer Architecture 2-93

94 Computer Architecture 2-94

95 상대주소지정방식 ( 계속 ) 장점 : 전체기억장치주소가명령어에포함되어야하 는일반적인분기명령어보다적은수의비트만있으 면된다 단점 : 분기범위가오퍼랜드필드의길이에의해제 한된다 Computer Architecture 2-95

96 인덱스주소지정방식 (indexed addressing mode) 인덱스레지스터의내용과변위 A 를더하여유효주소를 결정 EA = (IX) + A 인덱스레지스터 (IX) : 인덱스 (index) 값을저장하는 특수레지스터 주요용도 : 배열데이터액세스 Computer Architecture 2-96

97 [ 예 ] 데이터배열이기억장치의 500 번지부터저장되어있고, 명령어의주 소필드에 500 이포함되어있을때, 인덱스레지스터의내용 (IX) = 3 이라면 데이터배열의 4 번째데이터액세스 Computer Architecture 2-97

98 인덱스주소지정방식 ( 계속 ) 자동인덱싱 (auto-indexing) 명령어가실행될때마다인덱스레지스터의내용이자동적으로증가혹은감소 이방식이사용된명령어가실행되면아래의두연산이연속적으로수행됨 EA = (IX) + A IX IX + 1 Computer Architecture 2-98

99 베이스 - 레지스터주소지정방식 베이스레지스터의내용과변위 A 를더하여유효주소를 결정 EA = (BR) + A 주요용도 : 프로그램의위치 ( 변경 ) 지정에사용 [ 예 ] 다중프로그래밍 (multiprogramming) 환경에서프로그램코드및데이터를다른위치로이동시켜야할때, 분기명령어나데이터액세스명령어들의주소필드내용을바꿀필요없이, BR의내용만변경하면된다. Computer Architecture 2-99

100 2.4.4 실제상용프로세서들의명령어형식 PDP-10 프로세서 : 고정길이의명령어형식사용 단어의길이 = 36 비트, 명령어의길이 = 36 비트 연산코드 = 9 비트 최대 512 종류의연산허용 ( 실제 365 개 ) PDP-11 프로세서 : 다양한길이의명령어형식들사용 연산코드 = 4 16 비트 주소개수 : 0, 1, 2 개 Computer Architecture 2-100

101 PDP-11 의명령어형식들 Computer Architecture 2-101

102 펜티엄프로세서의명령어형식 선형주소 (linear address: LA) : 유효주소 + 세그먼트의시작주소 ( 세그먼트의시작주소는세그먼트레지스터 (SR) 에저장 ) Computer Architecture 2-102

103 펜티엄프로세서의명령어형식 즉시방식 (immediate mode) : 데이터가명령어에포함되는방식 데이터의길이 = 바이트, 단어 (word) 혹은 2 중단어 (double word) 레지스터방식 (register mode) : 유효주소가레지스터에들어있는 방식 변위방식 (displacement mode) : 명령어에포함된변위값과세그먼 트레지스터 SR 의내용을더하여선형주소 LA 를생성하는방식 베이스방식 (base mode) : 레지스터간접주소지정에해당 상대방식 (relative mode) : 변위값과프로그램카운터의값을더하여 다음명령어의주소로사용하는방식 Computer Architecture 2-103

104 펜티엄명령어형식의필드들 연산코드 (Op code) : 연산의종류지정. 길이 = 1 or 2 바이트 MOD/RM : 주소지정방식지정 SIB : MOD/RM 필드와결합하여주소지정방식을완성변위 (displacement) : 부호화된정수 ( 변위 ) 를저장즉시 (immediate) : 즉시데이터를저장 Computer Architecture 2-104

Computer Architecture

Computer Architecture 명령어의구조와주소지정방식 명령어세트명령어의형식주소지정방식실제명령어의형태 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 2.4 명령어세트 (instruction set) 어떤 CPU 를위하여정의되어있는명령어들의집합 명령어세트설계를위해결정되어야할사항들 2 연산종류 (operation repertoire) CPU 가수행할연산들의수와종류및복잡도

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx CPU의구조와기능 CPU 의명령어수행과정 명령어인출 (Instruction Fetch) : 기억장치로부터명령어를읽어온다 명령어해독 (Instruction Decode) : 수행해야할동작을결정하기위하여명령어를해독한다 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) : 명령어실행을위하여데이터가필요한경우에는기억장치혹은 I/O 장치로부터그데이터를읽어온다

More information

Computer Architecture

Computer Architecture CPU 의구조와기능 CPU 의기본구조 명령어실행과실행사이클 명령어파이프라이닝 CPU 의기능 2 명령어인출 (Instruction Fetch) 기억장치로부터명령어읽기 명령어해독 (Instruction Decode) 수행해야할동작을결정하기위하여명령어를해독 모든명령어들에대하여공통적으로수행 데이터인출 (Data Fetch) 명령어실행에필요한데이터를기억장치혹은 I/O

More information

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx 2.4 명령어세트 (instruction set) 명령어세트 CPU 가지원하는기계어명령어들의집합 명령어연산의종류 데이터전송 : 레지스터 / 메모리간에데이터이동 산술연산 : 덧셈, 뺄셈, 곱셈및나눗셈 논리연산 : 비트들간의 AND, OR, NOT 및 XOR 연산 입출력 (I/O) : CPU( 레지스터 ) 와외부장치들간의데이터이동 프로그램제어 : 분기, 서브루틴호출

More information

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

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능 컴퓨터구조 제 9 강 중앙처리장치의조직과기능 학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능 학습목표 rcpu 의성능을향상시키는요인들을알아본다. rcpu 의기본적인기능을이해한다. rcpu 는 ALU, 제어장치, 레지스터집합,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의명령어 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi 스택저장장치 (1/2) 스택 (Stack) 은 CPU 내부의레지스터집합에존재하는저장장치 데이터가순차적으로저장 / 스택의길이는가변함 한번에하나의요소에만액세스가능 데이터접근방법 : 나중입력먼저출력 (LIFO:

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 중앙처리장치의 조직과기능 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring 의학진단및치료기기학 ) Prof. Jae Young Choi Section 01 컴퓨터본체에서 CPU 의위치살펴보기 CPU 는기본적으로입력된데이터와명령어를프로그램에서지정한순서에따라수행한다. 이러한방식을프로그램내장방식이라부르며이를처음제안한발명자의이름을따서,

More information

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

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치 컴퓨터구조 제 12 강제어장치 학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 2 12. 제어장치 학습목표 r 프로세스내의제어장치의기능과역할을공부한다. r 마이크로연산의표현을공부하다. r제어장치의구성과마이크로연산을공부한다. r제어장치의구현방법을알아본다. r 마이크로프로그램을이용한제어장치의구조와동작을공부한다.

More information

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

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M 중앙처리장치 (CPU: Central Process Unit) 1) 제어장치 (Control Unit) 컴퓨터시스템의모든장치들에게동작을지시하고제어하는장치로주기억장치에서읽어온명령어를해독하고해당장치에게제어신호를보낸다. 구성회로 : 부호기, 명령해독기, 번지해독기 구성레지스터 : PC( 프로그램카운터 ), IR( 명령어레지스터 ) 부호기 ( 제어신호발생기 ) 해독한명령어에따라서해당장치로보낼제어신호를생성하는회로

More information

슬라이드 1

슬라이드 1 명령어집합 주소지정모드 (addressing mode) 내용 명령어는크게연산자부분과이연산에필요한주소부분으로구성 이때주소부분은다양한형태를해석될수있으며, 해석하는방법을주소지정방식 ( 모드 )(addressing mode) 라한다. 즉피연산자정보를구하는방법을주소지정방식이라고함 명령어형식 주소지정 명령어형식에있는주소필드는상대적으로짧다. 따라서지정할수있는위치가제한된다.

More information

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

온라인 IT 교육최강 (  강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 - 2. 중앙처리장치 (Central Processing Unit) 주기억장치에기억된명령을꺼내서해독하고, 시스템전체에지시신호를내는장치명령코드가명령을수행할수있게필요한제어기능을제공제어장치의구성

More information

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

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr 강의정보처리필기강사조대호 차시명 체크문제 [CA-07 강 ] 주소지정방식과연산, 명령실행과제어 차시 7 차시 학습내용 1. 주소지정방식과연산 2. 명령실행과제어 학습목표 1. 주소지정방식과연산에대해이해할수있다 2. 명령실행과제어를이해하고해결할수있다 학습내용 3.3 주소지정방식 1. 주소설계시고려해야할점이아닌것은? 가. 주소를효율적으로나타낼수있어야한다. 나.

More information

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770> 4 명령실행과제어 4.1 마이크로오퍼레이션(Micro Operation) (1) 마이크로오퍼레이션( 동작) 0609 0509 1) 명령을수행하기위해 CPU 내의레지스터와플래그의상태변환을일으키는 작업 0308 0405 2) 레지스터에저장된데이터에의해서이루어지는동작 0109 0209 0503 3) 마이크로오퍼레이션을순서적으로일어나게하는데필요한신호를제어신호 라함

More information

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

학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능 컴퓨터구조 제 4 강 컴퓨터시스템의구성과기능 학습목차 r컴퓨터분해를통한본체살펴보기 r컴퓨터구성요소 r컴퓨터의기능 r버스와상호연결 컴퓨터구조 2 4. 컴퓨터시스템의구성과기능 학습목표 r컴퓨터를분해해서하드웨어적구성장치를파악한다. r컴퓨터의조직과기능을이해한다. r컴퓨터구성장치의기능을이해한다. r컴퓨터가수행하는기능을분류하고이해한다. r컴퓨터의구성장치들과연결을이해한다.

More information

슬라이드 1

슬라이드 1 컴퓨터의구성 내용 컴퓨터의세대와역사 컴퓨터의구성요소 : CPU, 주기억장치, I/O 장치, 상호연결망 컴퓨터의기능 컴퓨터세대의분류 세대 연도 기술 속도 ( 연산수 / 초 ) 1 1946-1957 진공관 40,000 2 1958-1964 트랜지스터 200,000 3 1965-1971 SSI(Small Scale Integration) 1,000,000 4 1972-1977

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 03 컴퓨터구조 1 03 컴퓨터구조 - Computer Science - 03 컴퓨터구조 2 목차 1. 컴퓨터시스템의구성 2. 중앙처리장치 3. 기억장치 4. 입출력장치 - Computer Science - 03 컴퓨터구조 3 컴퓨터시스템의구성 하드웨어 : 컴퓨터를구성하는기계적장치

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명령어의수행과제어 명령어에대해서학습하고, 명령어가수행되는과정에대하여학습한다. 1. 명령어의개요 2. 주소지정법 3. CPU 구조 4. 명령어의수행과제어 1. 명령 (Instruction) 개요 1.1 명령의구조 (1) OP Code(Operation Code) 1) 동작을지시 ( 동작부, 연산부, 명령부 ) 2) 명령의형식이나주소부의자료종류를지정. 3) 실행시스템의명령어개수와관련.

More information

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

Microsoft PowerPoint - M07_RTL.ppt [호환 모드] 제 7 장레지스터이동과데이터처리장치 - 디지털시스템의구성 data path 모듈 : 데이터처리, 레지스터, 연산기, MUX, control unit 모듈 : 제어신호발생, 연산의순서지정 - register transfer operation : reg 데이터이동 / 처리 reg set,operation, sequence control - micro-operation

More information

마이크로프로세서 개요

마이크로프로세서 개요 1 주 개요 메카트로닉스공학부 조철우 8051 Pin Layout 8051 3 Atmel 89C2051 4 강의의개요 컴퓨터및의기원과동작원리를학습 마이크로컨트롤러를배우기위한기초원리 마이크로컨트롤러를활용하기위한도구사용법 마이크로컨트롤러를활용하기위한기초시스템설계및프로그래밍 History of Computer 컴퓨터의역사. 최초의컴퓨터 - 1946년 ENIAC,

More information

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770> 3.2 명령어 (1) 명령어 (Instruction) 의구성 연산자 (Operation Code) 부자료 (Operand) 부 0405 명령어의연산자부분이나타낼수있는것오답 인스트럭션의순서 1) 연산자부 (Op-Code, Operation Code부 ) 1 실행할명령이들어있음 2 명령어의연산자부분이나타낼수있는것 9910 0203 명령어의형식 연산자 자료의종류

More information

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

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt . 사무자동화 3 대주요기술 - 정보의획득, 처리, 전달 ( 통신 ), 보관 ( 축적, 검색 ) 에관련된기술 ) 하드웨어기술 : 신소재개발, 회로소자의고집적도 ( 컴퓨터 ) 2) 소프트웨어기술 : 음성인식기술, 인공지능기술, 자연언어처리기술 ( 운영체제 ) 3) 통신기술 : 교환기술, 단말기술 - 사무자동화기술의특성 : 지능화, 복합다기능화, 네트워크화, 소형화

More information

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

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 2 주차강의자료 2/31 Contents 학습목표 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서특수레지스터, 범용레지스터의역할을이해할수있다. ATmega128 내부에포함된명령어인출과실행절차를알아보고, 명령어유형을통해동작을이해할수있다. 내용

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 컴퓨터시스템의구성과기능 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi Section 01 컴퓨터분해를통한본체살펴보기 [ 그림 4-1] 컴퓨터의분해와연결 2 주회로기판 (main board) 의구성 [ 그림 4-2] 메인보드의구성 3 구성요소 중앙처리장치 (CPU) 핵심기능인프로그램을실행하고데이터를처리한다제어장치,

More information

Microsoft PowerPoint - DSD06c_ISA.pptx

Microsoft PowerPoint - DSD06c_ISA.pptx 한국기술교육대학교 장영조 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set Architecture) 한국기술교육대학교전기전자통신공학부

More information

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

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다. 마이크로프로세서의원리 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 (slee@wku.ac.kr) 소속 : 원광대학교전기 정보통신공학부 학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

More information

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770> P.146 기 출 문 제 0109 0209 0503 1. 마이크로동작 (Micro - operation) 에대한정의로서옳은것은? 가. 컴퓨터의빠른계산동작나. 2진수계산에쓰이는동작다. 플립플롭내에서기억되는동작라. 레지스터에저장된데이터에의해서이루어지는동작 9906 0010 0403 0409 0603 2. 중앙처리장치에서마이크로동작의실행이순서적으로발생할수있도록역할을담당하는것은?

More information

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt 1 - 전체요약 4. ARM 조직과구현 2 4.1 3 단계파이프라인 ARM 조직 레지스터뱅크 : 레지스터접근을위한 2개의입력포트, 1개의출력포트, 프로그램카운터를위한 1개의입출력포트배럴쉬프터 : ALU 입력전자리이동과회전수행 ALU : 산술연산, 논리연산실행어드레스레지스터 : 메모리주소저장어드레스증가기 : 연속적인메모리주소생성데이터레지스터 : 메모리로부터읽은데이터나저장할데이터를저장명령어디코더

More information

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620377E39B0AD20B1B3BEC82836BFF C0CF20B0ADC0C7292E687770> 제 7 장중앙처리장치 (CPU) 정보처리 ( 산업 ) 기사 1. 중앙처리장치 중앙처리장치는컴퓨터각부분의작동을제어하고연산을수행하는핵심적인부분으로제어장치 (control unit) 과연산장치 (ALU: Arithmetic Logic Unit) 로구성된다. (1) CPU 의기본구조 1 제어장치는명령을해독하고제어신호를발생하여제어기능을수행한다. 2 연산장치는각종연산을실행한다.

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어 컴퓨터 구조 제 10 강 중앙처리장치의 명령어 학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 2 10. CPU 명령어 학습 목표 r어셈블리 언어는 기계어와 일대일 대응을 하는 언어 로 그 형식과 동작을 이해한다. r인터럽트의 동작과 인터럽트 부 사이클이 포함된

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1. data-addressing mode CHAPTER 6 Addressing Modes 2. use of data-address mode to form assembly language statements 3. op of program memory address mode 4. use of program memory address mode to form assembly

More information

슬라이드 1

슬라이드 1 제 5 장컴퓨터의제어장치 목차 5.1 제어장치의구조및기능 5.2 마이크로오퍼레이션과사이클 5.3 메이저상태와타이밍상태 5.4 제어데이터와제어규칙 5.5 제어장치의구현방법 5.1 제어장치의기능및구조 중앙처리장치 제어장치 1 프로그램카운터 (PC) 6 6 주소처리기4 3 명령어레지스터 (IR) 3 +1 5 해독기순서기제어신호발생기 5 ALU 및레지스터 5 5 주기억장치

More information

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

Microsoft PowerPoint - M09_CPUarchi.ppt [호환 모드] 제 9 장 Instruction Set Architecture 9-1 컴퓨터아키텍쳐개념 Machine language : ( 프로그램메모리에저장되는 ) 이진코드 Assembly language : symbolic, opcode + address 정보 아키텍쳐명령어세트아키텍쳐 organization : DP, 제어장치, 연결버스하드웨어 : 논리적회로 명령어 format

More information

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

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M (1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류,

More information

PowerPoint Presentation

PowerPoint Presentation Chapter 3 컴퓨터구조 하드웨어연결그림 본체 메인보드 입력장치 CPU RAM PS2 랜카드 키보드마우스 ALU 캐쉬메모리 레지스터 시리얼포트패러렐포트 PCI 사운드카드 스캐너마이크웹캠 DMA BIOS EIDE 버스 SATA PCI express AGP USB 그래픽카드 GPU HDMI 출력장치 스피커 헤드폰 파워서플라이 모니터 FDD HDD ODD SSD

More information

3차시.ppt

3차시.ppt [ 정보처리기능사필기] 1 과목 - 전자계산기일반 1 / 10 정보처리기능사 ( 필기 ) 1 과목. 전자계산기일반컴퓨터시스템의구성 2 1. 컴퓨터의기본구성 컴퓨터의기본구성 컴퓨터 = + (Hardware) 컴퓨터기계 (Software 를움직여주는프로그램 [ 정보처리기능사필기] 1 과목 - 전자계산기일반 2 / 10 2. (Hardware) -Hardware

More information

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

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set

More information

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

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770> P.120 기 출 문 제 9904 9908 0010 0109 1. 정보의단위로가장적은것은? 가. Byte 나. Word 다. Bit 라. Record 0005 0103 0605 2. 4비트로나타낼수있는정보단위는? 가. Nibble 나. Character 다. Full-Word 라. Double-Word 0007 3. 다음정보의단위중하위의개념에서상위의개념으로올바르게나열된것은?

More information

Computer Architecture

Computer Architecture 정수의산술연산과부동소수점연산 정수의산술연산부동소수점수의표현부동소수점산술연산 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 3.5 정수의산술연산 기본적인산술연산들 2 2 3.5.1 덧셈 2 의보수로표현된수들의덧셈방법 두수를더하고, 만약올림수가발생하면버림 3 3 병렬가산기 (parallel adder) 덧셈을수행하는하드웨어모듈 4- 비트병렬가산기와상태비트제어회로

More information

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx

Microsoft PowerPoint - CHAP_03 - 복쇬본.pptx 컴퓨터하드웨어 Computer Hardware PC 일반 Lecture 3 1. CPU 2. 메인보드 3. 동작원리 2 1 CPU 의 IQ? 컴퓨터하드웨어와컴퓨터구성 3 CPU??? 컴퓨터시스템전체를제어하는장치 다양한입력장치로부터자료를받아서처리한후, 그결과를출력장치로보내는일련의과정을제어하고 조정하는일을수행 4 2 CPU 의기본구조 CPU 논리연산장치 Arithmetic

More information

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

[ 마이크로프로세서 1] 1 주차 1 차시. 마이크로프로세서개요 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Micropr 1 주차 1 차시마이크로프로세서개요 학습목표 1. 마이크로프로세서 (Microprocessor) 를설명할수있다. 2. 마이크로컨트롤러를성능에따라분류할수있다. 학습내용 1 : 마이크로프로세서 (Microprocessor) 1. 마이크로프로세서란? 1 작은실리콘칩위에트랜지스터를수천만개집적한소자 2 마이크로 [μ] 는매우작은크기, 프로세서는처리기혹은 CPU를뜻하므로

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참 이비디오교재는정보통신부의 999년도정보통신학술진흥지원사업에의하여지원되어연세대학교전기전자공학과이용석교수연구실에서제작되었습니다 고성능마이크로프로세서 LU ( rithmetic Logic Unit) 와 Register File의구조 2. 연세대학교전기전자공학과이용석교수 Homepage: http://mpu.yonsei.ac.kr E-mail: yonglee@yonsei.ac.kr

More information

Computer Architecture

Computer Architecture 컴퓨터시스템개요 컴퓨터의기본구조정보의표현과저장시스템의구성컴퓨터구조의발전과정 1.1 컴퓨터의기본구조 2 컴퓨터시스템의구성 소프트웨어 (software) 정보들이이동하는방향과정보처리의종류를지정 동작들이일어나는명령 (command) 들의집합 응용소프트웨어 (application software) 워드프로세서, 웹브라우저, MS- Excel 등 시스템소프트웨어 (system

More information

Microsoft PowerPoint - 강의자료2_Chap2,3 [호환 모드]

Microsoft PowerPoint - 강의자료2_Chap2,3 [호환 모드] 컴퓨터구조 강의노트 #2: Chapter 2: 컴퓨터의발전과정과성능 Chapter 3: 최상위에서본컴퓨터의기능및상호연결 2008. 3. 10. 담당교수 : 조재수 E-mail: jaesoo27@kut.ac.kr 강의노트다운로드사이트 http://ipsl.kut.ac.kr 1 컴퓨터시스템구조론 제 2 장컴퓨터의발전과정과성능 2 1 2.1 컴퓨터의간략한역사 제

More information

hwp

hwp BE 8 BE 6 BE 4 BE 2 BE 0 y 17 y 16 y 15 y 14 y 13 y 12 y 11 y 10 y 9 y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y 0 0 BE 7 BE 5 BE 3 BE 1 BE 16 BE 14 BE 12 BE 10 y 32 y 31 y 30 y 29 y 28 y 27 y 26 y 25 y 24 y 23

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Computer Architecture CHAPTER 컴퓨터산술과논리연산 제 3 장 컴퓨터산술과논리연산 3.1 ALU의구성요소 3.2 정수의표현 3.3 논리연산 3.4 시프트연산 3.5 정수의산술연산 3.6 부동소수점수의표현 3.7 부동소수점산술연산 3.1 ALU 의구성요소 산술연산장치 : 산술연산들 (+, -,, ) 을수행 논리연산장치 : 논리연산들 (AND,

More information

Microsoft PowerPoint os2.ppt [호환 모드]

Microsoft PowerPoint os2.ppt [호환 모드] 2 장컴퓨터시스템구조 (Computer-System Structures) 컴퓨터시스템연산 (Computer System Operation) 입출력구조 (I/O Structure) 저장장치구조 (Storage Structure) 저장장치계층 (Storage Hierarchy) 하드웨어보호 (Hardware Protection) 일반적인시스템구조 (General

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

1부. 임베디드시스템

1부. 임베디드시스템 2. 마이크로프로세서시스템의 기본개념 마이크로프로세서시스템 하드웨어와소프트웨어가조합되어특정한목적을수행하는시스템 특정한기능을수행하도록마이크로프로세서와입출력장치를 내장하며, 이를제어하기위한프로그램이내장되어있는우리의일상 생활에서사용되는각종전자기기, 가전제품, 제어장치등 1 마이크로프로세서시스템응용분야 정보가전 : 세탁기, 오디오, 인터넷냉장고, HDTV 등 제어분야

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

마이크로세서 강의자료

마이크로세서 강의자료 제 4 장 명령어처리 4 장에나오는이야기들 CPU 명령어사이클과병렬계산 i4004 이후 μ- 프로세서는여전히작은처리장치? ( ) 1990 s 말부터슈퍼컴퓨터는수많은 μ- 프로세서들을연결해대규모병렬컴퓨터로설계 병렬계산을하지않는대부분의컴퓨터 1940 s 폰노이만이설계한명령어의순차실행을기반 파이프라인구조 1980 s 인텔 486 등에서이미보편화 슈퍼스칼라, SIMD

More information

Introduction to LMC

Introduction to LMC Introduction to LMC 황선태 국민대학교컴퓨터공학부 Layout of the Little Man Computer 10 12 123 00 01 02 03 97 98 99 Mailboxes 100 개의박스가있는데각박스에는 00 에서 99 까지의주소가할당되어있고그안에는 3 자리숫자가써있는종이한장이들어있다 이때각메일박스의내용과주소는같은개념이아니므로혼동하면안된다

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

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

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

Microsoft PowerPoint - hy1.pptx

Microsoft PowerPoint - hy1.pptx 의기본구조 개요 1 2 의구성요소 컴퓨터하드웨어의주요구성요소 1. 하드웨어 물리적인컴퓨팅자원 (ex) CPU, 메모리, 입출력장치 2. 운영체제 응용프로그램들의하드웨어사용을제어하고조정하고, 사용자 들에게컴퓨터사용을위한인터페이스를제공함 (ex) UNIX, Linux, Windows XP, Mac OS 3. 응용프로그램 사용자들의문제를해결하기위한프로그램 ( 소프트웨어

More information

ºÎ·ÏB

ºÎ·ÏB B B.1 B.2 B.3 B.4 B.5 B.1 2 (Boolean algebra). 1854 An Investigation of the Laws of Thought on Which to Found the Mathematical Theories of Logic and Probabilities George Boole. 1938 MIT Claude Sannon [SHAN38].

More information

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고

인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고 CHAPTER 7 인터럽트 가. 레지스터구조이해하기 나. 엔코더제어하기 인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고급한일을처리한후에본래의일을다시수행하는것을말한다.

More information

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

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드] 컴퓨터구조 강의노트 #8: Chapter 9: 컴퓨터산술 2008. 5. 8. 담당교수 : 조재수 E-mail: jaesoo27@kut.ac.kr 1 컴퓨터시스템구조론 제9장컴퓨터산술 (Computer Arithmetic) 2 1 핵심요점들 컴퓨터산술에있어서두가지주요관심사는수가표현되는방법 (2진수형식 ) 과기본적인산술연산들 ( 더하기, 빼기, 곱하기, 나누기

More information

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770>

<C0FCC0DAB0E8BBEAB1E220B1B8C1B620C3D6B1D920B1E2C3E2B9AEC1A B1B3BEC82E687770> 전자계산기구조최신기출문제 1 회 1. 레지스터참조명령어와거리가먼것은? 1 CLA(clear AC) 2 CIR(circulate right) 3 HLT(halt) 4 BUN(branch unconditionally) 2. 캐시메모리의기록정책가운데쓰기 (write) 동작이이루어질때마다캐시메모리와주기억장치의내용을동시에갱신하는방식은? 1 write-through 2

More information

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - 15-MARS MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터

More information

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

Microsoft PowerPoint - a2.ppt [호환 모드] 마이크로컴퓨터의기본구조 2 장 x86 프로세서구조 ALU: 산술논리연산제어장치 (CU): 실행순서제어클럭 : 구성요소들의동작동기화 CPU + memory + I/O + bus 어셈블리언어 2 클럭 (Clock) CPU 와 Bus 동작은클럭에동기되어동작을한다. 메모리읽기사이클과대기상태 1 클럭사이클동안간단한동작을수행한다. 기계어명령어수행에적어도 1 클럭사이클이필요함

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Computer Architecture CHAPTER 컴퓨터시스템개요 제 1 장 컴퓨터시스템개요 1.1 컴퓨터의기본구조 1.2 정보의표현과저장 1.3 시스템의구성 1.4 컴퓨터구조의발전과정 1.1 컴퓨터의기본구조 컴퓨터시스템의구성 응용소프트웨어 (application software) 시스템소프트웨어 (system software) 하드웨어 (hardware)

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

슬라이드 1

슬라이드 1 프로그램내장방식 저장프로그램 (Stored Program) 방식 폰노이만이고안 메모리에자료와프로그램이함께저장 중앙처리장치 (CPU) 메모리에서필요한자료를이용 저장된명령어를순차적 (Sequential) 으로실행 4 명령어형식 명령어 (instruction) 는연산부분 (operation part) 과피연산부분 (operand part) 으로구성 연산부분은명령어가수행해야할기능을의미하는코드

More information

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터

More information

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

Microsoft PowerPoint - M08_CPUcontrol.ppt [호환 모드] 제 8 장순차진행과제어 8-1 제어장치 동기형디지틀시스템의제어 : - master clock 발생회로에의한클럭제어 - 각클럭사이클마다레지스터의상태값변화 제어장치 - 연산순서에맞는제어신호공급 - 연속된마이크로연산결정 - Programmable and non-programmable system 명령어 (instruction) - programmable system

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

리눅스 프로세스 관리

리눅스 프로세스 관리 프로세스 (Process) Process 프로그램이나명령어를실행하면메모리에적재되어실제로실행되고있는상태를의미 이러한프로세스들은프로세스가시작하면서할당받는프로세스식별번호인 PID(Process ID), 해당프로세스를실행한부모프로세스를나타내는 PPID(Parent Process ID), UID 와 GID 정보를통해해당프로세스가어느사용자에속해있는지, 프로세스가파일에대해갖는권한및프로세스가실행된터미널,

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt

Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt ARM 명령어집합 임베디드시스템소프트웨어 I 내용 ARM 구조 프로세서수행모드 레지스터구조 예외처리과정 ARM 명령어형식 조건수행접미사 데이터처리명령어 곱셈명령어 Load/Store 명령어 다중레지스터 Load/Store 스택명령어 SWI 명령어 Branch 명령어 상태레지스터접근명령어 명령어요약 ARM 명령어집합 2 ARM 구조특징 모든명령어가 32bit

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

untitled

untitled 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint - polling.pptx

Microsoft PowerPoint - polling.pptx 지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

8장 조합논리 회로의 응용

8장 조합논리 회로의 응용 8 장연산논리회로 가산기 반가산기와전가산기 반가산기 (Half Adder, HA) 8. 기본가 / 감산기 비트의 개 진수를더하는논리회로. 개의입력과출력으로구성. 개입력은피연산수 와연산수 y 이고, 출력은두수를합한결과인합 S(sum) 과올림수 C(carry) 를발생하는회로. : 피연산수 : 연산수 : 합 y C S y S C 올림수 올림수 전가산기 : 연산수

More information

9

9 9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction

More information

MicrocontrollerAcademy_Lab_ST_040709

MicrocontrollerAcademy_Lab_ST_040709 Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - 09-컴구조-5-프로세서

Microsoft PowerPoint - 09-컴구조-5-프로세서 5 장. 프로세서 : 데이터패스및제어유닛 서론 논리설계관례 데이터패스만들기 단순한구현 다중사이클구현 예외 순천향대학교컴퓨터학부이상정 1 51 5.1 서론 순천향대학교컴퓨터학부이상정 2 기본적인 MIPS 구현 MIPS 핵심명령어일부를갖는기본프로세서구현 구현되는명령어 메모리참조명령어 (memory-reference instructions) lw, sw 산술 /

More information

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

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

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

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부 AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 (slee@wku.ac.kr) 소속 : 원광대학교전기 정보통신공학부 학습목표 2/39 다양한 AVR 패밀리와소자특징을알아보고, 제어환경에따라 AVR 소자를선택하여개발할수있는융통성을이해할수있다. ATmega128 내부구조에서메모리공간, I/O 공간의프로그램과데이터를처리하기위한특수레지스터,

More information

구문 분석

구문 분석 컴파일러구성 제 10 강 중간언어 / 인터프리터 Motivation rapid development of machine architectures proliferation of programming languages portable & adaptable compiler design --- P_CODE porting --- rewriting only back-end

More information

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

Microsoft PowerPoint - a6.ppt [호환 모드] 이장의내용 6 장조건부처리 부울과비교명령어 조건부점프 조건부루프명령어 조건부구조 컴퓨터정보통신 어셈블리언어 2 6.2 부울과비교명령어 부울명령어 Instructions ti 동작 AND dst, src OR dst, src XOR dst, src NOT dst dst dst AND src dst dst OR src dst dst XOR src dst NOT

More information