Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 08 제어장치와 마이크로 오퍼레이션.

Similar presentations


Presentation on theme: "Chapter 08 제어장치와 마이크로 오퍼레이션."— Presentation transcript:

1 Chapter 08 제어장치와 마이크로 오퍼레이션

2 CPU 제어장치의 구성 제어장치 – P254 제어장치의 역할 제어장치의 주요 레지스터
Computer Architecture 제어장치 – P254 제어장치의 역할 주기억장치에서 기억된 명령을 하나씩 가져와서 해독하고 해당 명령이 수행되도록 제어신호를 생성해서 보냄 제어장치의 주요 레지스터 프로그램 카운터 명령 레지스터 기억 레지스터 번지 레지스터 CPU 제어 장치 누산기 연산 장치

3 명령어 해독과 실행 사이클 직접 번지 형식 Computer Architecture 명령어 인출 사이클
주기억장치에서 명령 한 개를 가져오는 사이클 실행 사이클 주기억장치에서 필요한 데이터를 가져와서 처리하는 사이클 주기억 장치 4 가산,직접,3 1번지 3 13 6 3번지 12 연산 결과 2 + 6 = 8 5 14 2 11 MBR MAR 제어 장치 6 15 6 OP M ADD 가산 직접 3 10 1 PC(프로그램 카운터): 시작 명령의 번지를 지정 MAR(번지 레지스터): 접근할 기억 장치의 번지를 지시 MBR(기억 레지스터): 선택된 기억 장치 번지의 내용을 저장 IR(명령 레지스터): 명령의 동작 코드 부분을 저장하고 해석 I(형식 레지스터): 명령의 번지 지정 방식을 저장하고 해석 ALU(연산회로): 산술 및 논리 연산을 수행 AC(누산기): 연산 처리 후 최종 결과를 누적시켜 저장 8 9 1번지 가산 IR I 직접 PC +1 7 명령인출 사이클 실행 사이클 16 연산 장치 ALU 2 + 6 = 8 17 18 AC (2) AC = 8

4 명령어 해독과 실행 사이클 간접 번지 형식 Computer Architecture 명령어 인출 사이클
주기억장치에서 명령 한 개를 가져오는 사이클 간접 번지 사이클 주기억장치에서 유효주소를 가져오는 사이클 실행 사이클 주기억장치에서 필요한 데이터를 가져와서 처리하는 사이클 주기억 장치 4 가산,간접,3 1번지 3 13 6 3번지 12 연산 결과 = 12 19 10 6번지 18 5 14 20 2 11 17 MBR MAR 제어 장치 6 15 21 가산 6 OP M ADD 10 간접 3 10 16 1 PC(프로그램 카운터): 시작 명령의 번지를 지정 MAR(번지 레지스터): 접근할 기억 장치의 번지를 지시 MBR(기억 레지스터): 선택된 기억 장치 번지의 내용을 저장 IR(명령 레지스터): 명령의 동작 코드 부분을 저장하고 해석 I(형식 레지스터): 명령의 번지 지정 방식을 저장하고 해석 ALU(연산회로): 산술 및 논리 연산을 수행 AC(누산기): 연산 처리 후 최종 결과를 누적시켜 저장 8 9 1번지 IR 가산 간접 I PC +1 7 명령인출 사이클 간접 사이클 실행 사이클 22 연산 장치 ALU = 12 23 24 AC = 12 AC (2)

5 마이크로 오퍼레이션 마이크로 오퍼레이션(Micro operation) – P260
Computer Architecture 마이크로 오퍼레이션(Micro operation) – P260 1개의 명령을 구성하는 여러 단계의 단위 명령 (단위 동작) 마이크로 오퍼레이션을 위한 제어신호 처리는 제어장치가 담당 마이크로 오퍼레이션의 표현 기호 마이크로 오퍼레이션을 표현하기 위해 정해 놓은 기호 및 사용법 조건 동시 실행

6 마이크로 오퍼레이션 마이크로 오퍼레이션의 표현 기호 A 레지스터 (8비트) A7 A6 A5 A4 A3 A2 A1 A0
Computer Architecture 마이크로 오퍼레이션의 표현 기호 A 레지스터 (8비트) A7 A6 A5 A4 A3 A2 A1 A0 A(4-6) A2 A0 P : A ← B P : A ← B , C ← D + E 제어 조건 전송 동시 실행

