cisc
- 컴퓨터 초기에 사용된 cpu 설계 방식
- 많은 명령어 수 가짐(100 to 250)
- 다양한 addressing mode(5 to 20)
- 2,3번으로 인해 하드웨어 복잡 -> 느려짐
- 명령어 format 길이 다양 -> 일관된 방식 사용x
- 명령어 정렬 어려움 --> 특별한 Decode 방식 필요
- 메모리에 operand 다룸 -> 메모리와 레지스터를 이동하므로 시간 커짐
- 문제점
- clock cycle 길어짐(=less clock frequency)
- 더 많은 clock cycle 필요
- 즉, CPI(clock cycles per instruction) 증가
- cpu clock cycle = instruction count x CPI
risc(Reduced Instruction Set Computer)
- 특징
- 명령어 수 적음
- addressing mode 적음
- 메모리 접근 제한 -> 속도 빠름
- 주로 load와 store에서 사용하여 나머지에서는 메모리 사용 제한
- 많은 레지스터 필요
- 함수 실행 시 return 값 위해 overlapped register 존재(레지스터 사용 시 일부분을 겹치게 함)
- 대부분 작업이 레지스터 안에서 수행
- 명령어 길이 일정 --> decode에 용이
- cpu 안에 명령 직접 구현(hardwired) -> 속도 빠름
- cisc는 명령이 복잡하므로 cpu안에 작은 프로그램으로 구현(micro-programmed control)
- cisc는 datapath 등 수정이 용이하지만 속도가 느림
- 한 clock에 한 명령어 실행
- pipeling 때문에 가능
- risk vs cisk
- 복잡함을 하드웨어에 가중하는 것이 cisk, 소프트웨어에 가중하는 것이 risk
- 소프트웨어, compiler의 발전이 risk의 비약적 발전을 이끌어냄