• 검색 결과가 없습니다.

예) 4개의 레지스터

N/A
N/A
Protected

Academic year: 2022

Share "예) 4개의 레지스터 "

Copied!
27
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)
(2)

레지스터

CPU 메모리

명령어 ALU 자료

제어 장치

내부 연결 구조

주소선

자료선 제어선

(3)

프로그램 카운터(PC: Program Counter)

다음에 실행할 명령어의 주소를 저장

명령어 레지스터(IR: Instruction Register)

메모리로부터 읽어온 명령어를 일시적으로 저장

기억장치 주소 레지스터(MAR: Memory Address Register)

읽기 동작이나 쓰기 동작을 수행할 기억장소의 주소를 저장

PSW (flag register)

CPU의 상태를 나타냄

기억장치 버퍼 레지스터(MBR: Memory buffer Register)

기억장치에 저장될 데이터 혹은 기억장치로부터 읽은 데이터를 임시적으로 저

입/출력 주소 레지스터(I/O AR: I/O Address Register)

입/출력 장치의 주소를 저장

입/출력 버퍼 레지스터(I/O BR: I/O Buffer Register)

입/출력 모듈과 CPU 사이에 교환되는 데이터를 일시적으로 저장

(4)

스택구조

◦ 자료 접근( LIFO- Last In First Out )

저장 순서에 따라 참조 정보가 정해지는 순차적 접근

◦ 스택의 위치 : CPU내부의 RAM 또는 레지스터 집합

스택의 구현

스택 포인터(SP; Stack Pointer)

스택의 top 위치를 지시

특수 레지스터를 이용 자동으로 처리

스택내의 자료 접근

: 스택 포인터(주소)를 통해 접근

스택의 저장 순서

0

A

B B

A 초기화 ‘A’, ‘B’ 푸쉬 후 팝 후

(5)

직접 연결 : 연결 복잡도가 장치수의 제곱에 비례

버스 연결 :

 공용 선들의 집합

 보편적인 장치들간의 연결

 한 순간에는 하나의 정보만 전송 가능

(6)

예) 4개의 레지스터

(7)

산술연산 논리회로 함수 테이블(p283) 회로설계

는 수업시간에

(8)

논리 연산의 함수 테이블

논리연산 회로

(9)

설계된 산술연산 회로와 논리연산 회로를 조합하면 ALU가 완성

선택선 S1과 S0는 산술연산 회로와 논리연산 회로가 공통으로 사용

선택선 S2는 두 회로 중 하나를 선택하는데 사용

S2가 0이면 산술연산을, S2가 1이면 논리연산을 수행

(10)

◦ 플래그(flag) 또는 PSW

◦ CPU를 설계하는 과정에서 상태 비트는 여러 종류가 존재

자리올림(Carry : C), 오버플로우(Overflow : V), 제로(Zero : Z), 부호(Sign : S)의 4가지는 필수적이다.

C(Carry) : 자리올림 비트가 1이면 자리올림수가 발생한 한다.

S(Sign) : 부호비트가 1이면 음수이고, 0이면 양수 상태를 나타낸 다.

Z(Zero) : ALU의 연산결과 모든 비트의 출력이 0이면 제로 비트는 1이 되고, 그렇지 않으면 제로 비트는 0이 된다.

V(Overflow) : ALU의 두 자리올림수 C8, C9를 XOR를 한 결과가 1 이면 오버플로우가 발생한 것이고, 그렇지 않고 0이면 오버플로우 는 발생하지 않은 상태다.

(11)
(12)

하드웨어만으로 설계된 하드와이어적 제어장치(hardwired control unit)

제어 싞호의 생성과정이 빠르다.

구현 논리 회로는 매우 복잡해질수 있다.

소프트웨어가 포함된 마이크로 프로그램된 제어장치(micro- programmed control unit)

(13)
(14)
(15)

명령어 패치 (Fetch Instruction)