7 마이크로 오퍼레이션 마이크로 오퍼레이션의 종류 – P262 연산 형태에 따른 종류 논리 마이크로 오퍼레이션
Computer Architecture 마이크로 오퍼레이션의 종류 – P262 연산 형태에 따른 종류 논리 마이크로 오퍼레이션 시프트 마이크로 오퍼레이션 레지스터 전송 마이크로 오퍼레이션 산술 마이크로 오퍼레이션

8 논리 마이크로 오퍼레이션 논리 마이크로 오퍼레이션 – P263 선택적 비트 설정(Selective-set) 동작
Computer Architecture 논리 마이크로 오퍼레이션 – P263 선택적 비트 설정(Selective-set) 동작 레지스터 B의 1에 대응하는 레지스터 A의 비트를 선택하여 1로 설정 하는 것으로 OR 연산을 수행한 것과 동일함 선택적 보수화(Selective-complement) 동작 레지스터 B의 1에 대응하는 레지스터 A의 비트를 선택하여 1의 보수를 만드는 것으로 XOR 연산을 수행한 것과 동일함

9 논리 마이크로 오퍼레이션 선택적 지움(Selective-clear) 동작 마스크(Mask) 동작
Computer Architecture 선택적 지움(Selective-clear) 동작 레지스터 B의 1에 대응하는 레지스터 A의 비트를 선택하여 0으로 지움 마스크(Mask) 동작 레지스터 B와 레지스터 A의 내용을 대응시켜서 B의 비트 1에 대한 A의 부분은 값을 통과시키고, 비트 0에 대한 부분은 0이 되도록 하는 것으로 AND 연산을 수행한 것과 동일함 A ← A ∧ B’

10 논리 마이크로 오퍼레이션 삽입 동작(Insert) 임의의 비트 묶음에서 특정 위치의 비트를 새로운 내용으로 변경 마스크 동작
Computer Architecture 삽입 동작(Insert) 임의의 비트 묶음에서 특정 위치의 비트를 새로운 내용으로 변경 먼저 대상이 되는 레지스터의 해당 비트 부분을 MASK 동작을 통해 0으로 지운 다음, 변경 대상 비트를 Selective-Set 동작에 의해 새로운 내용으로 교체 이 동작을 위해서 대상 부분을 지울 때 교체대상 부분은 0, 그 외는 1인 마스크 동작을 수행한 다음, 그 결과에 새로운 내용 삽입을 OR를 이용하여 처리 마스크 동작 삽입 동작 A * 0 = 0 A + 0 = A A + 1 = 1

11 논리 마이크로 오퍼레이션 비교 동작(Compare)
Computer Architecture 비교 동작(Compare) 레지스터 A와 레지스터 B를 비교해 두 개의 워드가 일치하면 0을 설정 하는 것으로 XOR 연산을 수행한 것과 동일함

12 마이크로 사이클 Computer Architecture 마이크로 사이클 시간 – P269 마이크로 사이클 시간(micro cycle time) 또는 CPU 사이클 시간 마이크로 오퍼레이션을 수행하는데 필요한 시간 동기식(Synchronous) 동기 고정식(Synchronous fixed) 모든 마이크로 오퍼레이션들 중에서 수행시간이 가장 긴 것으로 정하는 방식 수행 시간의 차이가 비슷한 경우 제어가 간단한 장점이 있음 수행 시간의 차이가 큰 경우라면 중앙처리장치의 시간이 낭비되는 단점이 발생 동기 가변식(Synchronous variable) 수행시간이 유사한 것끼리 모아서 그룹을 형성하고 그룹 단위로 정하는 방식 이 방법은 마이크로 오퍼레이션들의 수행 시간 차이가 클 때 효과적임 비동기식(Asynchronous) 모든 마이크로 오퍼레이션에 대해 서로 다른 각각의 시간을 할당하는 방식 효율은 좋으나 제어가 복잡하므로 거의 사용되지 않음 단위 동작에 시간을 할당

13 마이크로 사이클 마이크로 사이클 시간 비동기식 동기 고정식 동기 가변식 AND 10초 10초 10초 10초 OR 15초 15초
Computer Architecture 마이크로 사이클 시간 비동기식 동기 고정식 동기 가변식 AND 10초 10초 10초 10초 OR 15초 15초 15초 15초 NOT 20초 20초 20초 20초 XOR 30초 30초 30초 30초 주문 할당, 롯데리아 덧셈 100초 100초 100초 100초 뺄셈 110초 110초 110초 110초 곱셈 120초 120초 120초 120초 나눗셈 180초 180초 180초 180초

14 Chapter 09 제어 메모리와 메이저 상태

