컴퓨터 시스템
- 하드웨어 + 소프트웨어
- 펌웨어
4대 기능
- 입력
- 처리
- 저장 혹은 보관
- 출력
구성
- 필수장치
- 중앙처리장치: 명령어를 해석하여 실행하는 장치, 컴퓨터의 두뇌
- 메인 메모리: 작업에 필요한 프로그램과 데이터를 저장하는 장소, 바이트 단위로 분할되어 있으며 분할 공간마다 주소로 구분
- 주변장치
- 입력장치: 외부의 데이터를 컴퓨터에 입력하는 장치
- 출력장치: 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치
- 저장장치
하드웨어 사양 관련 용어
- 클록(clock): CPU의 속도와 관련된 단위, 클록이 일정 간격으로 틱을 만들면 이에 맞추어 CPU 안의 모든 구성 부품이 작업
- 헤르츠(Hz): 틱이 발생하는 속도를 나타내는 단위(초당 틱)
- 비트: 정보를 구성하는 최소 단위
- 바이트: 정보 표현의 기본 단위
- 워드: CPU에서 한 번에 처리할 수 있는 비트의 집합, 입력되는 워드 단위 정보를 제어장치는 명령어로 해석
하드웨어
CPU
- 컴퓨터 시스템의 모든 장치의 동작을 제어하고 명령을 실행하는 장치
- 마이크로프로세서는 CPU를 직접회로 형태로 만든 물리적 구성 요소
- CPU와 마이크로프로세서를 일반적으로 구분 없이 사용
- 제어장치 + 연산장치 + 레지스터 + CPU 내부버스
CPU 내부 버스
- 제어 버스
- 제어장치와 연결된 버스로, CPU가 메모리와 주변 장치에 제어 신호를 보내기 위해 사용
- 메모리와 주변장치에서도 작업이 완료되거나 오류가 발생하면 제어 신호를 보내기 때문에 양방향
- 주소 버스
- 메모리 주소 레지스터와 연결된 버스로, 메모리나 주변장치에 데이터를 읽거나 쓸 때 위치 정보를 보내기 위해 사용(단방향)
- 데이터 버스
- 메모리 버퍼 레지스터와 연결된 버스로, 데이터의 이동이 양방향으로 이루어짐
메인보드
- CPU의 메모리 등 다양한 부품을 연결하는 커다란 판
- 다양한 장치들을 버스로 연결
- 버스: 데이터가 지나다니는 통로
- 그래픽 카드, 사운드 카드, 랜 카드 등이 기본으로 장착되어 있기도 하고, 성능을 향상하기 위해 따로 장착하기도 함
메모리
- RAM
- 휘발성
- DRAM: 저장된 0과 1의 데이터가 일정 시간이 지나면 사라지므로 일정 시간마다 다시 재생 필요
- SRAM: 전력이 공급된느 동안에는 데이터를 보관할 수 있어 재생할 필요가 없음
- SDRAM: 펄스(틱)가 발생할 때마다 데이터를 저장하는 동기(Synchronous) DRAM
- 비휘발성
- 플래시 메모리: 전력이 없어도 데이터를 보관하는 저장장치
- FRAM
- PRAM
- 휘발성
- ROM
- Mask ROM
- PROM
- EPROM
- EEPROM
메모리 보호의 필요성
- 현대의 운영체제는 시분할 기법을 사용하여 여러 프로그램을 동시에 실행하므로 사용자 영역이 여러 개의 작업 공간으로 나뉘어 있음
- 메모리가 보호되지 않으면 어떤 작업이 다른 작업의 영역을 침범하여 프로그램을 파괴하거나 데이터를 지울 수도 있음
- 최악의 경우 운영체제 영역을 침범하면 시스템이 멈출 수도 있음
메모리 보호 방법
- 작업의 메모리 시작 주소를 경계 레지스터에 저장 후 작업
- 작업이 차지하고 있는 메모리의 크기, 즉 마지막 주소까지의 차이를 한계 레지스터에 저장
- 사용자의 작업이 진행되는 동안 이 두 레지스터의 주소 범위를 벗어나는지 하드웨어적으로 점검
- 두 레지스터의 값을 벗어나면 메모리 오류와 관련된 인터럽트 발생
- 메모리 영역을 벗어나서 발생한 인터럽트의 경우 운영체제가 해당 프로그램을 강제 종료
버퍼
- 속도에 차이가 있는 두 장치 사이에서 그 차이를 완화하는 역할을 하는 장치
- 일정량의 데이터를 모아 옮김으로써 속도의 차이를 완화시킴
- 스풀: CPU와 입출력장치가 독립적으로 동작하도록 고안된 소프트웨어적인 버퍼
캐시
- 메모리와 CPU 간의 속도 차이를 완화하기 위해 메모리의 데이터를 미리 가져와 저장해두는 임시 장소
- 필요한 데이터를 모아 한꺼번에 전달하는 버퍼의 일종으로 CPU가 앞으로 사용할 것으로 예상되는 데이터를 미리 가져다 놓음
- CPU는 메모리에 접근해야 할 때 캐시를 먼저 방문하여 원하는 데이터가 있는지 찾아봄
폰 노이만 구조
- CPU·메모리·입출력장치·저장장치가 버스로 연결되어 있는 구조
기억장치
[용량] 저 ↓ 고 |
레지스터 | [속도] 고 ↑ 저 |
캐시 메모리 (SRAM) | ||
메인 메모리 (DRAM) | ||
보조 기억장치 (HDD, 광디스크 등) |
저장장치의 계층 구조
- 속도가 빠르고 값이 비싼 저장장치를 CPU 가까운 쪽에 두고, 값이 싸고 용량이 큰 저장장치를 반대쪽에 배치
- 적당한 가격으로 빠른 속도와 큰 용량을 동시에 얻는 방법
- CPU와 가까운 쪽에 레지스터나 캐시를 배치하여 CPU가 작업을 빨리 진행할 수 있음
- 메모리에서 작업한 내용을 하드디스크와 같이 저렴하고 용량이 큰 저장장치에 영구적으로 저장할 수 있음
소프트웨어
- 명령의 집합으로 구성된 컴퓨터 프로그램 및 그와 관련된 문서를 총칭하는 개념
- 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 나눔
시스템 소프트웨어
- 컴퓨터 하드웨어 기능 실행을 위해 필수적인 작업을 하거나 응용 소프트웨어의 실행을 지원하는 소프트웨어
- 운영체제: 컴퓨터 자원을 관리하고 응용 프로그램의 실행 환경을 제공하는 소프트웨어
- 디바이스 드라이버: 컴퓨터에 온라인으로 연결된 주변 기기를 제어하는 운영체제 모듈
- 컴파일러 & 인터프리터: 고급언어로 작성된 원시 프로그램을 컴퓨터가 이해하는 저급언어로 변환하는 소프트웨어로서 일종의 번역기
- 링커: 다수로 분할하여 작성된 프로그램에 의해 생성된 목적 프로그램 또는 라이브러리 루틴을 결합하여 실행 가능한 하나의 프로그램으로 연결하는 소프트웨어
- 로더: 디스크와 같은 저장장치에 보관된 프로그램을 읽어 메인 메모리에 적재한 후 실행 가능한 상태로 만드는 소프트웨어
응용 소프트웨어
- 컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어
- 사무용, 그래픽용, 게임용, 통신 및 네트워크용 등
운영체제
- 하드웨어 자원을 효율적으로 관리
- 사용자의 편의성 제공
- 응용 프로그램의 공통된 서비스를 제공하는 소프트웨어 모음
- 부팅: 컴퓨터를 켰을 때 운영체제를 메모리에 올리는 과정
컴퓨터의 분류
- 사용 목적에 의한 분류
- 전용 컴퓨터
- 범용 컴퓨터
- 응용 분야에 의한 분류
- 데스크톱
- 서버
- 임베디드