2022. 3. 2. 23:17ㆍCS
컴퓨터 메모리는 '용량(Capacity)'과 '스루풋(Throughout)'이 큰 것이 좋다. 스루풋이란 단위시간당 데이터 처리량을 의미한다. 스루풋이 큰 장치가 데이터 처리속력이 빠르다. 용량이 크고, 처리속도가 빠른 메모리 장치는 가격이 비싸다.
메모리 계층 구조란?
- 메모리를 필요에 따라 여러가지 종류로 나누어 두는 것
→ CPU가 메모리에 더 빨리 접근 가능함 - 컴퓨터의 설계에 있어 각각의 특징이 있는 서로 다른 여러 종류의 저장 장치를 함께 사용하여 최적의 효율을 낼 수 있게 하는 것
- 상황에 맞게 여러 저장 장치를 각각 사용할 수 있도록 하여 저렴하고 성능 좋은 컴퓨터를 구현하는 설계
명칭 위치 접근 속도 레지스터 CPU 내부 빠름 캐시 CPU 내부 빠름 메모리 CPU 외부 레지스터와 캐시보다 느림 하드디스크 CPU 직접 접근 불가 데이터를 메모리로 이동시켜 접근 가능
레지스터와 캐시는 CPU 내부에 존재하기 때문에 CPU가 아주 빠르게 접근할 수 있다. 주 기억장치(메인 메모리)는 CPU 외부에 존재하는 메모리 중에서 CPU가 가장 빠르게 접근할 수 있는 메모리이다. SSD와 HDD와 같은 보조 기억장치(하드 디스크)는 CPU가 직접 접근할 수 없다. CPU가 하드 디스크에 접근하기 위해서는 하드 디스크 데이터를 캐시 또는 메인 메모리로 이동시키고, 메모리에서 접근해야 한다. 아주 느린 접근 밖에 불가능하다
코프로세서( coprocessor )
인텔 80386 프로세서와 80987 코프로세서* CPU의 기능을 보충하기 위해 사용되는 컴퓨터 프로세서이다.
* 코프로세서는 부동소수점 산술, 그래픽, 신호 처리, 문자열 연산, 암호화, 주변장치 입출력 등의 기능을 수행한다.
* 코프로세서는 주 CPU 프로세서에 집중된 작업들의 짐을 덜어 시스템 수행 속도를 빠르게 해 준다.
* 과거에는 한 칩 안에 모든 연산 회로를 넣기 어려웠기 때문에 코프로세서가 쓰였고 요즘은 그래픽 처리 등 여러 가지 기능을 담당하는 코프로세서가 CPU 한 칩에 같이 들어가 있는 경우가 많다.
용어설명
1). 레지스터
CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치
CPU(Central Processing Unit), 중앙처리 장치
- 컴퓨터에서 4대 주요 기능(기억, 해석, 연산, 제어)을 관할하는 장치
- CPU는 자체적으로 데이터를 저장할 방법이 없으므로 메모리로 직접 데이터를 전송할 수 없음
→ 연산을 위해서 반드시 레지스터를 거쳐야 하며, 이를 위해 레지스터는 특정 주소를 가리키거나 값을 읽어올 수 있음
- 프로세서에 위치한 고속 메모리로, 프로세스가 바로 사용할 수 있는 데이터(소량의 데이터, 처리 중인 중간 결과 등)를 담고 있는 영역
- CPU 내부 레지스터 종류종류설명
프로그램 계수기
(PC, Program Counter)다음에 실행할 명령어(instruction)의 주소를
가지고 있는 레지스터누산기
(AC, ACcumulator)연산 결과 데이터를 일시적으로 저장하는 레지스터 명령어 레지스터
(IR, Instruction Register)현재 수행 중인 명령어를 가지고 있는 레지스터 상태 레지스터
(SR, Status Register)현재 CPU의 상태를 가지고 있는 레지스터 메모리 주소 레지스터
(MAR, Memory Address Register)메모리로부터 읽어오거나 메모리에 쓰기 위한
주소를 가지고 있는 레지스터메모리 버퍼 레지스터
(MBR, Memory Buffer Register)메모리로부터 읽어온 데이터 또는
메모리에 써야할 데이터를 가지고 있는 레지스터입출력 주소 레지스터
(I/O AR, I/O Address Register)입출력 장치에 따른 입출력 모듈의 주소를
가지고 있는 레지스터입출력 버퍼 레지스터
(I/O BR, I/O Buffer Register)입출력 모듈과 프로세서 간의 데이터 교환을 위해
사용되는 레지스터
2). 캐시
- 속도가 빠른 장치와 느린 장치 사이에서 속도차에 따른 병목 현상을 완화하기 위한 범용 메모리
- 데이터나 값을 미리 복사해 놓는 임시 장소
- 시스템의 효율성을 위해 사용
- 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우
- 값을 다시 계산하는 시간을 절약하고 싶은 경우
- 캐싱(Caching) : 캐시(Cache)라고 하는 좀 더 빠른 메모리 영역으로 데이터를 가져와서 접근하는 방식
- 종류
- CPU 캐시
- 대용량의 메인 메모리 접근을 빠르게 하기 위해 CPU 칩 내부나 바로 옆에 탑재하는 작은 메모리
- 하드웨어를 통해 관리
종류 설명 CPU 성능에직접적인 영향 L1 캐시 일반적으로 CPU 칩안에 내장되어 데이터 사용 및
참조에 가장 먼저 사용되는 캐시 메모리O L2 캐시 - L1 캐시 메모리와 용도와 역할이 비슷
- 속도 : L1 캐시 > L2 캐시 > 일반메모리(RAM)O L3 캐시 - L1 캐시, L2 캐시와 동일한 원리로 작동
- 대부분 CPU가 아닌 메인보드에 내장X - 디스크 캐시(=디스크 버퍼) : 하드디스크에 내장된 '작은 컴퓨터'(기능 : 디스크 제어, 외부와의 인터페이스)가 소유한 '작은 메모리'(디스크에 입출력되는 데이터를 저장하는 작은 메모리)
=> 일종의 기법(하드디스크와 RAM 사이에 존재) - 그 외
- 소프트웨어적으로 관리
- 페이지 캐시 : 운영 체제의 메인 메모리를 하드 디스크에 복사해 놓는 캐시 ex) 웹 브라우저의 웹 페이지 캐시
- CPU 캐시
- 지역성
- 데이터 접근이 시간적, 혹은 공간적으로 가깝게 일어나는 것
- 캐시가 효율적으로 동작하기 위해서는 캐시가 저장할 데이터가 지역성을 가져야 함
- 종류종류설명
시간적 지역성 특정 데이터가 한 번 접근되었을 경우,
가까운 미래에 또 한 번 데이터에 접근할 가능성이 높음공간적 지역성 액세스 된 기억장소와 인접한 기억장소가 액세스 될 가능성이 높음
3). 메모리
- 주기억장치(= 1차 기억 장치)
- 컴퓨터에서 수치·명령·자료 등을 기억하는 컴퓨터 하드웨어 장치
구성
- RAM(Random Access Memory) : 휘발성 기억 장치
- 컴퓨터가 빠른 액세스를 하기 위해 데이터를 단기간 저장하는 구성 요소
- 사용자가 요청하는 프로그램이나 문서를 스토리지 디스크에서 메모리로 로드하여 각각의 정보에 액세스
- 전원이 유지되는 동안 CPU의 연산 및 동작에 필요한 모든 내용이 저장
- 전원 종료시 기억된 내용 삭제
- Random Access : 어느 위치에서든 똑같은 속도로 접근하여 읽고 쓸 수 있다는 의미
- ROM(Read Only Memory) : 고정 기억 장치
◾ 컴퓨터에 지시사항을 영구히 저장하는 비휘발성 메모리
◾ 전원 종료시 기억된 내용 유지
◾ 변경 가능성이 희박한 기능 및 부품에 사용
◾ 소프트웨어 : 초기 부팅 관련 부분
◾ 하드웨어 : 프린터 작동에 관여하는 펌웨어 명령 등
4). 하드디스크
- 하드 디스크(Hard Disk), 하드 드라이브(Hard Drive), 고정 디스크(Fixed Drive)
- 비휘발성, 순차접근이 가능한 컴퓨터의 보조 기억 장치
- 비휘발성 데이터 저장소 가운데 가장 대중적이며 용량 대비 가격이 가장 저렴
- 작동 원리
- 보호 케이스 내부의 플래터를 회전 → 플래터에 자기 패턴으로 정보 기록
- 플래터 표면의 코팅된 자성체에 데이터 기록
- 회전하는 플래터 위에 부상하는 입출력 헤드에 의해 자기적으로 데이터 기록 및 조회 가능
- 구성 요소요소설명
제어회로 - 하드 디스크의 총괄적인 부분을 제어하는 회로
- 제어회로 내부의 버퍼 메모리는 하드 디스크에
입출력될 데이터를 임시 저장함스핀들 모터
(Spindle Motor)플래터의 회전을 담당하는 부분 플래터
(Platter)- 데이터 기록 담당
- 하나의 하드디스크에 한 개 이상 장착
- 플래터 수 ↑ → 용량 저장 크기 ↑, 안정성 ↓액추에이터
(Actuator)제어회로의 명령에 따라 액추에이터 암 구동
→ 헤드가 원하는 데이터 조회 가능액추에이터 암
(Actuator Arm)액추에이터를 통해 구동됨
- 하나의 디스크에 여러 개 달려 있음
- 암의 끝 부분에 입출력을 위한 헤드 달려 있음헤드(Head) - 데이터를 읽고 쓰는 헤드
참고
*위키백과
https://ko.wikipedia.org/wiki/%EC%BD%94%ED%94%84%EB%A1%9C%EC%84%B8%EC%84%9C
*개인블로그
https://velog.io/@yu-jin-song/CS-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B3%84%EC%B8%B5-%EA%B5%AC%EC%A1%B0
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=cjsksk3113&logNo=222246966805
'CS' 카테고리의 다른 글
CS : 비트 그룹의 이름 (0) | 2022.03.02 |
---|---|
CS : 입출력과 네트워킹 ( ~ 아날로그를 디지털로 변환) (0) | 2022.03.02 |
CS : 시간 표현과 상태기억 (순차 논리 회로) (0) | 2022.03.02 |
CS : 디지털 컴퓨터의 사례 (0) | 2022.03.02 |
CS : 정수를 비트로 표현하는 방법 (0) | 2022.03.02 |