**학습 중 작성한 내용이며 정확한 내용이 아닙니다. 혹시나 틀린 부분을 보시면 댓글 부탁드리겠습니다. **
-- 컴퓨터의 구조는 기본적으로 3가지로 구성되어 있다.
중앙처리장치인 CPU,
주기억장치인 MEMORY,
보조기억장치인 DISK
공간개념
CPU : WORD (4BYTE)
MEM : FRAME
DISK : SECTOR
SDD : CHUNK
처리 속도는 CPU > MEM > DISK 순으로 CPU가 가장 빠르다.
CPU가 산술논리연산을 하기위해서는 메모리를 참조해야하는데
상호간의 속도 차이가 많이 나기때문에 캐시메모리가 그 사이에서 완충작용한다.
각 장치 사이에는 데이터 통신을 위한 길이 존재하는데 이것을 버스라고 한다.
MAR : CPU가 참조할 메모리 주소가 기억되있는 부분.
IR : 메모리에서 가져온 데이터 중, 산술/논리 기호를 저장.
MBR : 메모리에서 가져온 데이터 중, 연산 할 데이터를 저장.
-- CPU 인스트럭션 싸이클 ( 메이저 스테이트 )
패치 : 메모리에서 읽어온다.
인다이렉트 : 간접 참조를한다. *
익스큐션 : 실행한다.
인터럽트 : 예외상황 발생시 우선적으로 처리한다.
*간접참조는 직접참조인 다이렉트보다 당연히 속도가 느리다.
하지만 트리구조를 통해서 더 많은 공간을 활용할 수 있다.
-- 가상메모리
디스크상에 일정 부분을 가상메모리로 사용할 수 있다.
페이징 : 고정공간인 페이지를 할당
세그멘테이션 : 가변공간 세그먼트를 할당
페이지테이블을 참조하여 접근한다.
가상메모리설정 크기만큼 활용할 수 있는 메모리 크기는 커지지만
본질은 디스크에 있기때문에 큰 속도향상은 기대하기 어렵다.
-- 메모리 플레이스먼트
메모리에 데이터를 로드할 때, 5K 공간에 5K 데이터를 넣으면 BEST FIT
5K 공간에 1K 데이터를 넣으면 WORST FIT이며 여기에는 4K 가 남기 때문에
다른 데이터를 또 넣을 수 있다.
-- 메모리 리플레이스먼트
메모리의 모든 공간이 데이터로 찼을 때,
언로드할 데이터 우선순위 산정 방법
LRU : 가장 최근에 사용된 데이터 순으로 점수를 주어 점수가 낮은 데이터 교체
LFU : 사용될 때마다 각 데이터에 카운터를 주고 가장 덜 사용된 횟수의 데이터를교체
NUR : 참조비트와 수정비트를 이용하여 셋이되면 언로드
SCR : 참조비트로 판단