간단하게나마 computer science에 대해 공부하고자 책 한권을 읽고 있다. 읽으면서 챕터 별로 개념들을 정리해보려 한다.
메모리장치
메모리 시스템의 구조
레이어 개념(계층적 메모리 개념)
레지스터
전기가 공급될 때만 저장능이 있다. 매우 빠르게 데이터를 저장하고 접근할 수 있다.
메모리 종류
위에서 언급한 주기억장치와 보조기억장치에 대해서 더 자세하게 정리해 보려한다. SRAM 혹은 DRAM으로 만들어진 주기억장치는 전기가 끊어지면 모든 데이터가 사라지는 특성을 지니고 있다. 이에 비하여 보조기억장치에 활용되는 하드디스크나 오프라인 저장장치(CD 등)는 광학적 성질을 이용하므로 저장된 상태를 유지한다.
1. 주기억장치
CPU가 데이터를 읽거나 저장하기 위해서 사용하는 메모리 공간이다. CPU에서 수행할 명령어와 데이터 등을 저장하는 메모리이다. SRAM(고속처리가 가능한 캐시메모리)나, DRAM(주기억장치)으로 구성. CPU는 일차적으로 캐시메모리에 접근하고 SRAM 캐시 메모리에 접근하고, SRAM 캐시메모리에서 찾고자 하는 데이터가 없는 경우 DRAM 메모리로 접근.
- ROM : 전원이 끊어져도 데이터 보존
- RAM : 전원이 꺼지면 모든 내용이 지워지는 휘발성 메모리 타입. 기억된 내용을 사용자가 임의로 변경할 수도 있다.
A. SRAM : 전원이 공급되는 동안 기억된 내용이 유지
b. DRAM : 주기적으로 충전을 해야 기억된 자료가 유지.
2. 보조기억장치 - 하드 디스크 / 오프라인 저장장치
주기억장치를 보조. 대용량의 프로그램과 데이터를 저장하고 현재 프로그램 수행에 필요한 데이터만을 주기억장치로 보낸다.
- 하드디스크/ 이동식 하드디스크
- SSD : 하드디스크에 비해서 데이터 접근 속도가 훨씬 빠르다. 하드디스크에 비해 가격이 비싸지만 에너지 소모량 측면에서 우수하다.
- 오프라인 저장장치(광디스크 시스템) : CD , DVD, 등...
- 오프라인 저장장치(소형 플레시 메모리) : USB 등...
기기간의 통신
컨트롤러
컴퓨터와 외부기기간에 데이터를 주고받기 위하여 통신을 제어하는 장치.
- 메모리 맵 입출력(Memory-mapped I/O) : 컴퓨터가 외부장치를 주기억장치와 같이 동일한 방식으로 통신.
- 직접 메모리 접근(DMA) : 컨트롤러가 외부 입출력장치로부터 직접 주기억장치로 데이터를 주고받을 수 있다.
a. 병렬 통신 : 데이터를 동시에 여러비트를 보냄
b. 직렬 통신 : 한 번에 한 비트씩 직렬방식으로 보내는 것.
데이터통신 유형
1. 단거리 : 포트를 통한 통신. 최근에는 블루투스를 통한 무선연결방식으로 대체되는 중
2. 근거리 : 이터넷을 통한 전선/무선방식으로의 통신, 직렬통신 방식
3, 원거리 : 케이블, 통신 위성 등
병렬처리와 파이프라이닝
파이프라이닝
이전 글에서 프로그램의 명령 사이클에 대해서 언급한 적이 있다. 실제로 호출 사이클이 실행될 때, CPU와 주기억장치 간에 물리적거리로 인해 시간비용이 발생한다. 이를 해결하기 위해, 모든 사이클을 동시에 수행하여 컴퓨터의 성능을 높여주는 것이 파이프라이닝이다.
병렬처리
프로세서가 다수 존재하여 동시에 여러 개의 명령어를 처리. 이러한 프로세서를 멀티코어라고 한다.
- SIMD : 한 번에 하나의 기계어 명령어를 가져와서 처리한다. 이 때 이 명령어가 다수의 데이터를 처리하는 명령어라면 각 프로세서가 다수의 데이터를 동시에 처리하므로 명령어 처리 시간이 단축된다.
- MIMD : 한 번에 다수의 명령어를 처리한다.
GPU
효율적인 병렬처리 프로세서를 가지고 있다. 특히나 그래픽 및 이미지처리 알고리즘에 매우 빠르게 대응할 수 있다. 따라서 대표적으로 머신러닝에 많이 활용된다.
'WIR(What I Read)' 카테고리의 다른 글
[빅데이터를 지탱하는 기술] CH 02. 빅데이터의 탐색 (0) | 2022.03.26 |
---|---|
[빅데이터를 지탱하는 기술] CH 01. 빅데이터의 기초지식 (0) | 2022.03.26 |
The Log: What every software engineer should know about real-time data's unifying abstraction(링크드인 블로그글 정리) (2) | 2021.08.02 |
Ch02-1. 운영체제의 목적과 발전 (0) | 2021.02.18 |
Ch01-1. 컴퓨터 시스템의 구성/프로세서 (0) | 2021.02.09 |