컴퓨터구조
입력장치 + 출력장치 + 저장장치 + 처리장치
1. 중앙처리장치(Centural Processing Unit : CPU)
연산장치 제어장치 레지스터 3가지로 구성되어있다.
가. 연산장치(ALU) : 연산을 실행하기 위한 마이크로 동작을 실행
연산징치(Arthmetic and Logic Unit : ALU)는 산술연산 및 논리연산을 실행하며 산술연산의 기본4칙 연산은 가산동작과 시프트 동작을 이용하여 할수 있으므로 가산기와 시프트회로 및 기본적인 논리연산회로로 구성할 수 있다. 연산에 사용되는 data는 레지스터에 기억되로, 연산된 결과도 역시 레지스터에 기억된다.
1) 가산회로 : 병렬가산기로 실현할수 있는 연산은 보수를 이용하면 다음과 같다.
가산, 감산, 전송, Incremet, Decrement
2) 시프트 회로 : 시프트(shift)회로는 시프트 레지스터를 이용할 수 있으나 속도면세서 조합 논리 회로를 이용한 시프트회로가 유리하다.
3) 논리 연산 회로 : 논리 연산회로는 논리 gate와 멀티플렉서로 구성한다. 기본이 되는 논리연산으로 모든 논리연산을 할 수 있으므로 기본 논리gate만을 이용하여 논리 연산 회로를 구성할 수 있다. 이 같은 기본 논리 연산은 AND, OR, XOR ,Complement이다.
나. 제어장치 : 레지스터 사이의 전송 및 ALU에서 실행할 동작을 제어
제어장치의 기능은 다음과 같다.
마이크로 동작의 제어 : 레지스터, 버스, ALU의 제어, // 마이크로 동작의 순서제어
제어장치의 입력은 명령, 플개스, 클럭, 제어신호(인터럽트 요청 및 ACK) 등이며, 제어장치의 출력은 CPU, 기억장치, I/O장치로 인가된다.
제어장치의 실현 방법은 제어기억장치를 이용하는 마이크로프로그래밍 방법과 논리회로로 구성하는 Hard-wired 방법의 두 정류로 나뉜다.
다. 레지스터 : 명령을 실행하기 위해 필요한 중간 데이터를 저장
포인터, 카운터, 복귀주소, 중간 계산결과를 저장하거나 곱셈에 부분곱을 저장하기 위해 기억장소가 필요하거나 이를 주기억장치에 저장하는 것을 시간이 많이 글리므로 이 중간값을 레지스터에 저장하는 것이 편리하고 효율적이다.
< 레지스터의 종류 >
1) 특수목적 레지스터
인스트럭션 레지스터
프로그램카운터(PC : program counter)
상태 레지스터
2) 범용 레지스터
프로그래머가 직접 사용 가능한 레지스터로 프로그래머가 용도지정(데이터, 주소지정 등)을 할 수 있고 주기억장치의 이용을 최소화시킨다.
연산용 레지스터
주소레지스터
누산기(AC : Accumulator)
3) 기억장치와의 데이터 교환을 위한 레지스터
MAR( Memory Address Register)
MBR(Memory Buffer Register)
CPU에서 명령어 수행단계
주기억장치에서 읽어온 인스트럭션(instruction : 명령어)를 CPU에서 수행하는 과정은 다음과 같다.
1) fetch :
2) decoding
3) operand를 읽어옴
4) execution
5) interrupt check
위의 다섯단계를 거치면서 하나 하나의 명령어를 수행하면 우리가 작성한 프로그램이 수행되는 것이다.
'Computer Science > 컴퓨터 구조' 카테고리의 다른 글
4. 명령어의 형식과 CPU구조 ( 0-3주소 ) (0) | 2012.10.15 |
---|---|
3. 명령어의 종류 (0) | 2012.10.13 |
2. 명령어의 구조 (0) | 2012.10.13 |
stat 구조체 (0) | 2012.05.23 |
리눅스의 특징 (0) | 2012.04.14 |