메모리

포스트: 79|아이템:메모리(43)
Tags

Posts

79 posts
[리눅스커널] 메모리관리: 가상 주소를 물리 주소로 직접 변환해보기

[리눅스커널] 메모리관리: 가상 주소를 물리 주소로 직접 변환해보기

Guillermo Austin Kim|2019년 7월 25일

지금까지 가상 주소를 물리 주소로 변환하는 원리를 배웠습니다. 이어서 이번에는 실제 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다. 다음 그림을 같이 보겠습니다. [그림 14.21] 가상 주소를 물리 주소로 변환하는 예시 위 그림에서 페이지 테이블 관련 시스템 정보는 다음과 같습니다.변환 테이블 시작 주소: 0x8000_4000가상 주소: 0x807A_0A8C 먼저 변환 테이블 시작 주소는 0x8000_4000입니다. 그리고 변환하려는 가상 주소의 [31:20]은 16 진수로 807입니다. 다음 계산식으로 레벨1 페이지 테이블 엔트리 주소를 계산할 수 있습니다.0x8000_4000 + ((0x807A_0A83 >> 20) << 2)0x8000_4000 + ((0

삼성전자 LPDDR5 양산 소식을 들으며.. PC의 황혼을 본다.

삼성전자 LPDDR5 양산 소식을 들으며.. PC의 황혼을 본다.

삼성전자, 세계 최초 ‘12Gb LPDDR5 양산’ (삼성전자 뉴스룸) 삼성전자에서 LPDDR5 12Gb 제품을 내놓았습니다. LPDDR(Low Power Double Data Rate) 모바일 D램 이라는 것은 다 아시다시피 모바일 계열을 위한 저전력 제품이죠. 얼마 후에 나올 갤럭시 노트 10 제품을 위한 메모리가 아닐까 싶습니다만... 그 이야길 떠나 정말로 PC 시장의 황혼이 온 것 같은 느낌입니다. 아직 PC 시장은 DDR4 에서 멈춰 있는데 LP쪽이긴 하지만 DDR5 전환이 벌써 모바일은 되고 있으니까요. 노트북 시장이 이미 훨씬 더 커졌기도 하고 기술적으로 계속 PC 데스크탑 시장이 멈추어져간다는 느낌을 받습니다. 새로운 규격이나 방식이 늦기도 하고요. 뭐랄까 어린 시절부터 첨

[리눅스커널] 메모리관리: 가상 주소를 물리 주소 변환하는 세부 원리 알아보기

Guillermo Austin Kim|2019년 7월 17일

가상 주소를 물리 주소 변환하는 세부 원리 알아보기이번에는 가상 주소를 물리 주소로 변환하는 과정을 살펴보겠습니다. 다음 그림을 같이 보겠습니다. [그림 14.18] 가상 주소를 물리 주소로 변환하는 과정 전체 흐름도 가상 주소를 물리 주소로 변환하는 과정은 크게 2 단계로 나눌 수 있습니다. [그림 14.19] 가상 주소를 물리 주소로 변환하는 단계 1단계[그림 14.18] 가장 위쪽에 있는 주소는 TTBR(Translation Table Base Register)에 저장된 변환 테이블 시작 주소입니다. 페이지 테이블의 베이스 주소입니다. 변환 베이스 주소와 SBZ로 구분할 수 있는데 SBZ는 항상 0라는 의미입니다. 커널에서는 swapper_pg_dir 전역 변수가 이 주소를 저장합니다. 다음 ‘가

[리눅스커널] 메모리관리: 페이지 테이블에 대해 알아보기

Guillermo Austin Kim|2019년 7월 17일

페이지 테이블로 가상 주소를 물리 주소로 변환하는 흐름을 살펴봤습니다. 이 과정에서 알아야 하는 주요 개념을 소개합니다. - 페이지 테이블 엔트리 - 페이지 테이블 엔트리 주소 페이지 테이블 엔트리페이지 테이블 엔트리(Page Table Entry, 줄여서 PTE)는 페이지 테이블의 정보이며 레코드라고도 부릅니다. 페이지 테이블 엔트리 주소말 그대로 페이지 테이블 엔트리가 있는 주소를 의미합니다. 이해를 돕기 위해 다음 주소 테이블을 보겠습니다. 주소 | 값 1 NSD:80004000 | 0x02 NSD:80004004 | 0x03 NSD:80004008 | 0x04 NSD:8000400C | 0x0...5 NSD:80006018 | 0x0061941E6 NSD:8000