Latency
Latency
: Processor가 명령어를 실행하기 위해 필요한 시간을 의미한다.
( 즉, 명령어를 받고 해당 명령어를 실행하기까지의 걸리는 시간을 의미한다. )
Latency 최적화
- Increase Processor clock speed
: Processor가 명령어를 빠르게 실행할 수 있도록 하여, 작업 완료 시간을 줄일 수 있다.
[ Ways to increase the processor clock speed ]
- Overclocking(오버클럭)
: 제조업체의 규격을 초과하여 Processor의 clock speed를 높이는 방법이다.
오버클럭은 processor를 손상시키거나, 안정성 문제를 일으킬 수 있다.
- Upgrading the processor(프로세서 업그레이드)
: 더 높은 clock speed를 가진 processor로 교체하는 것
- Improving the cooling system(냉각 시스템 개선)
: processor는 고속으로 작동할 때 많은 열을 발생시킨다. 냉각 시스템을 개선하여 열을 효율적으로 배출하여,
더 높은 clock spped로 작동시킨다.
- Adjusting power settings( 전력 조정 설정)
: 일부 processor에서는 clock speed를 높이기 위해 공급되는 전압을 조정할 수 있는 전력 설정이 있다.
- Upgrading the motherboard( 메인보드 업그레이드 )
: 메인보드는 컴퓨터의 모든 구성 요소를 연결하는 주요 회로 기판이다. 이를 업그레이드 함으로써 더 높은
clock speed 를 지원할 수 있다.
- Utilize cache memory
: 캐시 메모리는 자주 사용되는 데이터를 빠르게 액세스할 수 있다. (RAM에서 데이터 fetch하는 시간 줄일 수 있음)
[ ways to utilize cache memory ]
- Optimizing cache size (캐시 크기 최적화)
: cache size가 크면 더 많은 데이터를 processor에 가까이 저장하여 latency를 줄일 수 있다.
그러나, cache size를 늘리는 것은 비용이 들기 때문에, 성능과 비용 사이 최적의 균형을 찾는 것이 중요하다.
- Accessing cache memory efficiently ( 캐시 메모리 효율적 액세스 )
: cache memory에 효율적으로 액세스 해야한다. 이는 cache miss를 줄이는 것을 의미한다.
cache miss는 processor가 cache에 없는 데이터를 필요로 할 때 발생한다.
(cache 지역성을 활용하여 코드를 최적화함으로써, 이를 줄일 수 있다. )
+++ cache 지역성 조사하기
- Using cache-conscious data structures (캐시 지원 데이터 구조 사용 )
: 배열이나 행렬과 같은 데이터 구조는 캐시 지역성이 좋다. 이러한 캐시 지원 데이터 구조를 사용하여 캐스 적중률을 향상시키고 latency를 줄인다.
- Minimizing memory accesses (메모리 액세스 최소화)
: 각 메모리 액세스는 일정한 지연 시간을 발생시키므로, 이를 최소화하여 latency를 줄일 수 있다.
불필요한 데이터 전송을 줄이고, 이미 cache에 있는 데이터를 재사용하며, 곧 필요로 할 것으로 예상되는 데이터를 사전에 가져옴으로써 latency를 줄일 수 있다.
- Optimize memory access patterns
: 효율적인 방법으로 data에 접근함으로써, processor가 ram으로부터 데이터를 가져오는 시간을 줄일 수 있다.
- Spatial locality
- Temporal locality
- Alignment
- Memory allocation
- Prefetching
- Access pattern optimization
- Reduce instruction complexity
: 복잡한 명령어는 실행하는데에 더 많은 시간이 걸리므로, 명령어 코드를 단순화하여 latency를 줄인다.
- Utilize parallelism
: 작업을 부분적으로 분할하고, 병렬적으로 실행함으로써 작업을 더욱 빨리 완료하여 latency를 줄인다.
- Upgrade hardware
: 오래되거나 느린 시스템을 사용하는 경우, processor,RAM 또는 storgate(저장소)와 같은 하드웨어를 업그레이드하여 latency를 줄일 수 있다.
'Quality control (2) > Digital System Design' 카테고리의 다른 글
DSD - Verilog HDL-based design flow / FPGA (0) | 2023.04.02 |
---|---|
Processor / Bandwidth / data bus / cache memory (0) | 2023.03.30 |
Processor ( CPU ) / CPU operations (0) | 2023.03.29 |
DSD - Video CODEC / Encoder Profiling (0) | 2023.03.10 |
Digital System Design _ intro(2) (0) | 2023.03.08 |