8장 CPU 설계와 구조

Standard

CISC와 RISC 구조


– 복합형 명령어 셋 컴퓨터(CISC; Complex Instruction Set Computer)


– 축소형 명령어 셋 컴퓨터(RISC; Reduced Instruction Set Computer)


– 모두 노이만형 컴퓨터 구조 형태이다.



CPU 설계 변천과정


– 1970년대부터 논리회로에 고밀도 집적회로가 사용되면서 크기와 속도 면에서 비약적인 발전이 시작되었다.



※ 의미 갭 : 기계어와 사용자들이 컴퓨터 프로그램을 작성하는데 사용하는 프로그래밍 언어와의 차이를 정의



프로그램 수행



※ 실행 시간 = IC * CPI * CT



– IC(Instruction Count)는 명령어의 객수


– CPI(Clocks Per Instruction)는 각 명령어당 평균 연상 단계의 수


– CT(Click Times)는 하나의 연산 단계를 수행하는데 걸리는 시간 = 클럭 펄스의 사이클 시간



CISC 구조


– 복합적이며 고기능의 명령어 셋을 가진 컴퓨터


– 모든 고급 언어 명령어들에 대해 각각 하나의 기계어 명령어가 일대일로 대응되게 하여 컴파일 동작을 간소화 시켜 전반적인 컴퓨터의 성능을 향상


장점 : CISC 구조는 컴파일 과정이 쉽고 호환성이 좋은


단점 : 많은 하드웨어가 필요하고 속도가 느린 것



RISC 출현 배경


1) 고급 프로그래밍 언어 문장의 상대적인 동적 수행 빈도


2) 명령어의 상대적인 동적 수행 빈도


3) 오퍼랜드



RISC 특성


1) 간단한 명령어 셋 구성


2) LOAD/STORE 명령어 구조를 지니고 있다.


3) 파이프라인 하드웨어 구조 사용


4) 대량의 레지스터 셋과 메모리 계층의 다단계화


5) 캐시 메모리 역할 증대


6) 부동 소숫점 보조 프로세서(Floating-Point Coprocessor) 이용


7) 컴파일러 최적화


8) 높은 병렬성을 위한 고도의 파이프라인 수행 장치



CISC와 RISC 비교



– 단일 사이클 연산 : CISC는 한 명령어를 실행하기 위해서 다수의 클럭 주기를 필요로 하나 RISC는 대부분 명령어의 실행이 즉 하나의 명령은 한 개의 클럭 사이클에 이루어진다.


– 하드 배선(Hardwired) 제어장치 이용


CISC는 마이크로 프로그래밍 제어 방식을 사용하나 RISC는 하드웨어에 의한 명령어 해석 즉, 논리 회로를 이용하여 단일 사이클 시간 내에서 하나의 명령을 실행하기 위해 하드 배선논리에 의한 제어를 통해 제어논리를 단순화한다.


– 소수명령 형태


CISC는 다양한 데이터의 형태와 주소 기법을 채택하나 RISC는 상대적으로 적은 수의 명령어와 주소 지정 양식으로 명령해석에 요구되는 시간을 단축시킨다.


– 명령어 형식 고정


CISC는 명령어의 크기가 1바이트에서 17바이트 정도로 가변적이나 RISC는 명령어의 단순 해석을 위한 고정된 명령어 형식을 사용하여 디코딩의 간단 단순화를 도모한다


VLIW


 


VLIW 구조


 


[장점]


– 병렬 연산의 동기화가 컴파일 시간에 수행되므로 프로세서의 효율성이 향상된다.


– 프로그램의 길이가 짧아지게 되므로 실행시간이 감소하게 된다.


– 명령어 병렬처리, 데이터 이동이 컴파일 시간에 완전히 명시되어 실시간 자원 스케줄링이 간단하다.


 


[문제점]


– 지능적인 컴파일러가 없으면 불가능하다.


– 현재의 X86 또는 RISC 프로그램과 호환성이 없다.


– 새로운 컴파일러가 필요하다.


파이프라인



명령어 실행주기


1) 클럭속도


2) 데이터 폭



파이프라인 개념


– 총 1시간 30분이 소요된다고 가정


– 소요시간은 6시간


– 총 세탁 처리 시간은 3.5시간



명령어 파이프라인


– 클럭의 속도는 인출과 실행의 동작이 각각 한 개의 클럭 사이클 내에 완료될 수 있도록 가정


– 명령어 실행 속도는 위 순차 동작에 비해 두 배 빨라지게 된다.



※ 한사이클에 한단계


Ifetch : 명령어가 저장된 메모리로부터 명령어 인출


Reg/Dec : 원시 오퍼랜드(레지스터 값) 인출과 명령어(제어 정보) 해석


Exec : 산술 연산의 수행과 주소 계산


Mem : 메모리 연산(Load, Store) 즉 데이터 메모리로부터 데이터 읽어오기


Wr : 수행 결과의 저장 단계로 레지스터 파일에 데이터 저장 


 



댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다