안녕하세요 mmu 가 page walk 를 한다고 나와 있는데요, mmu 가 multi level page 인 경우 page walk 를 알아서 찾아 가게 설계 되어 있는 건가요?(hardware 단에서 처리?) 어디까지 하드웨어 상에서 "알아서" 처리해서 가져가는지 잘 모르겠습니다..
안녕하세요, exception handler 에서 vectors: 라고 붙어있는 태그의 주소는 가상주소인가요? 0xFFFF .. 로 시작하는 것으로 보아 가상주소 같은데, 그런데 만약 page fault 가 나게 되면 exception handler 를 실행하는데 시간이 추가로 더 걸려서 좋지 않을 수도 있지 않나요?
안녕하세요, virtualization hypervisor 도 보통 context switching 기능을 탑재하고 있나요? 자동차 쪽에서 많이 사용된다고 하는데, 어떻게 전환이 되는지 잘 연상이 안 되네요 계기판, 네비게이션 예시를 드셨는데, 계기판 같은 경우 RTOS 구현이 되게 되면 Virtualization context switching 기능이 있으면 위험성이 있을 것 같습니다. 또 계기판 기능을 돌다가 네비게이션이 작동하면 계기판이 안돌아서 위험할 것 같은데요..
exception handler 는 어느 공간에서 실행될까? 를 듣고 hypervisor, trusted zone 을 듣고 나니 일단 process 가 EL0 에서 실행되고 있었을 때 에는 프로세스 공간에서 스택에 쌓아 나간다는 사실(이게 프로세스 스택인가요, 커널 스택인가요?)을 알았는데요, 이 때 과연 hypervisor , trusted zone 의 level EL2, EL3 에서는 어떻게 처리가 되는지? 궁금해졌습니다. EL0 -> EL1 의 흐름에서는 유저 프로세스 스택에서 다 담을 수 있다고 해도, EL1 이나 EL2, EL3 가 관여하게 되면 프로세스라는 개념이 사실 커널(EL1) 단에서 에러 처리한다는 개념하고는 조금 달라져야 할 것 같아서요,
3가지 EL2 로 가는 instruction 이 있다고 했는데요, 이 세 가지는 굳이 왜 나누었고, (찾아보니 이 질문은 동 강의 "트랩 명령어 질문" 에 나와 있네요) 또 WFE, WFI 에 저전력 기능이 왜 같이 포함되어 있는지 궁금합니다. 추가로 저전력모드가 hypervisor 모드 관련해서만 있는 것 같은데 하드웨어적으로 무슨 연관이 있는 건지.. 궁금합니다 감사합니다.
안녕하세요, 가상화에 대해서 질문이 있습니다. 가상화를 하드웨어 단에서 지원을 해준다는 것은, 여러가지 지원을 해준 다는 의미인 것 같습니다. hypervisor 에서 os 를 바꿀 때 각 os 별로 메모리 공간을 관리해주어야 하는 데, 각 os 는 다른 os 의 존재를 모를 테니 마치 context switching 하는 것 처럼 모든 os 의 정보를 백업하고 스위칭 해야 할 것 같은데요.. 이것을 hypervisor 에서 구현하고 있는지 궁금합니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요, ldm 명령어가 수업 중 몇번 등장하는데요, 본론은, ldm r13, {r4, r5, r11, r13, pc} 에서 r13위치 기준으로 쭉 읽어오는 것 같은데요, (맞겠죠?) 이 명령어도 stack 의 pointer 를 바꾸는 것 같은데요 , 그럼 사실상 POP 과 같은 명령어라고 보면 되는 건가요?
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요, ARM architecture 와 동떨어질 수 도 있는 질문입니다.. interrupt service routine 나 exception handler 는 user 가 직접 구현해야 하는 데요, 만약 리눅스를 설치한다고 했을 때, 리눅스에서 어디까지 제공해 주는 것인가요? 언급해주신 카메라 센서나, 터치 센서 같은 경우.. ESR 에서 EC 가 어떻게 들어오는지는 모르겠지만, 유저가 직접 EC 를 보고 해석하는 코드를 짤 것 같지는 않아서요. arm architecture 의 exception handler 분기 후 리눅스와 유저가 어떻게 처리하는지 궁금해져서 질문드립니다 감사합니다
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요, memory mapped i/o 라는 것이 msr 명령어를 통해 core 에서 특정 주소 값을 변경하면 해당 gic 나 interface register 값을 변경할 수 있다는 뜻인가요? 그리고 memory mapped 라는 것은 hardware 적으로 메모리 스토어만 하면 알아서 주변 gic 나 cpu interface 의 레지스터가 자동으로 바뀌게 되는 회로(메모리와 연결되는)가 있는 것인가요? (그리고 바뀌는 타이밍은 즉시 바뀌나요?) 감사합니다.
시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)
안녕하세요 ARM 에서 sys mode 나 undef 모드나 이런 것들은 virtual memory 를 사용하지 못할 것 같은데, (kernel 이 virtual memory를 지원할 것 같아서요) 그러면 다른 모드는 physical memory 기반 assembly code 로 작성이 되나요? 감사합니다