15 제어 메모리 제어 메모리(control memory) – P278
Computer Architecture 제어 메모리(control memory) – P278 명령 수행을 위한 일련의 제어 워드(마이크로 명령)가 저장된 메모리 제어 워드는 마이크로 오퍼레이션 수행을 위한 비트들의 모임 제어 메모리는 ROM, PROM, WCM(Writable Control Memory)을 이용

16 제어 메모리의 구현 마이크로 프로그램(Micro programmed) 중앙처리장치 주 기억 장치
Computer Architecture 마이크로 프로그램(Micro programmed) 중앙처리장치 주 기억 장치 제어 메모리 명령 제어 처리기 데이터 제어 장치 MBR OP M ADD MAR 신경 Network, 구현방법 IR I PC 연산 장치 ALU ACC

17 제어 메모리의 구현 제어 메모리의 구현 – P278 하드 와이어드(Hard wired) 제어 방식
Computer Architecture 제어 메모리의 구현 – P278 제어 메모리의 구현 방법은 하드 와이어드 (Hard wired) 제어 방식과 마이크로 프로그램(Micro programmed) 제어 방식이 있음 하드 와이어드(Hard wired) 제어 방식 논리게이트와 플립플롭의 순서논리회로로 구현한 방식 메모리가 없는 제어장치 설계 방식 장점 순서논리회로로 구성되어 빠른 연산 처리 속도를 제공 단점 비교적 간단한 명령 세트를 가진 시스템으로 사용이 제한 하드웨어 제작시 소요 시간과 비용을 고려해야 함 대규모로 접적화하는 경우에는 비경제적임

18 제어 메모리의 구현 마이크로 프로그램(Micro programmed) 제어 방식
Computer Architecture 마이크로 프로그램(Micro programmed) 제어 방식 제어 워드(제어 정보)를 기억장치에 0과 1로 저장시켜 구현한 방식 장점 기억장치의 내용을 바꿈으로 수정이 쉽고 유지보수가 용이 변경이 쉽고 경제적이며 시스템의 설계비용을 줄일 수 있음 구조화된 제어구조를 제공 CAD(computer aided design)에 의한 설계가 가능함 단점 하드와이어 제어 방식에 비해 상대적으로 속도가 느림 복잡한 명령어 세트를 가진 시스템에서 사용됨

19 제어 메모리의 구현 마이크로 프로그램(Micro programmed) 제어 방식 마이크로 프로그램 제어 구조
Computer Architecture 마이크로 프로그램(Micro programmed) 제어 방식 마이크로 프로그램 제어 구조 다음 번지 생성기 : 하나의 마이크로 오퍼레이션이 수행될 동안 제어 메모리에 보관된 다음 수행할 마이크로 프로그램의 저장 번지를 계산 제어 번지 레지스터 (CAR) : 계산된 실행 번지의 제어 메모리를 지정 제어 메모리 (Control memory) : 주로 ROM을 사용하여 구성되며, 이것의 출력은 마이크로 오퍼레이션을 수행하고, 다음 번지의 정보를 제공

20 마이크로 프로그램의 동작과 기능 마이크로 프로그램 – P286 마이크로 명령의 구성-1
Computer Architecture 마이크로 프로그램 – P286 마이크로 명령의 구성-1 마이크로 오퍼레이션(micro operation) 필드 수행할 동작을 나타내는 필드로 각 3비트의 서브필드 F1, F2, F3로 구성 하나의 마이크로 명령은 3개 다른 기능을 지시할 수 있고, 이들은 7가지로 표현 CD (condition) 필드 현재 상태 조건에 따라 분기할 수 있는 4가지 경우를 표현하는 2비트의 조건 필드 BR (branch) 필드 분기할 형식을 나타내는 필드로 2비트로 구성 분기는 조건에 따라 서브루틴 처리의 경우와 마이크로 명령 사상의 경우가 있음 ADF (address field) 다음 실행 명령어의 번지를 지시 다음의 번지는 분기 비트와 상태 비트에서 실행 형식을 지정 Micro operation Condition Branch Address

21 마이크로 프로그램 명령 형식 마이크로 프로그램 명령 형식 – P287 수평 마이크로 명령 형식 다중 워드 형식
Computer Architecture 마이크로 프로그램 명령 형식 – P287 수평 마이크로 명령 형식 n비트를 사용하여 n개의 마이크로 오퍼레이션을 나타낼 수 있음 가장 간단한 방식으로 1비트가 하나의 마이크로 오퍼레이션을 관할 여러 개의 하드웨어 요소를 동시에 제어가 가능해 수행 속도가 빠름 제어워드 길이가 길어지기 때문에 제어메모리 비용이 커지는 것이 단점 하드웨어를 효율적으로 사용할 수 있다는 것이 장점 다중 워드 형식 비슷한 계통의 명령 그룹을 묶어서 그룹별 제어워드 형식을 할당 제어 워드의 길이가 감소되는 만큼 수행 속도는 느려짐 + - x / G + - G * / x 수평 다중워드 수직

