본문 바로가기
임베디드기사

컴퓨터 구조와 마이크로 프로세서

by 목가 2017. 9. 9.
반응형

CPU(중앙 처리 장치)구조

MIPS : 32bit, RISC, DMA 및 캐시 지원

ARM : 32bit, RISC, 입출력 기능 및 가상 기억 장치 기능 없음, 핸드폰/PDA등에서 사용

8051 : 8bit, CISC, 가격이 저렴

PowerPC : 32/64bit, RISC, 통신자입 구현용

x86 : 32/64bit, CISC

z80 : 8bit, CISC


레지스터

AR(Address Register) : 액세스하려는 메모리의 주소를 기억

PC(Program Counter) : 다음에 실행할 명령어의 주소를 기억

SP(Stack Pointer) : 메모리에 정의한 Stack 의 제일 위 주소를 기억

IR(Index Register) : 인데스 주소를 기억

BR(Base Register)/RR(Relocation Register) : 기준 주소를 기억

PR(Page Register) : 페이지 주소 방식에 있어서 페이지 번호를 기억 

IR(Instruction Register) : 현재 실행중인 명령을 기억하고 있는 레지스터로 실행 명령을 보관

MBR(Memory Buffer Register) : 메모리에 써넣기 의한 데이터 및 메모리에서 읽어낸 데이터를 기억

ACC(Accumulator) : 산술 및 논리 연산, 입출력의 결과나 중간값을 일시적으로 보관하고 있는 중앙 처리 장치내의 레지스터

WR(Working Register) : 연산 과정에서 중간 결과를 일시적으로 기억

CC(Condition Code) : ALU가 연산을 할 때 발생하는 캐리나 연산 결과의 +,-,0 등의 상태를 표시

PSW(Program Status Word) : 인터럽트의 금지, 해제를 제어하기 위한 플래그, 인터럽트 원인별로 금지/해제하기 위한 마스크 등을 일괄해서 기억

GR(General Purpose Register) : 범용레지스터, 컴퓨터의 중앙 처리 장치(CPU)내에 있는 레지스터 중에서 계산 결과의 임시 저장, 산술 및 논리 연산, 주소 색인 등의 여러 가지 목적으로 사용될 수 있는 레지스터

MQ 누산기(Multiplier Quotient Register) : 곱셈을 연산할 때 누산기 하나로는 전체 결과를 기억할 수 없으므로 누산기를 보조하여 함께 실행한 부분을 기억한다.


명령어 형식의 종류

1. 0-주소 명령

 - 스택 구조로 되어 있으며, 단항 연산에 적합

 - 연산 자료 위치와 결과 입력 위치가 이미 결정되어 있으므로 주소가 필요 없다.

 - 정보 전달을 위해 하나의 번지부가 필요하며, 명령어가 많아질 우려가 있다.

  OP-Code (스택 구조)

2. 1-주소 명령

 - 하나의 누산기를 이용하여 모든 데이터를 처리한다. 

 - CPU 내에 누산기(Accumulator)가 반드시 존재해야 한다.

 - 연산자와 주소부로 구성되어 있다. 

  OP-Code | Operand  (누산기 구조)

3 2-주소 명령

 - 가장 일반적인 명령 형식으로 범용 레지스터 구조이다.

 - 연산자와 2개의 주소부로 구성된다. 

 - 연산 후 결과 자료를 1번째 Operand에 기억시키므로 원래의 입력 값을 보존할 수 없다.

 - Operand-1에 연산 데이터를 표현하고 연산 결과를 Operand-2에 기억시킨다.

 OP-Code | Operand-1 | Operand-2 (범용 레지스터 구조)

4. 3-주소 명령

 - 범용 레지스터 구조로 연산자와 3개의 주소부로 구성된다.

 - 연산 후 입력 값을 보존할 수 있는 반면 수행 시간이 길다.

 - 명령어의 길이가 길어서 특수 목적에 이용된다.

 - Operand-1에 피연산 데이터를, Operand-2에 연산 데이터를, Operand-3에 연산 결과를 기억한다.

 OP-Code | Operand-1 | Operand-2 | Operand-3 (범용 레지스터 구조)



연산자 전달기능

Load - 메모리에서 CPU로 데이터가 이동

Store - CPU에서 메모리로 데이터가 이동

Move - 레지스터에서 레지스터로 데이터가 이동


산술논리연산장치(ALU)

 - 산술, 논리 연산을 하는 중앙 처리 장치내의 회로이다.

 - 기억 장치로부터 필요한 데이터를 입력받아 레지스터를 이용하여 산술 연산광논리연산, 관계연산 등을 실행

 - 연산 장치에서 산술 연산인 가감승제는 가산기, 보수를 만드는 회로, 시프트 회로에 의해 이러우진다.


주소지정방식

