문서 ID: 000086173 콘텐츠 형태: 문제 해결 마지막 검토일: 2019-03-15

Nios II® 프로세서가 데이터 캐시를 활성화하여 메모리에 데이터를 쓸 수 없는 이유는 무엇입니까?

환경

  • 인텔® Quartus® II 구독 에디션
  • 인텔® Nios® II (클래식) 프로세서
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    설명

    Nios II® Gen2 코어를 사용할 때 32비트 주소 옵션이 있는 주변 영역이 도입됩니다. Nios II® Gen2를 사용하면 비트 31이 설정되거나 주변 메모리 영역에서 캐시가 무시됩니다.

    Nios II Gen2 코어가 캐시를 언캐시되지 않은 줄로 업데이트하지 않기 때문에® 캐시되지 않은 데이터와 캐시된 데이터는 더 이상 데이터 캐시의 동일한 줄에 할당될 수 없습니다. 이것은 Nios II® Classic의 동작입니다. 그러나 NIOS II® gen2는 더 이상 캐시를 업데이트하지 않습니다.

    해결 방법

    기존 Nios II® 코드가 있고 데이터 캐시가 있는 Nios II/f® Gen2를 사용하는 경우, 소프트웨어가 동일한 캐시 라인에 캐시 가능하고 처리할 수 없는 데이터를 혼합하지 않는지 확인해야 합니다.

    데이터 작성이 완료되면 함수 alt_dcache_flush(void* 시작, alt_u32 len)을 사용하여 캐시를 플러시해야 합니다. 이 기능은 주소 시작 시부터 길이 len 바이트의 메모리 영역에 대한 데이터 캐시를 플러시합니다. 캐시를 플러시하는 것은 더러운 데이터를 다시 작성한 다음 캐시를 무효화하는 것으로 구성됩니다.

    관련 제품

    이 문서는 다음 항목에 적용됩니다. 1 제품

    인텔® 프로그래밍 가능 장치

    이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.