컴퓨터란?
- 전자회로를 이용하여 데이터를 처리하는 장치
- 입력, 제어, 기억, 연산, 출력 기능을 갖추고 있음
컴퓨터가 하는 일
- 복잡한 계산
- 초정밀 그래픽 구현
- 네트워크 통신
컴퓨터 분야의 아이디어 8가지
1. 무어의 법칙을 고려한 설계
인텔 창립자 무어가 '18개월~24개월마다 칩에 직접되는 트랜지스터(소자)의 수가 2배가 된다.' 라고 주장.
컴퓨터 설계자는 무어의법칙을 예상하여 설계를 하게 됨.
2. 설계를 단순화한 추상화
무어의 법칙에 따라 자원의 수가 급격히 증가하여 설계시간이 길어져 생산성이 낮아짐.
생산성을 높이기 위해 추상화 개념을 도입함.
하위 수준의 상세 내용을 안보이게 가려서 상위 수준의 모델을 단순화.
ex) 고급언어
3. common case fast
자주 발생하는 일을 빠르게 처리하여 최적화하면 드물게 발생하는 일을 최적화하는 것보다 성능 개선에 큰 도움을 줌.
4. 병렬성을 이용한 성능 개선
큰 문제를 여러 개의 작은 문제로 나누어서 해결함. 문제를 동시에 처리하여 성능을 높임.
ex) 쓰레드
5. 파이프라이닝을 통한 성능 개선
병렬성의 특별한 형태.
처음 단계 출력이 다음 단계 입력으로 이어지는 구조.
6. 예측을 통한 성능 개선
수요가 예상되는 부분을 예측, 복구 비용을 낮추고 성공 확률을 높일 경우 효과적
정확한 예측을 위한 지표가 필요함
7. 메모리 계층 구조
메모리 가격이 컴퓨터 가격에 주요한 요소였을 시점 고안한 방식.
최상위 - 비싸고 제일 빠른 메모리
최하위 - 느리고 값이 싼 메모리
캐시 메모리는 최상의 계층만큼 빠르고 최하위 계층만큼 크면서 저렴한 메인메모리가 있는 것처럼 보임
8. 여유분을 이용한 신용도 개선
컴퓨터는 신뢰할 수 있어야 함. 기계는 언제든지 고장날 수 있으므로 여유분 준비.
ex) 장애 대처를 위한 여유분 준비, 데이터 손실을 막기 위한 백업과 같은 이치
컴퓨터의 구성요소
- 프로세서(Processor)
1-1. 데이터 패스(Data path): 데이터가 이동하는 통로. 회로.
1-2. 제어 유닛(Control unit): 프로그램 명령에 따라서 데이터 패스, 입/출력의 동작을 결정함
- 메모리(Memory)
- 입력(Input)
- 출력(Output)
Processor
- 제어 유닛이 메모리로부터 명령과 데이터를 얻어 산술/논리 연산을 하고서 연산 과정에서 나오는 일시적인 데이터들은 레지스터(Register)에 저장하고, 명령에 따라 주변 장치들의 동작도 제어 함.
Register
성능이 월등하게 좋지만 용량이 너무 작아서 연산할 때만 사용하는 메모리
CPU
- 메모리로부터 명령어를 받아와 제어 신호를 생성
- 컴퓨터 명령어(기계어)를 해석하고 연산함
- 컴퓨터 기술을 이끄는 원동력
- 인간의 두뇌와 같은 역할
GPU
- 픽셀로 이루어진 영상을 처리하는 용도로 탄생
- 싱글코어는 CPU보다 저성능이지만 병렬적인 수천개의 코어가 연결되어 있음
- 인공지능 기술 발전의 선도주자
Memory
- 실질적으로 명령어(프로세스) 및 데이터를 저장해 두었다가 필요할 때 읽어들이는 저장소
- 레지스터의 용량이 너무 작아서 출시됨.
- EX) RAM, ROM, 캐시
- 데이터를 메모리에 입력하기 위한 컴퓨터의 외부 장치
- ex) 키보드, 마우스, 스캐너..
Output
- 메모리로부터 데이터를 읽어 컴퓨터에 처리된 결과를 출력해주는 컴퓨터의 외부 장치
- ex) 모니터, 프린터, 스피커..