명령어 해석 (Decode)

피연산자 패치 (Fetch operands)

실행(Execution)

(16)

명령어 인출 사이클에 대한 마이크로 연산

◦ 마이크로 연산 - 명령어를 실행하기 위한 CPU의 가장 기본 단위 연산

(17)
(18)

명령어 인출 사이클에 대한 마이크로 연산(add의 경우)

◦ 기억장치에 저장된 데이터를 AC의 내용과 더하고, 그 결과를 다 시 AC에 저장하는 명령

(19)
(20)

명령어는 연산 코드(Operation Code), 주소지정모드 (addressing modes), 오퍼랜드(Operand)로 구성

명령어 형식 예)

(21)

산술논리 연산

연산 기능을 담당하는 산술 연산이나 논리 연산 명령 등

젂달 기능(Transfer operation)

CPU와 주기억장치 사이, CPU 내의 레지스터 간의 정보교환과 적 재, 저장기능을 수행

입출력 기능(Input/Output Operation)

입출력 명령어는 중앙처리장치와 외부 장치들 간의 데이터 이동 을 위한 명령어

제어 기능(Control Operation)

제어장치에서 수행되며 프로그램의 수행흐름을 제어하는 데 사용

(22)

호출 명령어(CALL 명령어)는 현재 PC 내용을 스택에 저장하고 서브 루틴의 시작 주소로 분기하는 명령어다.

복귀 명령어(RET 명령어)는 CPU가 원래 실행하던 프로그램으로 되 돌아가도록 하는 명령어다.

(23)
(24)

3-주소 명령어(three-address instruction)

2-주소 명령어

1-주소 명령어

0-주소 명령어

 예제에 의한 설명

(25)

주소 수가 많아질수록 명령어가 더 복잡

레지스터 수가 많아져 연산 속도가 빨라짐

프로그램당 명령어 수가 감소

주소 수가 적은 명령어는 명령어 인출과 실행 속도가 높

음. 그러나 프로그램의 길이 증가

(26)

명령어 개수를 줄여 하드웨어 구조를 좀 더 간단하 게 만드는 방식

Cf) 복잡 명령어 집합 컴퓨터(CISC, Complex Instruction Set Computer)

CISC보다 구조가 단순하기 때문에 복잡한 연산도

적은 수의 명령어들을 조합하여 수행  처리 속도

를 향상

(27)

사이클당 한 명령어 실행

메모리 접근을 제한: LOAD와 STORE 명령어

많은 수의 레지스터 사용

제어장치가 간단해 짐

적은 수의 단순한 명령어 형식

단순한 주소 지정 방식

참조

관련 문서

그러나 전산 프로 그램은 거래내용이나 전표내용을 프로그램의 전표 입력 메뉴에 입력하면 나머지 회계처리절차는 자동 적으로 실행하여

그러나 전산 프로 그램은 거래내용이나 전표내용을 프로그램의 전표 입력 메뉴에 입력하면 나머지 회계처리절차는 자동 적으로 실행하여

0Buffer overflow 공격들 중에는 자신의 내용을 덮어 쓴 후에 카나 리아를 덮어 쓰는 방법을 사용하기도 함. – 이를 막기 위해 시스템 시작

수퍼클래스가 아닌 현재 클래스의 지정된 초기자 호출 초기화 작업을 변경하고 싶으면 지정된 초기자만 변경 지정된 초기자에서만

• 오른쪽 서브 트리의 키들은 루트의 키보다 크다.. • 왼쪽과 오른쪽 서브 트리도

 PC에 저장된 명령어 주소가 시스템 주소 버스로 출력되기 전에 일시적으로 저장되는 주소 레지 스터.  기억장치 버퍼

™ 정적 링크 (Static link) Return address Access link. ™ 비지역변수

첫 번째 worker 함수 호출 10번 결과를 출력. 두 번째 worker 함수 호출