목차
1. cpu의 기능
2. 레지스터와 플래그
3. 플래그
4. 레지스터
5. 연산장치
6. 내부버스
2. 레지스터와 플래그
3. 플래그
4. 레지스터
5. 연산장치
6. 내부버스
본문내용
torage Address Register : CSAR)와
제어 기억장치 데이터 레지스터(Control Storage Data Register : CSDR)
. 마이크로 프로그램에 의한 제어 방식을 택한 경우 제어 기억장치 접근에 필요
(2) 데이터 레지스터(Data Register)
AC(accumulator)
- CPU내에 데이터 레지스터가 하나 뿐인 경우
- 그림 AC와 연산 장치
- 곱셈과 나눗셈, 부동 소숫점 수로 나타낸 수의 계산을 위해서는 추가의 데이터 레지스터 필요
- 부동 소수점 연산 장치를 두는 경우에는 부동 소숫점 AC(floating point AC), 2 배수 부동 소숫점
AC(floating point AC) 필요
범용 레지스터(general purpose register)
- 데이터 레지스터 또는 주소 레지스터로 사용 가능
스택(stack)
- 기억된 정보의 처리하는 순서가 특수한 구조
- 레지스터로 또는 메모리에 구현 가능
- 특수한 주소 레지스터인 스택 포인터(stack pointer) 레지스터 필요
- 그림 스택의 구조
- 함수 연산의 인스트럭션에서 데이터의 주소 생략 가능
(3) 주소 레지스터(Address Register)
- 메모리에 기억된 정보를 접근하는데 필요한 주소 혹은 주소의 일부분을 기억
- 일반적인 주소 레지스터
프로그램 주소 레지스터(Program Address Counter: PC)
기준 주소 레지스터(Base Address Register: B)
페이지 레지스터(Page Address Register: P)
세그먼트 레지스터(Segment Address Register: S)
인덱스 레지스터(Index Register: IX)와 자동 인덱스 레지스터(Auto Index Register)
스택 포인터 레지스터(Stack Pointer Register: SP)
- 스택 포인터 레지스터를 제외하고 모두 상대 주소의 개념
- 상대 주소로부터 계산된 유효 주소에 대한 비합법적 메모리 접근(illegal memory access) 시도 판별
. 블럭 크기 레지스터(block size register)
. 블럭 한계 레지스터(block limit register)
- 기준 주소 레지스터로부터 유효 주소의 계산
- 인덱스 레지스터로부터 유효 주소의 계산
- 자동 인덱스 레지스터
. 레지스터에 기억된 주소를 참조하면 자동으로 그 주소가 1 증가 혹은 1 감소
. 행렬 구조의 데이터 처리에 편리
- 스택 포인터 레지스터
. 스택의 최상단 데이터의 주소 기억
. 스택의 범람과 비었음을 판별
연산 장치(Arithmetic and Logic Unit : ALU)
연산 장치
- CPU 내에 있는 연산을 행하는 부속 시스템
- 처리에는 수치적 연산, 논리 연산, 시프트
- 2개의 입력 데이터를 위한 입력 단자와 하나의 출력 단자, 몇 개의 보조 입력 단자와 제어 입력 단자가 필요
가산기
- 연산의 기본이 합산
- 그림 8비트 가산기
- 6개의 제어 신호
. A : 가산기 선택 신호
. Cm : AC 정보의 컴플리먼트 제어
. DI : AC의 정보만으로 유너리 연산 제어
. Cc : 올림수의 컴플리먼트를 올림수 플래그로 제어
. Cr : 올림수를 0로 제어
. C0 : 가산기에 가해지는 올림수 제어
- 제어 신호의 사용 예
. 2의 보수 덧셈 : A <- 1, Cm <- 1, C0 <- 1, DI <- 1, Cc <- 0, Cr <- 0
. 1의 보수 덧셈 : A <- 1, Cm <- 1, C0 <- 0, DI <- 1, Cc <- 0, Cr <- 0
. C <- 0 : A <- 0, Cm <- d, C0 <- d, DI <- d, Cc <- 0, Cr <- 1
. C <- C': A <- 0, Cm <- d, C0 <- d, DI <- d, Cc <- 1, Cr <- 0
* d(don't care)는 0이나 1의 임의 값
시프터
- 그림 멀티플렉서를 사용한 8비트 시프터(shifter)
- NS, RS, LS의 3개의 제어 신호 단자
- RI, LO는 왼쪽으로 시프트할 때의 입력과 출력,
LI, RO는 오른쪽으로 시프트할 때의 입력과 출력
논리 연산기
- 그림 8비트 AND와 OR 연산 장치
- AO, AN의 2개의 제어 신호 단자
연산 장치의 구성
- 그림 연산 장치
- 표 연산 장치의 연산과 제어 신호
* d(don't care)는 0이나 1의 임의 값
모토롤라 68000 마이크로프로세서의 연산 장치
- 그림 모토롤라 68000 마이크로프로세서의 수행기
- 수행기(execution unit): 3개의 연산 장치
- 16비트 연산과 32비트 연산 가능
- 특수 기능 장치: 비트별 처리, 데이터 팩킹, 여러 비트 시프트 등
내부 버스(Internal Bus)
내부 버스
- CPU 내부에서 정보를 전달할 수 있는 신호의 경로를 의미
- CPU 내에 있는 연산 장치와 레지스터들 사이의 신호 회선(signal path)
외부 버스
- CPU와 부속 시스템들과의 정보를 전달할 수 있는 신호의 경로
- 주기억 장치 버스(memory bus), 입출력 버스(input output bus)
- 비용과 성능을 절충한 결과가 버스를 이용하는 방식
- 그림 버스에 연결된 부속 시스템
. 정보 전달은 어느 한 시점에는 오직 한쌍의 부속 시스템 사이에서만 가능
범용 레지스터를 가진 CPU의 내부 버스
- 그림 범용 레지스터를 가진 CPU의 내부 버스 구조
(가) 범용 레지스터 중에서 어느 것이나 입력 버스1 혹은 입력 버스2의 사용 가능
(가) 범용 레지스터를 2개의 군으로 나누어 서로 다른 입력 버스의 사용
AC를 가진 CPU의 내부 버스
- 그림 AC를 가진 CPU의 내부 버스 구조
- 데이터의 처리에는 항상 AC가 이용되도록 연산 장치에 영구히 연결
- 일반적으로 버스의 회선 수는 레지스터의 비트 수,
연산 장치의 병렬 연산 비트 수와 같게 만든다.
※ 참고 : http://kmh.ync.ac.kr/comIntro/comarch/com-54.html
제어 기억장치 데이터 레지스터(Control Storage Data Register : CSDR)
. 마이크로 프로그램에 의한 제어 방식을 택한 경우 제어 기억장치 접근에 필요
(2) 데이터 레지스터(Data Register)
AC(accumulator)
- CPU내에 데이터 레지스터가 하나 뿐인 경우
- 그림 AC와 연산 장치
- 곱셈과 나눗셈, 부동 소숫점 수로 나타낸 수의 계산을 위해서는 추가의 데이터 레지스터 필요
- 부동 소수점 연산 장치를 두는 경우에는 부동 소숫점 AC(floating point AC), 2 배수 부동 소숫점
AC(floating point AC) 필요
범용 레지스터(general purpose register)
- 데이터 레지스터 또는 주소 레지스터로 사용 가능
스택(stack)
- 기억된 정보의 처리하는 순서가 특수한 구조
- 레지스터로 또는 메모리에 구현 가능
- 특수한 주소 레지스터인 스택 포인터(stack pointer) 레지스터 필요
- 그림 스택의 구조
- 함수 연산의 인스트럭션에서 데이터의 주소 생략 가능
(3) 주소 레지스터(Address Register)
- 메모리에 기억된 정보를 접근하는데 필요한 주소 혹은 주소의 일부분을 기억
- 일반적인 주소 레지스터
프로그램 주소 레지스터(Program Address Counter: PC)
기준 주소 레지스터(Base Address Register: B)
페이지 레지스터(Page Address Register: P)
세그먼트 레지스터(Segment Address Register: S)
인덱스 레지스터(Index Register: IX)와 자동 인덱스 레지스터(Auto Index Register)
스택 포인터 레지스터(Stack Pointer Register: SP)
- 스택 포인터 레지스터를 제외하고 모두 상대 주소의 개념
- 상대 주소로부터 계산된 유효 주소에 대한 비합법적 메모리 접근(illegal memory access) 시도 판별
. 블럭 크기 레지스터(block size register)
. 블럭 한계 레지스터(block limit register)
- 기준 주소 레지스터로부터 유효 주소의 계산
- 인덱스 레지스터로부터 유효 주소의 계산
- 자동 인덱스 레지스터
. 레지스터에 기억된 주소를 참조하면 자동으로 그 주소가 1 증가 혹은 1 감소
. 행렬 구조의 데이터 처리에 편리
- 스택 포인터 레지스터
. 스택의 최상단 데이터의 주소 기억
. 스택의 범람과 비었음을 판별
연산 장치(Arithmetic and Logic Unit : ALU)
연산 장치
- CPU 내에 있는 연산을 행하는 부속 시스템
- 처리에는 수치적 연산, 논리 연산, 시프트
- 2개의 입력 데이터를 위한 입력 단자와 하나의 출력 단자, 몇 개의 보조 입력 단자와 제어 입력 단자가 필요
가산기
- 연산의 기본이 합산
- 그림 8비트 가산기
- 6개의 제어 신호
. A : 가산기 선택 신호
. Cm : AC 정보의 컴플리먼트 제어
. DI : AC의 정보만으로 유너리 연산 제어
. Cc : 올림수의 컴플리먼트를 올림수 플래그로 제어
. Cr : 올림수를 0로 제어
. C0 : 가산기에 가해지는 올림수 제어
- 제어 신호의 사용 예
. 2의 보수 덧셈 : A <- 1, Cm <- 1, C0 <- 1, DI <- 1, Cc <- 0, Cr <- 0
. 1의 보수 덧셈 : A <- 1, Cm <- 1, C0 <- 0, DI <- 1, Cc <- 0, Cr <- 0
. C <- 0 : A <- 0, Cm <- d, C0 <- d, DI <- d, Cc <- 0, Cr <- 1
. C <- C': A <- 0, Cm <- d, C0 <- d, DI <- d, Cc <- 1, Cr <- 0
* d(don't care)는 0이나 1의 임의 값
시프터
- 그림 멀티플렉서를 사용한 8비트 시프터(shifter)
- NS, RS, LS의 3개의 제어 신호 단자
- RI, LO는 왼쪽으로 시프트할 때의 입력과 출력,
LI, RO는 오른쪽으로 시프트할 때의 입력과 출력
논리 연산기
- 그림 8비트 AND와 OR 연산 장치
- AO, AN의 2개의 제어 신호 단자
연산 장치의 구성
- 그림 연산 장치
- 표 연산 장치의 연산과 제어 신호
* d(don't care)는 0이나 1의 임의 값
모토롤라 68000 마이크로프로세서의 연산 장치
- 그림 모토롤라 68000 마이크로프로세서의 수행기
- 수행기(execution unit): 3개의 연산 장치
- 16비트 연산과 32비트 연산 가능
- 특수 기능 장치: 비트별 처리, 데이터 팩킹, 여러 비트 시프트 등
내부 버스(Internal Bus)
내부 버스
- CPU 내부에서 정보를 전달할 수 있는 신호의 경로를 의미
- CPU 내에 있는 연산 장치와 레지스터들 사이의 신호 회선(signal path)
외부 버스
- CPU와 부속 시스템들과의 정보를 전달할 수 있는 신호의 경로
- 주기억 장치 버스(memory bus), 입출력 버스(input output bus)
- 비용과 성능을 절충한 결과가 버스를 이용하는 방식
- 그림 버스에 연결된 부속 시스템
. 정보 전달은 어느 한 시점에는 오직 한쌍의 부속 시스템 사이에서만 가능
범용 레지스터를 가진 CPU의 내부 버스
- 그림 범용 레지스터를 가진 CPU의 내부 버스 구조
(가) 범용 레지스터 중에서 어느 것이나 입력 버스1 혹은 입력 버스2의 사용 가능
(가) 범용 레지스터를 2개의 군으로 나누어 서로 다른 입력 버스의 사용
AC를 가진 CPU의 내부 버스
- 그림 AC를 가진 CPU의 내부 버스 구조
- 데이터의 처리에는 항상 AC가 이용되도록 연산 장치에 영구히 연결
- 일반적으로 버스의 회선 수는 레지스터의 비트 수,
연산 장치의 병렬 연산 비트 수와 같게 만든다.
※ 참고 : http://kmh.ync.ac.kr/comIntro/comarch/com-54.html
키워드
추천자료
- 프로그램 입출력 방식
- USB에 대한 정리자료
- 메모리 구조 및 종류
- PC 쿨러시장의 브랜드 파워 - 잘만테크 - 세계최고의 기술과 마케팅
- 커널 분석(인터럽트)
- 8051 조사
- [운영체제] 연습문제 정리
- 마이크로프로세서
- [컴퓨터의이해] 마이크로프로세서 발전과정과 컴퓨터 산업에 기여한 점 그리고 최신동향(1200...
- [컴퓨터] 슈퍼컴퓨터에 관한 조사
- 마이크로프로세서(Microprocessor)의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신동향...
- [컴퓨터의 이해 과제물] 마이크로프로세서(Micro-processor)의 발전 과정과 컴퓨터산업에 기...
- 임베디드embeded실습 레포트2