CS/면접준비
-
캐시 메모리CS/면접준비 2022. 9. 20. 01:37
캐시 메모리 속도가 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리를 말한다. 코어 마다 독립된 L1캐시를 가진다. L1 = Cpu 내부 L2 = Cpu - main memory L3 = Mainboard 지역성 데이터에 대한 접근이 시간적 혹은 공간적으로 가깝게 발생하는 것을 말한다. 캐시의 적중률(Hit rate)을 극대화하여 캐시가 효율적으로 동작하기 위해 사용되는 성질이다. 시간 지역성 최근에 사용했던 데이터가 재참조될 가능성이 높은 특성 반복문에서 조건 변수처럼 한번 된 사용된 변수는 잠시 후 다시 참조될 가능성이 높다. 공간 지역성 최근에 사용했던 데이터가 재참조될 가능성이 높은 특성 List와 같이 연속된 접근 시, 참조된 근처 데이터와 연결될 가능성이 높다. 캐..
-
Virtual Memory란?CS/면접준비 2022. 7. 18. 17:15
Virtual Memory란? OS에서 한정된 Memory(physical Memory)를 가상화시켜 더 효율적으로 사용하기 위해 나온 개념. 어떻게 가상화 시킨다는 것이 효율적일까? Program이 실행될 때에는 전체가 Memory에 있을 필요가 없고, 실행되는 부분만 Memory에 존재하면 된다. 이를 사용하여 Physical Memory에 더욱 더 많은 Program을 올릴 수 있는 것이다. 그렇다면 어떻게 실행될 위치를 아는 것일까? MMU(Memory Management Unit) 은 하드웨어 실제 Program별 Logical Memory를 통해 Phyiscal Memory를 변환하여 준다. 가상 메모리는 어떻게 관리되는가? Paging / Segmentation / Paging+segment..
-
Dynamic Programming이란?CS/면접준비 2022. 7. 18. 16:56
Dynamic Programming이란? 큰 문제를 작은 문제로 나누어 푸는 문제입니다. + 작은 문제가 중복되어 발생하는지 여부 및 작은 문제의 답이 동일 Devide&Conquer와 동일한 것이지 않는가? -> Devide&Conquer도 큰 문제를 작은 문제로 나누어 푸는 부분에서 동일합니다. 하지만 Devide&Conquer는 말 그대로 작은 문제로만 나누어서 풀 뿐 작은 문제가 중복해서 발생한다던지 하지 않습니다. Memoization 작은 문제가 중복으로 발생하다보니 동일한 연산을 중복으로 할 이유가 없습니다. 따라서 해당 문제의 답을 적어두는 것입니다. DP의 대표적인 예가 피보나치, ROD CUTTING(막대기 자르기) 등이 있습니다. 1,1,2,3,5,8 .... 은 다음 수열 = 이전 ..