
++ 캐시기억장치 : CPU 내부에 존재
기억용량(Capacity)
- 기억장치에 저장할 수 있는 데이터의 총량으로, 단위는 비트, 바이트, 워드
접근시간(Access Time)
- 기억장치에 저장된 데이터를 읽거나 새로운 데이터를 기록하는 데 걸리는 시간
사이클 시간(Cycle Time)
- 기억장치의 기본 단위 정보를 읽고 기록하는 데 걸리는 시간
= 기억장치에 두 번 연속 접근하는 데 걸리는 최소 시간
**비파괴 기억장치 : 사이클 시간과 접근 시간 동일(비파괴 기억 장치인 반도체 기억장치는 사이클 시간과 접근 시간을 구분할 필요 없음.
**자기코어 기억장치(파괴기억장치) : 정보를 읽으면 기억 장치에 저장된 정보가 삭제됨. 읽기 위한 접근 시간과 정보를 다시 저장하기 위한 복원시간을 합한 시간이 사이클 시간이 됨..
기억장치의 대역폭(Bandwidth)
- 기억장치가 한 번에 전송가능한 비트 수 / 저장가능한 비트 수
데이터 전송률(Data Transportation)
- 기억장치에서 초당 몇 비트의 데이터가 전송되어 읽히는가
가격
- 기억장치의 가격은 기억장치의 처리속도와 비례
** CPU의 처리속도와 보조를 맞추기 위해 고가의 기억장치 사용
** 비용의 한계로 인해 대용량 기억 장치를 구비하기 어려움


#주기억장치 : 실행할 프로그램과 데이터를 저장
- 주기억장치는 전원이 켜진 상태에서만 데이터를 읽거나 쓸 수 있고, 전원이 꺼지면 기억된 내용이 모두 지워짐(휘발성)
- 정보의 장기적인 저장을 목적으로 하지만, 프로그램의 명령을 저장하고 있다가 빠르게 실행하도록 하는 것이 목적
- 실행이 완료된 명령이 다른 명령으로 교체되어 신속하게 실행됨
- 전원이 꺼지면 빠르게 실행할 일이 없기 때문에 기억된 모든 명령이 주기억장치에서 삭제됨
CPU : 주기억장치에 저장된 프로그램에서 명령을 제어 장치로 하나씩 꺼내 해독
제어장치 : 해독된 결과로 제어신호 생성 후 각 장치에 전달해 동작하도록 함
프로그램은 반드시 주기억장치에 저장되어야 실행될 수 있으므로 입력장치나 보조기억장치에서 주기억 장치로 저장된 후 제어장치로 전달

#주기억장치
- CPU에 있는 제어 장치에서 데이터 읽기/쓰기 동작을 수행하도록 제어신호 수신
쓰기동작모드 : 입력장치나 보조기억장치에서 주기억장치로 입력정보 전달
-> 기록회로 : 입력된 프로그램과 데이터를 임시로 저장했다가 프로그램 명령과 프로그램에서 사용될 데이터를 실제로 기억하는 기억소자로 구성된 기억매체에 전달
-> 제어장치 : 데이터가 저장될 기억 소자의 주소를 번지 선택회로에 전달해 데이터가 저장될 기억 소자를 선택하도록 함
명령어 : 4단계 머신사이클 (인출-해독-실행-저장)
-> 시스템 클록에 의해 동기화


일반 프로그램이 기억되는 곳으로 시스템 프로그램의 제어에 의해 동작
여러 부분으로 분할하고 독립된 프로그램을 기억시켜 다중 프로그래밍 방식으로 동작가능
& 운영체제가 사용자 응용 프로그램 각각의 독립된 영역을 보호하는 기억 보호를 수행
주기억 장치는 고가이므로 용량에 제한이 있음
운영체제가 차지하는 부분을 제외한 나머지 기억공간을 한 사용자 응용 프로그램이 독점 사용하는 방식
1.사용자에게 최대한 융통성 제공
2.최대의 단순성과 최소의 비용만족
3.특별한 하드웨어 필요x, 운영체제 소프트웨어 필요x
1.사용자가 사용하는 부분 이외는 낭비
2.입력과 출력을 수행하는 동안 주기억 장치 내 프로그램이 CPU를 계속 쓸 수 없어 활용도 낮음
3.프로그램이 주기억 장치의 용량보다 크면 실행하기 어려움
각 응용프로그램에 동일한 크기의 분할된 구역을 고정 할당하는 방식
1.한 프로그램을 적재하고 남은 공간에 다른 프로그램을 적재해 실행하므로 프로세서와 기억 장치 같은 자원의 활용도가 크게 향상
2.동시에 여러 프로그램을 주기억장치에 적재해 실행하는 다중 프로그래밍 기법 가능
1.할당되는 저장공간이 작고 저장될 프로그램이 큰 경우, 프로그램이 작은 단위로 쪼개지는 단편화 문제 발생
2.프로그램과 할당된 분할 구역의 크기가 일치하지 않으면 남는 공간 발생
단편화를 해결하기 위해 각 작업에 필요한 만큼의 공간만을 할당하는 방식.
구역을 미리 일정한 크기로 분할하는 것이 아닌, 주기억장치에 들어오는 새로운 프로그램의 크기에 맞게 기억공간을 가변적으로 분할해 프로그램에 맞는 공간 할당
1.기억 장소에 분산된 공간을 한곳에 모아 사용 가능한 큰 영역을 만듦으로써 낭비를 줄일 수 있음
1.기억 장소를 집약하는 동안 전체 시스템은 수행중이던 작업을 일단 중지해야 하며, 집약하는 데 많은 시간이 소모됨
2.수행중이던 프로그램과 데이터를 주기억 장치 내 다른 장소로 이동하기 때문에 각각의 위치 및 이와 관련된 내용을 수정해야 함
초기에 많이 사용되었던 임의접근 컴퓨터 기억장치
링 모양이며, Ferrite의 자성물질로 제작되어 자화가 쉬움
한 번 자화되면 외부 영향이 없는 한 그 상태를 계속 유지(비휘발성)
자기 코어 중앙에는 선 X, Y, Z, S 관통
디지털 시스템의 프로그램이나 데이터를 저장하는 주기억 장치에 널리 사용됨
대부분의 반도체 기억장치는 저장 위치에 상관 없이 같은 시간에 접근이 가능한 RAM 형태
휘발성인 RAM과 비휘발성인 ROM으로 구분
반도체 기억장치 칩에는 제어 신호 단자, 레지스터, 주소 레지스터 위치
쓰기동작 : 기억장치에 데이터를 저장하는 것으로, 1바이트의 데이터를 기억장치에 저장하는 과정
읽기동작 : 기억장치에 저장되어 있는 데이터를 인출해 이를 요구한 장치로 전달하며, 1바이트의 데이터를 지정된 주소 위치에서 읽는 과정을 보여줌
주요 데이터를 보조 기억 장치인 하드디스크에서 가져와 저장했다가, CPU에 필요한 데이터를 빠르게 제공하고, CPU에서 출력된 데이터를 빠르게 저장하고 있다가 최종적으로 하드디스크에 전달
RAM과 같은 반도체 기억장치는 하나의 집적회로 칩으로 제공되며, 이 칩에는 기억 소자의 배열이 포함
반도체 기억장치를 설계할 때 한 번에 읽고 쓸 수 있는 데이터의 비트 수는 중요한 고려 사항
기억소자의 배열이 B개의 비트로 이루어진 W개의 워드로 구성되었다면 WxB비트로 나타냄
신호의 입력과 출력을 위한 연결 핀이 포함되어 있으며, 데이터 핀, 전원공급 핀, 접지 핀, 칩 선택 핀 포함
ROM은 저장된 명령이나 데이터를 읽기만 할 수 있는 기억 장치로, 데이터를 추가하거나 재기록하는 쓰기 동작을 하기 어렵거나 불가능하지만 전원 공급이 끊겨도 저장된 데이터를 유지할 수 있어 비휘발성 기억장치로 분류됨.
컴퓨터 시스템은 전원을 켜면 내장 메모리를 체크하거나 주변 장치를 초기화하는데, 이와 같은 일을 수행하려면 전원을 끄더라도 내용이 지워지지 않는 기억장치가 필요하므로 ROM을 사용함
또한 시스템 동작에 쓰이는 표, 변환, 명령어 프로그램 등 반복적으로 사용하는 데이터를 저장하는 데 이용됨
반도체 기억 장치를 만드는 데 사용되는 소자에 따라 트랜지스터-트랜지스터 논리의 바이폴라 ROM과 금속 산화막 반도체 ROM으로 구분가능
제조상 ROM의 분류는 Mask ROM과 PROM은 바이폴라형과 MOS형이 있음