Computer Architecture75 [혼자 공부하는 운영체제] 09-2. 운영체제의 큰 그림 운영체제의 심장, 커널(kernel) 커널: 운영체제의 핵심 기능을 담당한다. ▶ 사용자 인터페이스(UI: User Interface) : 사용자가 컴퓨터와 상호작용할 수 있는 통로 그래픽 유저 인터페이스(GUI: Graphical User Interface): 윈도우 바탕화면, 스마트폰 화면과 같이 그래픽을 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스 커맨드 라인 인터페이스(CLI: Command Line Interface): 명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스 이중 모드, 시스템 호출 ▶ 이중 모드(dual mode): 사용자 모드(user mode): 커널 영역의 코드를 실행할 수 없는 모드 커널 모드(kernel mode): 운영체제 서비스를 제공받을 수 있는 실행 모드 .. 2023. 11. 29. [CA] Lecture #25 Example: Intrinsity FastMATH Large cache: 1 block = 64 bytes Large cache의 경우, block의 크기는 크지만, 이를 다시 CPU로 보낼 때는 1 word(= 4 bytes) 단위로 보내야 한다. 따라서 64 bytes를 4 bytes씩 16개로 쪼개놓는 것이다. Main Memory Supporting Caches ▷ 1 block = 4 word의 경우 miss penalty: 1: address transfer 4*15: DRAM access (DRAM은 1 word씩만 접근 가능하기 때문에 4를 곱해야 한다.) 4*1: data transfer (DRAM은 1 word씩만 접근 가능하기 때문에 4를 곱해야 한다. Designing the Me.. 2023. 11. 28. [컴퓨터구조] 1127 Virtual Memory ▷ CPU - virtual memory - main memory, disk 각각의 프로그램은 각자의 virtual memory를 가지고 있다. 실행하고자 하는 프로그램을 virtual memory에 store하여, main memory와 disk에서 찾을 수 있도록 한다. --> 실제 main memory 크기보다 더 큰 프로세스를 실행할 수 있게 된다. - Virtual memory: "page" - Main memory: "Frame" Address Translation : virtual memory의 page와 main memory의 frame과 매핑되도록 한다. Virtual page number --> Physical page number Page offset -->.. 2023. 11. 28. [혼자 공부하는 운영체제] 14-3. 페이지 교체와 프레임 할당 ▶ Page Fault : 해당 page에 대한 frame이 main memory에 없다. Disk로 가야 한다! Page table의 valid bit == 0 요구 페이징(demand paging) : 프로세스를 메모리에 적재할 때, 처음부터 모든 page를 적재하지 않고 필요한 page만을 메모리에 적재하는 기법 페이지 교체 알고리즘 : 쫓아낼 page를 결정하는 방법 FIFO(First-In First-Out) page replacement algorithm Optimal page replacement algorithm: 자주 사용될 page를 남기고, 자주 사용되지 않을 page를 swap-out한다. (이상적) LRU(Least Recently Used) page replacement algo.. 2023. 11. 28. [혼자 공부하는 운영체제] 14-2. 페이징을 통한 가상 메모리 관리 ▶ 가상 메모리(virtual memory) : 실행하고자 하는 프로그램을 일부만 메모리에 적재하여, 실제 물리 메모리 크기보다 더 큰 프로세스를 실행할 수 있게 하는 기술 페이징: 가상 메모리 관리 기법 페이징이란 ▷ Problem - 외부 단편화 ▷ Solution - 페이징 : 프로세스의 논리 주소 공간을 페이지(page)라는 단위로 자르고, 메모리 물리 주소 공간을 프레임(frame)이라는 페이지와 동일한 크기의 일정한 단위로 자른 뒤, 페이지를 프레임에 할당하는 가상 메모리 관리 기법 가상 메모리(논리 주소)의 page와 메인 메모리(물리 주소)의 frame을 매핑한다. --> 페이지 단위로 swap in/swap out Page in: Swap in Page out: Swap out ▶ 가상 .. 2023. 11. 28. [혼자 공부하는 운영체제] 14-1. 연속 메모리 할당 ▶ 연속 메모리 할당 : 프로세스에 연속적인 메모리 공간을 할당하는 방식 스와핑(swapping) : 입출력 작업의 요구로 대기 상태가 된 프로세스라던지, 오랫동안 사용되지 않은 프로세스들을 임시로 보조기억장치의 스왑 영역(swap space)로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식 메모리 할당 최초 적합(first fit) 최적 적합(best fit) 최악 적합(worst fit) 외부 단편화(external fragmentation) : 프로세스를 할당하기 어려울 만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상 Solution 1) 압축(compaction) Solution 2) 가상 메모리 기법 - 페이징 2023. 11. 27. [CA] Lecture #24 Cache Example Index: 몇 번째 cache block인지 결정한다. (마지막 3-bit) V: 해당 cache block에 데이터가 있는지 표시한다. Tag: 해당 cache block에 있는, 어떤 데이터인지 구분한다. (전체 주소 = Tag_Index) Data: 메모리의 (Tag_Index) 주소에서 가져온 1 word(4 bytes) 데이터 Address Subdivision Index (10 bits): "몇 번째 cache block인가?" Valid (1 bit): "이 cache block 안에는 데이터가 들어있는가?" Tag (20 bits): "이 cache block 안에는 정확히 어떤 데이터가 들어있는가?" Data (32 bits = 4 bytes = 1 word) .. 2023. 11. 23. [CA] Lecture #23 - Ch5: Large and Fast: Exploiting Memory Hierarchy Ch5: Large and Fast: Exploiting Memory Hierarchy Memory Hierarchy --> Processor에 가까워질수록 작아지고, 빨라진다. Principle of Locality Temporal locality: Items accessed recently are likely to be accessed again soon. (예: instructions in a Loop) Spatial locality: Items near those accessed recently are likely to be accessed soon. (예: sequential instructions) --> Cache에는 Locality가 있는 데이터를 저장한다. Memory Hierarchy .. 2023. 11. 21. [컴퓨터구조] 1120 Main Memory Supporting Caches 조건) 4-word block, 1-word-wide DRAM ▶ 1-word-wide memory : 메모리에서 4-word block을 캐시로 읽어와야 하는데, 한번에 접근할 수 있는 메모리 크기는 1-word이다. --> 메모리에 접근해서, 데이터를 전송하는 데에 4배의 시간이 더 걸린다. (miss penalty: 캐시 미스 패널티) Increasing Memory Bandwidth ▶ 4-word-wide memory : 메모리에서 4-word block을 캐시로 읽어와야 하는데, 한 번에 접근할 수 있는 메모리 크기는 4-word이다. --> 한 번의 메모리 접근/전송으로 4-word block을 처리할 수 있다. ▶ Interleaved .. 2023. 11. 21. 이전 1 2 3 4 5 ··· 9 다음