inflearn logo
강의

講義

知識共有

Armアーキテクチャ:キャッシュ(Cache) [著者直講 第3部-4]

7.3-CCSIDR_EL1 レジスタ

캐시의 친화적인 코드

229

min12314124

投稿した質問数 3

0

안녕하세요, 선생님

시스템 소프트웨어의 개발의 모든 것 강의에 이어서 이번 강의도 정말 잘 보았습니다.

 

강의 내용과, 강의 소개란에 보면

"둘째, 캐시의 구조를 잘 알면 캐시 히트를 활용한 캐시의 친화적인 코드를 작성할 수 있습니다. 예를 들어, 자주 사용되는 루틴은 특정 CPU 코어에서만 실행되도록 설계할 수 있습니다."

 

라는 문구가 잘 이해가 안되어 질문 드립니다.

실무에서 어떤 상황에 캐시 친하적인 코드를 실제로 작성하게 되는지, 자주 사용되는 루틴은 어떤 것이 있고 어떤 업무(?)를 주로 맡았을 때 저런 개발을 하게 되는지 궁금합니다.

가능하시다면 조금 더 구체적인 사례를 선생님께 듣고 싶습니다.

미리 감사드립니다

arm-architecture memory-management armv8 cortex-a cache

回答 1

0

austinkim

캐시에 친화적인 코드는 캐시 히트를 높힐 수 있습니다. 3가지 예시만 들어보겠습니다.

1> 특정 프로세스가 자주 실행되면 특정 core(예시: CPU1, CPU2)에서만 실행되도록 설정할 수 있습니다.

만약 프로세스가 CPU1 코어에서 자주 실행되면 해당 프로세스가 실행했던 코드나 데이터가 L1 캐시에 남아 있을 가능성이 높기 때문입니다. 그 결과 캐시 히트율을 높힐 수 있습니다.

2> 되도록 어떤 메모리 데이터에 접근할 때 되도록 근접한 원소에 접근하거나 순차적으로 처리하면 캐시 히트율을 높힐 수 있습니다. 캐시에 데이터나 코드를 로딩할 때 캐시 라인의 크기 만큼 로딩하기 때문입니다.

3> 버퍼에 되도록 접근하려는 데이터를 많이 로딩하고 접근하면 또한 캐시 히트율을 높힐 수 있습니다.

감사합니다.

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

14

1

Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문

0

20

1

비동기 스레드풀 분리 이유와 Virtual Thread 전환 시 고려사항

0

36

1

SP와 SP_ELn의 관계

0

25

1

stm32cubeide 관련 문의

0

46

2

23강 5:38 부분 질문 있습니다!

0

47

1

23강 17초 부분 질문있습니다~

0

53

2

5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이

0

40

2

Split 전략 강의 중 질문 있어요

0

59

2

질문이 있습니다!!

0

75

2

강의 업로드 오류 확인 요청

0

61

2

AsyncPERStrategy 비동기 처리 관련 이슈

0

51

2

시스템 소프트웨어 직무 관련 질문드려요

0

71

2

강의평을 남겼는데 자료는 못 받는건가요?

0

74

2

디스코드 초대 안돼요

0

72

2

비트맵 자료구조 관련 질문

1

50

1

책관련 질문드려요

0

70

2

4.2.1. 실습을 어떻게 진행하는것인가요?

0

62

2

DMA 관련한 강의도 제작해주실 수 있으신가요 ?

0

95

1

3.2.1.4 실습과 관련한 질문

0

72

2

script Validate가 안됩니다.

0

59

1

강의내용 질문있습니다.

1

75

2

강의 1-4 QnA 관련 질문이 있습니다

1

58

1

56강 bcm2835-mailbox.c 파일 질문

0

58

2