여기는 왜 공부 할때마다 헷갈리는지.. 일단 적어두고 나중에 또 다시 봐야 할 것 같다. 우선 메모. Block offset이 없는 자료는 무엇인가? 저 블록이 없는 자료도 있던데 무엇인가? 캐시는 7bit로 나타나는데, 태그는 그럼 캐시의 상위 2bit? 참고 문헌 https://kimtaehyun98.tistory.com/48 Chapter 11. 캐시 메모리 # 본 내용은 한국항공대학교 길현영 교수님의 '컴퓨터 구조' 강의 및 컴퓨터 아키텍처(우종정, 한빛 아카데미)를 바탕으로 작성한 글입니다. 교재에는 메모리에 대한 챕터가 따로 있으나 강의에 kimtaehyun98.tistory.com https://developbear.tistory.com/75 [Chapter 5.2 컴퓨터 구조 및 설계] 직..
정렬 알고리즘 정렬 알고리즘이란 원소들을 일정한 순서대로 열거하는 알고리즘이다. 정렬 알고리즘은 다양한 알고리즘들이 있다. 이번 포스팅에 들어갈 버블 정렬, 선택 정렬, 삽입 정렬 이외에도 합병 정렬, 퀵 정렬, 힙 정렬 들이 있지만 기본적으로 버블/선택/삽입을 제외한 알고리즘은 어려운 편에 속하므로 먼저 세 가지 알고리즘에 대해 공부하자. 버블 정렬 (Bubble Sort) 버블 정렬은 정렬하는 모습이 거품이 꺼지는 모습과 비슷하기 때문에 붙여진 이름이라고 한다. 아마 가장 처음 배우는 정렬 알고리즘이 될 것이고, 별로 좋은 알고리즘이 아니기에 실전에서는 잘 사용되지 않는다. 하지만 이해하기는 제일 쉽다. 간단히 말하면, 현재 배열 요소와 그 다음 배열 요소를 비교해 왼쪽이 오른쪽보다 크면 교환한다. ..
비트 연산 비트란? 컴퓨터에서 자료를 표현하기 위해 사용하는 최소 단위로, 1bit = 0 or 1로 표현되고 8bit = 1byte이다. 비트 연산자 기본적인 비트 연산자는 &, |, ^, ~, 등등이 있지만 여기서는 매우 기본적인 개념보다는 헷갈렸던 개념이나 연산의 쓰임새 등을 언급할 생각이다. 참고로 비트 연산자는 우선순위가 매우 낮은 편에 속하므로 헷갈리면 소괄호를 잘 활용하자. a > n a * $2^{-n}$ (a / \(2^n\)) a n은 오른쪽으로 n번 shift를 의미한다. 예로 4 >> 2는 0100을 전체적으로 오른쪽으로 2번 이동하니 0001이 되고, 이는 10진수로 1을 의미한다. (4 / 4와 같다.) 깊게 들어간다면 Arithmetic Shift와 Logical Shift가 ..