1일 1로그 100일 완성 IT지식 log(12~13,14) -프로세서, 캐시

Jobmania·2022년 7월 28일
0

1일 1로그 IT지식

목록 보기
5/16

순차적실행cpu

비순차적실행cpu

캐시

  • 간단한 조사 내용 공유
    • 캐시: 프로세서에 가까이 위치한 용량이 작고 속도가 빠른 메모리. → 프로세서가 먼 주 기억장치까지 접근하는 횟수를 줄이는 것이 목적. → 캐시는 프로세서에만 국한되는 개념이 아님.
      • 캐시의 사용 분야: 프로세서, RAM, HDD/SSD, 웹 브라우저, 서버, 대부분의 소프트웨어 프로그램, …
    • 캐시 조건: 캐시에 들어갈 데이터는 데이터 지역성을 기반으로 결정됨. 데이터 지역성: 자주 쓰이는 데이터는 시간적 혹은 공간적으로 한 곳에 있을 가능성이 높음.
      1. 시간지역성 (Temporal Locality) : 최근에 사용한 데이터는 향후 다시 사용할 확률이 높음.

      2. 공간지역성 (Spatial Locality) : 현재 사용한 데이터의 주변 메모리 공간에 위치한 데이터는 향후 사용할 확률이 높음.

        ```python
        # 옆에 있는 값과 비교해 더 작은 값을 앞으로 보내는 방식의 정렬
        def bubble_sort(arr):
        	for i in range(n):
        		for j in range(len(arr)-i-1):
        			if(arr[j] > arr[j+1]):
        				[arr[j], arr[j+1]] = [arr[j+1], arr[j])
        ```

        → 데이터 지역성 부합 확률 : 최소 60% 이상, 흔히 90% 정도로 언급.

    • 캐시 구조 및 동작 방식
      • 캐시 구조
        • 캐시 내부에서도 L1, L2, L3의 계층 구조를 가짐

        • 캐시는 메인 메모리의 정보를 block 단위로 가져옴.


        • CPU는 우선 캐시 내부에 사용하고자 있는 데이터가 있는지 확인함.
          - cache hit: 사용하고자 하는 데이터를 발견한 경우
          - cache miss: 사용하고자 하는 데이터를 발견하지 못한 경우

              → 메인메모리 탐색 해 해당 데이터를 다시 cache에 load
              
              - 만약, 이 때 캐시 공간이 다 찼다면, 기존에 정해진 정책(LRU, FIFO, LIFO, MRU 등)에 의해 빈 공간 만듦.
              
              → cache에 load한 데이터를  CPU에서 사용
              

  • 더 알아보기 💡 cache hierarchy, cache miss, cache hit, direct mapped cache, fully associative cache, set associative cache, n-way, cache line [💵 캐시가 동작하는 아주 구체적인 원리: 하드웨어로 구현한 해시 테이블](https://parksb.github.io/article/29.html) [CPU 캐시 이해하기](https://aidanbae.github.io/code/devops/computer/cpucache/) [[컴퓨터 구조] 캐시 메모리(Cache)와 매핑 방법](https://ssoonidev.tistory.com/35)

https://sweet-snapper-a98.notion.site/43545f19395d4836b70764843c85e93c

profile
HelloWorld에서 RealWorld로

0개의 댓글