일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘 공부
- 화장품
- 책알남
- C++
- 재테크
- 책을알려주는남자
- 자바
- Java
- 지혜를가진흑곰
- 백준알고리즘
- 채권
- 자바스크립트
- 알고리즘트레이닝
- JavaScript
- 다독
- algorithmtraining
- 경제
- 성분
- 서평
- 돈
- 알고리즘공부
- C
- 투자
- 주식
- 프로그래머스 알고리즘 공부
- algorithmTest
- 프로그래밍언어
- 독후감
- 독서
- algorithmStudy
- Today
- Total
목록컴퓨터구조 (2)
탁월함은 어떻게 나오는가?
스핀락(SpinLock) 스핀락은 Critical Section에 진입이 불가능할 때 진입이 가능할 때 까지 루프를 돌면서 재시도 하는 방식으로 구현된 락을 가르킵니다. 스핀락은 바쁜 대기의 한 종류입니다. 스핀락은 운영체제의 스케줄링 지원을 받지 않기 때문에, 해당 스레드에 대한 Context Switch가 일어나지 않는다. 따라서 스핀락은 임계구역에 짧은 시간안에 진입할 수 있는 경우에 Context Switch을 제거할 수 있어서 효율적입니다. 하지만 만약 스핀락이 오랜 시간을 소요한다면 다른 스레드를 실행하지 못하고 대기하게 되며, 이 경우 비효율적인 결과를 가져게 됩니다. 컨텍스트 스위칭(Context Switching) CPU내에 존재하는 레지스터들은 현재 실행중인 프로세스 관련 데이터들로 채..
메모리 계층 구조란 메모리를 필요에 따라 여러가지 종류로 나누어 둠을 의미합니다. 이때 필요한 대부분의 경우 CPU가 메모리에 더 빨리 접근하기 위함이며, 일반적으로 레지스터와 캐시는 CPU내부에 존재합니다. 당연히 CPU는 아주 빠르게 접근할 수 있고, 메모리는 CPU 외부에 존재합니다. 레지스터와 캐시보다 더 느리게 접근 할 수 밖에 없으며, 하드 디스크는 CPU가 직접 접근할 방법 조차 없습니다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크의 데이터를 메모리로 이동시키고, 메모리에서 접근해야 하고, 아주 느린 접근 밖에 불가능합니다. 그렇다면 메모리 계층구조는 어째서 피라미드 형태로 말할까?(실제로 논문으로도 발표됬다고 합니다.) 이는 컴퓨터 과학에서 증명된 법칙인데, 큰 메모리를 사용한다..