1. 묵시적 주소 지정 : Stack을 이용하는 0 주소 지정 방식에 사용

2. 즉시 주소 지정 : Operand에 실제 데이터를 기억

3. 직접 번지 지정 : 주소 참조 1회

4. 간접 번지 지정 : 메모리 참조 2회이상

5. 상대 번지 지정 : PC + 유효주소

처리속도 1 -> 5 (1이 빠름)

명령어 길이 1->5(1이 길다)

 

구분 

 RISC

 CISC

 처리 속도

빠름 

느림 

명령어 종류 

적음

많음 

전력 소모 

적음 

많음 

 프로그래밍

복잡 

간단 

설계

간단 

복잡 


ARM

 - 32bit RISC 프로세서

 - PSR 레지스터는 현재 프로그램이 실행되는 모드를 나타내는 레지스터(CPSR:현재상태, SPSR:이전상태, User/Systm 모드의 CPSR을 저장하는 용도로 사용됨)

 - FIQ : ISR 중에 특별히 빨리 처리되어야 하는 인터럽트 처리 모드

 - IRQ : 일반적인 인터럽트 처리 모드


메모리 종류

1. 메인 메모리 : DRAM -> 컴퓨터에서 작업중인 내용을 저장

2. 레지스터 : CPU 안에 내장되어 있어서 연산을 위한 저장소 제공

3. 캐시 : SRAM -> CPU와 램사이에서 중간 저장소 역할


레지스터->L1캐시->L2캐시->메인메모리-저장장치(플래시,디스크) 순으로 속도가 느려지고 용량이 커진다.

MMU는 가상 메모리와 메모리 보호 기능을 하드웨어적으로 구현하며 MPU는 메모리 보호 기능을 구현


페이지 교체 알고리즘

FIFO : 가장 오래 존재하는 페이지를 선택하여 삭제

LRU(Least Recently Used) : 가장 적게 사용된 페이지를 선택하여 교체(계수기나 스택 알고리즘을 사용)

LFU(Least Frequently Used) : 각 페이지마다 참조 계수기를 두어 사용 빈도가 가장 적은 페이지를 선택하여 교체

최적화 기법(Optimal) : 앞으로 가장 오랫동안 사용되지 않을 페이지를 선택하여 교체


DMA

 - CPU를 거치지 않고 입출력 장치와 메모리 사이에 보다 빠른 데이터를 직접 전송하는 방식

 - 컴퓨터 프로그램의 개입 없이 개별 채널을 사용하여 전송 작업을 수행

 - 중앙 처리 장치의 부담을 최소화하고 입출력 동작의 속도 향상을 목적

 - 대량전송모드(Burst) : 버스 사용권 획득 후 버스 사이클을 독점, 고속의 입출력 장치를 대상으로 데이터들을 블록 단위로 전송

 - 사이클 스틸(Cycle Stealing) : 저속의 입출력 장치에서 볼 수 있는 한 워드를 데이터 전송 단위로 한다. 하나의 워드 전송 후 버스 사용권을 CPU 에게 돌려준다. 


버퍼링

 - 속도가 느린 I/O 장치와 CPU 사이의 속도 차를 줄이기 위해 Buffer를 이용

 - CPU가 입출력 버퍼를 사용하여 데이터를 한번에 입출력하면 효율적으로 사용할 수 있다.

 

폰노이만 아키텍쳐

 - 명령어와 데이터를 위한 메모리 인터페이스가 하나

 - 명령어를 읽을 때 데이터를 읽거나 쓸 수 없다. 

 - IBM 계열 C, ARM7등


하버드 아키텍쳐

 - 명령어를 위한 메모리 인터페이스와 데이터를 위한 메모리 인터페이스가 분리

 - 명령어를 읽을 때 데이터를 읽거나 쓸 수 있어서 성능이 우수

 - 버스 시스템이 복잡하여 설계가 복잡

 - ARM9, ARM10


입출력 장치 제어

 - 표준 I/O 맵 방식 : 전용의 입출력 장치 주소 공간을 할당하여 사용, 인텔의 x86 CPU 계열이 대표적

 - 메모리 맵 방식 : 메모리 주소 공간의 일부를 활용하여 사용, 대부분의 임베디드 프로세서에서 사용


버스(Bus)

 - 컴퓨터 내에서 CPU와 주기억 장치, 입출력 장치 등의 각종 인터페이스들 사이의 데이터 전송을 위한 통로

 - 버스의 위치에 의한 분류는 중앙 처리 장치 내부에서 레지스터를 연결하는 내부 버스와 중앙 처리 장치의 입출력 장치를 연결하는 외부 버스가 있음


반응형

'임베디드기사' 카테고리의 다른 글

2017년 임베디드SW기사 실기 (4회차)  (2) 2018.01.23
펌웨어  (0) 2017.09.14
논리회로  (0) 2017.09.05

댓글