22 마이크로 프로그램 명령 형식 수직 마이크로 명령 형식 n 비트를 사용하여 2n개의 마이크로 오퍼레이션을 나타낼 수 있음
Computer Architecture 수직 마이크로 명령 형식 n 비트를 사용하여 2n개의 마이크로 오퍼레이션을 나타낼 수 있음 제어워드의 길이를 줄이기 위해 디코딩 회로를 필요로 하는 형식 적은 비트 수로 많은 마이크로 오퍼레이션의 표현이 가능 제어 신호 출력을 위한 디코더 사용으로 지연 시간 발생이 단점 수평마이크로 명령형식 수직마이크로 명령형식 x x x x x x + - * / none - + +, -, * 2X4 디코더 + - * /

23 메이저 상태 메이저 상태 – P290 컴퓨터 프로세서의 명령 처리 과정의 주요 상태 메이저 상태(major state)
Computer Architecture 메이저 상태 – P290 컴퓨터 프로세서의 명령 처리 과정의 주요 상태 메이저 상태(major state) CPU(중앙처리장치)가 주 기억 장치에 접근하여 무엇을 처리하는지를 표시 4개의 인출 사이클, 실행 사이클, 간접 사이클, 인터럽트 사이클이 있음 타이밍 상태(timing state) 각 메이저 상태의 단위 동작 수행을 위한 타이밍 펄스 기준의 동작 상태 4개의 메이저 상태 내의 각 타이밍 상태에서 일련의 단위 동작을 수행

24 명령어 해독과 실행 사이클 직접 번지 형식 Computer Architecture 메이저 상태 가산,직접,3 타이밍 상태
주기억 장치 가산,직접,3 1번지 타이밍 상태 * 인출 상태 t0 : MAR  PC t1 : MBR  M , PC  PC+1 t2: IR  MBR(OP) , I  MBR(I) * 실행 상태 t0 : MAR  MBR(AD) t1 : MBR  M t2 : AC  AC 연산자 MBR 6 3번지 MBR MAR 제어 장치 6 OP M ADD 가산 직접 3 1번지 가산 IR I 직접 PC +1 연산 장치 ALU 2 + 6 = 8 AC = 2 AC = 8

25 메이저 상태 메이저 상태 메이저 상태의 변환 프로그램 진행은 명령어를 인출하고 해석해서 처리하는 과정을 반복
Computer Architecture 메이저 상태 메이저 상태의 변환 프로그램 진행은 명령어를 인출하고 해석해서 처리하는 과정을 반복 명령어 인출 사이클 간접 번지 사이클 실행 사이클 인터럽트 사이클 명령어 인출 실행 간접 인터럽트 * 인터럽트란 프로그램 실행 중 예기치 않은 상황 발생시 이를 처리하는 과정

26 메이저 상태 명령어 인출 상태 – P293 실행 상태(execution state) – P294
Computer Architecture 명령어 인출 상태 – P293 메모리에서 명령을 읽어서 CPU로 가져와 해독하는 상태 t0: MARPC (명령의 번지 전송) t1: MBRM, PCPC+1 (명령어를 읽고, PC를 하나 증가) t2: IRMBR(OP), IMBR(I) (op code와 Mode 비트 전송) t3: R1, F1 (R=1이면 간접 상태로 전이, F=1이면 실행 상태로 전이) 실행 상태(execution state) – P294 유효 번지를 이용해서 오퍼랜드를 가져와 명령을 실행하는 상태 t0: MARMBR(AD) (연산자의 번지 전송) t1: MBRM (연산자를 가져옴) t2: ACAC (해당 오퍼레이션 연산) MBR t3: F0, R0 (인출 상태로 전이)

27 메이저 상태 간접 상태(Indirect state) – P294
Computer Architecture 간접 상태(Indirect state) – P294 번지부에 표현된 내용이 간접 번지인 경우, 인출 상태에서 간접 상태로 이동하여 유효 번지를 얻기 위해 기억장치를 다시 액세스하는 상태 t0: MARMBR(AD) (명령의 번지 부분 전송) t1: MBRM (오퍼랜드의 번지에 있는 데이터를 MBR에 저장) t2: F1, R0 (실행 상태로 전이)

