강의자료 요청
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
강의자료 올려주실 수 있나요?
- arm-architecture
- memory-management
- armv8
- cortex-a
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
강의자료 올려주실 수 있나요?
해결됨
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
안녕하세요, 최근 TF-A 기반 부트로더에 대해 공부중인데, 부팅 단계에서 MMU가 특별히 물리주소를 별도의 가상주소로 매핑할 필요 없이, 지정된 물리영역을 가상주소에 그대로 1대1 매핑하여 사용한다는 사실을 알게되었습니다. (물리주소 0x0000_0000 -> 가상주소 0x0000_0000 이런식으로요) 그 이유가 캐시를 활성화 하기 위함이라고 들었는데, 이런 상황에서 캐시는 가상주소라고 해도 그 주소가 곧 물리주소와 동일한데, 왜 MMU를 꼭 켜야만 캐시를 사용할 수 있는 것인지 궁금합니다.
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
최근 회사에서 팀을 옮기면서 소프트웨어 관련 업무를 하고 있습니다. 전 개발자도 아니였고, 이전 근무지에서 관련 업무를 하지 않았기 때문에 최근 열심히 임베디드/소프트웨어 관련 강의를 열심히 듣고 있는데요. (열심히 듣다보니 개념을 이해하고 있는 수준입니다) 궁금한건, 현업에선 보통 RAM/EEPROM 등 메모리 관련 충돌(읽기/쓰기중 인터럽트시 등) 등 메모리 문제점이 많아서 해당 내용의 설계 관련된 내용을 좀 실무적으로 딥하게 알고 싶은데... 강사님 강의 포함해서 인프런의 다른 강의를 봐도 메모리 설계 관련 실무적인 내용은 찾기가 어렵더라구요... 혹시 위와 같은 괴리를 좀 해결하기 위한 답변 혹은 도움이 가능하실지(강의 혹은 교재 추천 등) 싶어 문의드립니다.ㅎ
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
TTBR_ELn 레지스터가 가지고 있는 값은 물리 메모리 주소값을 가지고 있는 건가요? TTBRn레지스터와 가상주소 변환(멀티 레벨) 강의에서 12:12 쯤에 말씀해주신 "페이지 테이블에 적힌 물리 메모리 주소를 다시 가상 메모리로 변환해서 다음 페이지 테이블의 정보에 접근한다." 라는 부분이 잘 이해가 안되는데, 조금 더 부연 설명을 해주실 수 있으신가요? 제가 이해한 바로는 MMU가 TTBR_ELn 에 적힌 주소를 이용해서 멀티 레벨 Page Table의 모든 변환 과정을 수행해주는 것으로 이해했는데, 변환 과정 중간에 얻어진 다음 레벨의 Page Table의 엔트리 주소를 다시 가상 주소로의 변환한다는게 어떤말인지를 잘 이해못하겠습니다. 각각의 EL마다 MMU를 켜는 설정을 해줘야 하는 건가요? 만약, EL1에서는 MMU를 활성화하고, EL2에서는 MMU를 활성화하지 않게 되면 EL1에서 접근하는 주소는 가상 주소인 반면, EL2에서 접근하는 주소는 실제 물리주소에 접근하는 식인가요?
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
안녕하세요 mmu 가 page walk 를 한다고 나와 있는데요, mmu 가 multi level page 인 경우 page walk 를 알아서 찾아 가게 설계 되어 있는 건가요?(hardware 단에서 처리?) 어디까지 하드웨어 상에서 "알아서" 처리해서 가져가는지 잘 모르겠습니다..
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
안녕하세요, mmu 가 page walk 할 때 다음 레벨 페이지 주소가 가상주소인가요, 실제주소인가요? 가상주소라면 mmu 를 또 거치게 될 것 같은데, page walk 에서 page fault 가 너무 많이 일어날 수 있을 것 같아요.
미해결
Arm 아키텍처: 캐시(Cache) [저자직강 3부-4]
안녕하세요, 선생님 시스템 소프트웨어의 개발의 모든 것 강의에 이어서 이번 강의도 정말 잘 보았습니다. 강의 내용과, 강의 소개란에 보면 "둘째, 캐시의 구조를 잘 알면 캐시 히트를 활용한 캐시의 친화적인 코드를 작성 할 수 있습니다. 예를 들어, 자주 사용되는 루틴은 특정 CPU 코어에서만 실행되도록 설계할 수 있습니다." 라는 문구가 잘 이해가 안되어 질문 드립니다. 실무에서 어떤 상황에 캐시 친하적인 코드를 실제로 작성하게 되는지, 자주 사용되는 루틴은 어떤 것이 있고 어떤 업무(?)를 주로 맡았을 때 저런 개발을 하게 되는지 궁금합니다. 가능하시다면 조금 더 구체적인 사례를 선생님께 듣고 싶습니다. 미리 감사드립니다
미해결
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
폴트 설정하는 레지스터들의 값을 0으로 설정하여 EL0에서 EL1, EL2로 트랩되도록 허용하는 것이 보안수준을 왜 올리는 것인지 문의드립니다. 제가 생각했을 때는 사용자 레벨(EL0)에서 더 상위 익셉션 레벨(EL1, EL2)로 접근할 수 있도록 설정하는 것이 보안 수준을 낮춘다고 생각해서 문의드립니다.
해결됨
Arm 아키텍처: 메모리 매니지먼트(MMU) [저자직강 3부-5]
안녕하세요. 가상메모리를 물리주소로 변환하기 위해서 멀티레벨페이지로 운영하는 이유가 궁금합니다. 멀티레벨페이지로 운영했을때 어떤 장점들이 있는지 궁금합니다.