본문 바로가기

반응형

대학 수업

Multi-Level Page Table, Virtual Memory, Page Replacement Policy - 운영체제 Multi-Level Page Table 목표: 각 페이지 테이블이 연속적으로 할당되지 않도록 하는 목적 페이지 테이블을 페이징한다 페이지 테이블을 계층적으로 생성한다 상위 레벨은 페이지 디렉토리 사용되는 페이지만 할당 Hierarchical Page Table logical address space를 multiple page table로 나눔 2-level의 경우 32bit 주소 w/ 4KB 페이지 page number = 20 bits offset = 12 bits 페이지 테이블을 페이징 해야하니 페이지 넘버가 다음과 같이 또 나뉜다 나누는 기준은 page size / page entry size = 4kb / 4b = 2^10 => 10 bits (inner page) inner page = 10 .. 더보기
TLB 퍼포먼스, Hash PageTable, Inverted PageTable, Segmented PageTable, Multi-Level PageTable - 운영체제 TLB Performance TLB Miss Rate = TLB misses / TLB Lookups 2048번 lookup miss는 2번 (int = 4 byte, page = 4kb 기준) 각 페이지에서 최초 1번 시 miss 발생 miss rate = 2/2048 = 0.1 % hit rate = 99.9% smaller page -> worse performance larger page -> better performance OS 입장에서는 페이지 크기를 키우는 게 도움이 됨 그러나 페이지 크기가 커지면 캐시 미스 등의 부작용 TLB Reach: TLB에서 접근할 수 있는 페이지 크기 num of TLB Entries * page size Workload에 따른 TLB Performance se.. 더보기
paging, TLB - 운영체제 Segmentation의 문제: Fragmentation 메모리 할당에 사용할 수 없는 빈 공간 external fragmentation: 외부 단편화 memory allocator(= OS) 입장에서 확인할 수 있음 세그멘트가 연속적으로 할당되기 때문에 이보다 작은 공간에는 할당할 수 없음 internal fragmentation: 내부 단편화 requester 입장에서 확인할 수 있음 내부적으로 공간이 있으나 사용되지 않음 Paging 메모리 주소가 연속적이어야 한다는 문제를 해결 외부 단편화 제거 필요시에 세그먼트를 늘이거나 줄일 수 있음 메모리 공간을 fixed-sized page (e.g. 4kb)로 나눔 physical page: page frame Translation of Page Addr.. 더보기
Memory Virtualization 1 - 운영체제 Memory Virtualization (메모리 가상화) Virtual RAM: 각 프로세스가 Private Memory를 가지고 있는 것처럼 구현 메모리는 OS와 User Process 영역으로 나뉜다 Uniprogramming: 한 번에 하나의 프로세스만 돈다 가상화를 지원하지 않음 코드가 OS를 망칠 수도 (Protection이 없음) Multiprogramming Goal Transparentcy 모든 프로세스가 메모리가 공유된다는 사실을 모름 실제 프로세스는 프로세스의 갯수, 위치에 상관없이 작동하여야 한다 Protection 한 프로세스가 다른 프로세스나 OS의 영역을 침범할 수 없다 다른 프로세스의 데이터를 읽지도 못함 Efficiency 메모리 자원을 낭비하지 않아야 한다 Fragmenta.. 더보기
Matrix Addition & Scalar Multiplication - 선형대수학 행렬은 다음과 같이 행(row), 열(column)으로 이루어지며, 표기 시 [aij]mxn처럼 표기한다 v와 같이 mx1로 표시되는 행렬은 열벡터, w처럼 1xn 형태이면 행벡터이다 행렬의 성분이 모두 Real이면 다음과 같이 |Rmxn의 원소라고 표시할 수 있다 m=n: A=[]mxm : square matrix m>n or m B = [[1 3], [2 4]] = A^T (A^T)^T = A (A + B)T = A^T + B^T (kA)^T = kA^T (AB)^T = B^T x A^T 더보기
디지털 카메라, DCT, Quantization, Huffman Encoding - 임베디드 컴퓨터 구조 시험에 안 나올 거 같은데 디지털 카메라 구성 이미지 캡쳐 이미지 디지털 포맷으로 저장 필름 없음 여러 장의 이미지가 저장된다 저장되는 이미지의 수는 메모리 크기와 이미지 당 소모하는 비트 수에 의해 결정 이미지를 PC로 저장 System-on-a-chip 여러 프로세서와 메모리가 하나의 IC 칩에 고용량 플래시 메모리 많이 간략화 된 구성임을 알려드립니다 하드웨어 디자이너의 관점에서 본 디지털 카메라 이미지 처리 및 메모리 저장 셔터가 눌리면: 이미지 캡처 CCD(Charge-Coupled Device) 통해 디지털 형태로 전환 압축하여 내부 메모리에 저장 이미지 업로드 디지털 카메라를 PC에 연결 압축된 이미지를 시리얼로 전송하기 위한 특수한 소프트웨어 명령어 Charge-Coupled Device .. 더보기
Storage Devices, Flash Memory, SSD - 임베디드 컴퓨터 구조 Flash Storage 비휘발성 반도체 저장 장치 하드 디스크보다 100x ~ 1000x 빠르다 작고 저전력에 순간적인 성능이 더 좋음 $/GB가 더 높다 (하드 디스크와 DRAM의 중간 정도) Flash Types NOR Flash fast read (~100ns) slow write (200usec) very slow erase (1sec) 10K - 100k번 지울 수 있음 Fast Read 성능 때문에 모바일 시스템의 명령어 메모리로 사용 NAND Flash 집적도가 높음 (bits/area, ~40% of NOR) 더 싸다 slow read (50 usec) slow write (200usec) slow erase (2msec) 100k to 1M 지울 수 있음 데이터 스토리지로 사용 Flas.. 더보기
I/O Commands, ARM Interrupt - 임베디드 컴퓨터 구조 미리미리 정리할 걸~ I/O Commands I/O 디바이스는 I/O 컨트롤러에 의해 제어된다 데이터 송/수신 소프트웨어와 동시 작업 Command Register 디바이스에 명령을 내리기 위해 사용 메모리이며 주소로 접근할 수 있음 state machine과 비슷함 (0: idel, 1: receive, ...) Status Register 현재 디바이스의 상태, 에러를 표시하는 메모리 CPU에 디바이스의 상태를 알려주는 역할 Data Register 데이터를 송/수신하기 위한 메모리 해당 영역의 데이터를 CPU로 전송 I/O Register Mapping 방법 Memory Mapped I/O 레지스터가 메모리와 같은 공간에 위치 address decoder로 구별할 수 있다 OS가 Address Tr.. 더보기

반응형