28 메이저 상태 인터럽트 상태(interrupt state) – P294
Computer Architecture 인터럽트 상태(interrupt state) – P294 정상적인 명령 실행을 계속할 수 없을 때 (정전, 고장, 입출력 요구 등) 응급 처리 후 다시 재실행되도록 현재의 CPU 정보를 보관하는 상태 t0: MBR(AD)PC, PC0 (복귀 번지를 전송하고, PC를 0으로 초기화) t1: MARPC, PCPC+1 (인터럽트 서비스처리 루틴의 시작 번지를 지정) t2: MMBR, IEN0 (복귀 정보를 보관하고, 인터럽트 서비스 루틴을 시작) t3: F0, R0 (인출 상태로 전이)

29 명령어 실행 사이클 명령어 실행 사이클 – P296 인출한 명령을 제어 신호 지시에 의해 실행하는 사이클
Computer Architecture 명령어 실행 사이클 – P296 인출한 명령을 제어 신호 지시에 의해 실행하는 사이클 명령어 실행은 각 명령어의 특성 때문에 일정하지 않음 아래의 표에 주요 명령어들의 실행 마이크로 오퍼레이션을 요약

30 명령어 실행 사이클 덧셈(ADD) 뺄셈(SUB) 덧셈을 위한 마이크로 오퍼레이션
Computer Architecture 덧셈(ADD) 덧셈을 위한 마이크로 오퍼레이션 기억 레지스터의 번지부를 번지 레지스터에 옮기고 가수를 가져옴 누산기에 기억된 피가수와 기억 레지스터 가수와의 덧셈을 수행 덧셈후 결과는 누산기 AC에, 끝자리 올림은 E에 각각 기억시킴 뺄셈(SUB) 뺄셈은 MBR의 가수를 2의 보수를 취하여 AC에 더해서 계산

31 명령어 실행 사이클 덧셈(ADD)         Computer Architecture 중앙처리장치 주기억장치
MAR AD AD MAR M(MAR) M(MAR) op code MBR MBR AD ALU MBR AC AC

32 명령어 실행 사이클 논리곱(AND) 로드(LDA) 누산기에 기억된 값에 MBR의 내용을 논리곱으로 논리 연산
Computer Architecture 논리곱(AND) 누산기에 기억된 값에 MBR의 내용을 논리곱으로 논리 연산 로드(LDA) 주기억장치의 내용을 누산기로 가져오는 동작 AC  MBR

33 명령어 실행 사이클 스토어(STA) 무조건 분기(Branch UNconditionally)
Computer Architecture 스토어(STA) 누산기의 내용을 주기억장치에 기억시키는 것 무조건 분기(Branch UNconditionally) 무조건 분기는 번지부에 표현된 곳으로 실행 순서를 이동시키는 것이며 이것은 PC에 저장된 값을 변경하여 특정 번지로 분기하도록 함 JUMP

34 명령어 실행 사이클 서브루틴 분기(Branch and Save return Address)
Computer Architecture 서브루틴 분기(Branch and Save return Address) 서브루틴 호출 시, CALL 명령은 RETURN 명령에 의해서 되돌아올 수 있도록 복귀번지를 저장시킨 후에 분기해야 함 CALL 명령에서 호출한 서브루틴 번지가 254번지라면 복귀번지는 서브 루틴의 시작번지인 254번지에 기억됨 실제 명령은 255번지부터 인출하여 실행되도록 해야 함 Call 준비 복귀주소 대피 Call 복귀주소 저장 서브루틴 시작

35 명령어 실행 사이클 분기(Branch and Save return Address)          
Computer Architecture 분기(Branch and Save return Address) 분기 Branch 복귀주소 저장 복귀주소 대피 Call Save Return Address 서브루틴 시작 Subroutine Start 중앙처리장치 주기억장치 100번지 PC MAR CALL 254 101번지 255 PC 254 100 254 MAR 복귀시점 254번지 100+1 255번지 MBR CALL 254 MBR 100+1 서브루틴 : ALU MBR AC

36 명령어 실행 사이클 ISZ (Increment and Skip if Zero)
Computer Architecture ISZ (Increment and Skip if Zero) 유효 번지를 전송하고, 메모리 워드를 읽은 다음, 워드 내용에 1을 증가 시켜서 증가된 워드를 저장장치에 보관한 뒤 이 내용이 0이면 스킵하고 그렇지 않으면 다음 명령을 실행


Download ppt "Chapter 08 제어장치와 마이크로 오퍼레이션."

Similar presentations


Ads by Google