캐시가 필요한 이유 : 대부분 프로그램은 한번 사용한 데이터를 다시 사용할 가능성이 높고, 그 주변의 데이터도 곧 사용할 가능성이 높은 데이터 지역성을 가지고 있다. 데이터 지역성을 활용하여 메인 메모리에 있는 데이터를 캐시 메모리에 불러와 두고, CPU가 필요한 데이터를 캐시에서 먼저 찾도록 하면 시스템 성능을 향상시킬 수 있다. Cache hit ratio : cache hit ratio : 적중률 = (캐시히트횟수)/(전체 참조횟수) cache hit : 참조하려는 데이터가 캐시에 존재할때 캐시 히트 cache miss : 참조하려는 데이터가 캐시에 존재하지 않을때 캐시 미스 평균접근시간: cache hit ratio * 캐시접근시간 + (1-cache hit ratio) *메인 메모리 접근시간 단..
CPU는 보통 메모리 혹은 레지스터에서 데이터를 가져오게 된다 레지스터는 ALU와 가깝기 때문에 주로 사용되는 데이터가 저장된다. 그러면 많은 레지스터를 생산해서 다 저장하면 어셈블리 작성 때 유리하겠지만 실제로 늘릴 수 없는 이유가 있다 1. 하드웨어 설계시 32개 이상의 번호에 클럭 신호가 도달하기엔 길다 2. 따라서 한 클럭에 도달하지 못할 시엔 다수의 클럭을 사용하기 마련인데, 그러면 명령어당 수행되는 클럭 수가 많게 되므로 성능이 오히려 떨어지게 된다
1. 클럭 속도 2. 프로그램 총 명령어 갯수 3. 하나의 명령어당 처리되는 클럭 수 3가지 요소들은 각각 알고리즘, 컴파일러, 프로그래밍 언어, 명령어 종류에 종속적이게 된다 단, 최근 하드웨어에서는 3번에서 개념이 전환된 한 클럭당 실행되는 명령어의 수로 계산되기도 한다
입출력을 위한 직렬 구조의 인터페이스다. PCIe는 다른 버스 표준들과 비교하여 높은 시스템 버스 대역폭, 적은 I/O 핀 수, 적은 물리적 면적, 버스 장치들에게 더 뛰어난 성능 확장성, 상세한 오류 검출 및 보고 구조 기능을 가지고 있다 익히 알고 있는 SSD NVMe는 PCle 3 x4 인터페이스 구조를 가진다