1. 컴퓨터 추상화 및 관련 기술
컴퓨터 혁명 - Underpinned by Moore’s law
컴퓨터의 종류 - 개인용 pc(personal computer), 서버 (server), 임베디드 컴퓨터
성능에 미치는 영향
- 알고리즘 -> 소스 프로그램 문장 수와 입출력 작업 수를 결정
- 프로그래밍 언어 컴파일러, 컴퓨터 구조 -> 각 소스 프로그램 문장에 해당하는 기계어 명령어 수 결정
- 프로세서와 메모리시스템 -> 명령어 실행속도 결정
- 입출력 시스템(하드웨어 및 운영체제) -> 입출력 작업의 실행 속도 결정
1.2 컴퓨터 구조 분야의 8가지 위대한 아이디어
- Moore의 법칙을 고려한 설계 (2년 마다 칩에 집적되는 소자의 수 2배)
- 설계를 단순화하는 추상화
- 자주 생기는 일을 빠르게 (Make the Common Case Fast)
- 병렬성을 통한 성능 개선
- 파이프라이닝을 통한 성능 개선 (파이프라이닝 : 병렬성의 특별한 형태)
- 예측을 통한 성능 개선
- 메모리 계층 구조
- 여유분을 이용한 신용도 개선
1.3 프로그램 밑의 세계
- 응용 프로그램
- 시스템 소프트웨어 (운영체제-기본 입출력 작업, 보조기억장치 및 메모리 할당, 컴퓨터 공유 방법, 컴파일러)
- 하드웨어 (instruction : 명령어, 명령어와 데이터를 숫자로 표현하는 것이 컴퓨터의 기초)
Binary machine Language - 기계어 어셈블리어 고급언어 - ①가독성 ②생산성 ③호환성
1.4 컴퓨터의 고전적 구성 요소 다섯가지
-> 입력, 출력, 메모리, 프로세서(데이터 패스, 제어유닛)
프로세서 : 프로그램의 지시대로 일을 하는 부분, 보드 내에서 가장 역동적
- CPU라고도 부름 (Central processor unit)
- 데이터 패스 : 연산을 수행
- 제어유닛 : 명령어가 뜻하는 바에 따라 데이터패스, 메모리, 입출력 장치가 한 일을 지시
메모리 : 실행 중인 프로그램과 프로그램 실행에 필요한 데이터의 저장소
**DRAM **- 집적회로로 만든 메모리의 일종. DRAM 여러 개를 한데 묶어서 프로그램의 명령어와 데이터를 기억하는데 사용
캐시메모리 - DRAM의 버퍼 역할을 하는 자고 빠른 메모리, SRAM을 사용(DRAM보다 빠르지만 집적도가 낮아 가격이 비쌈)
여러 계층의 추상화 중에서 가장 중요한 것은 하드웨어와 하위 계층 소프트웨어 간의 인터페이스인 명령어 집합 구조
휘발성 메모리 DRAM - 전원이 공급되는 동안만 데이터를 기억하는 장치 비휘발성 메모리 - 전원 공급이 끊어져도 데이터를 계속 기억하는 기억장치 메인 메모리 - 1차 메모리라고도 함. 실행 중인 프로그램을 저장하는 휘발성 메모리 ex) DRAM 보조기억장치 - 실행중이 아닌 프로그램과 데이터를 저장하는 비휘발성 메모리 - 오늘 날 컴퓨터 대개 자기디스크를 씀 자기디스크 - 하드디스크라고도 함. 자성기록 매체가 코팅된 회전원반으로 구성된 비휘발성 메모리 플래시 메모리 - 비휘발성 반도체 메모리, DRAM 보다 싸지만 느리고, 자기디스크보다는 비싸고 빠르다
컴퓨터 간의 통신 - 통신 / 자원 공유 / 원격 접근 이더넷 - 근거리 네트워크 (LAN)의 일종 원거리 네트워크 (WAN) : 여러 대륙들을 연결하여 웹을 지원하고 있는 인터넷의 근간. 보통 광섬유로 구성. 통신회사에서 임대
참고자료
컴퓨터 구조 및 설계 지음 DAVID A.PATTERSON, JOHN L>HENNESSY