컴퓨터의 구성 요소
- 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다.
- 하드웨어 : 컴퓨터를 구성하는 기계장치 (물리적 장치)
- 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합
- 하드웨어와 소프트웨어가 함께 상호작용을 하며 원하는 일을 수행하게 된다.
- 컴퓨터는 기본적으로 읽고 처리한 뒤 저장하는 과정으로 이루어진다
- READ → PROCESS → WRITE
- 이 과정을 진행하면서 끊임없이 주기억장치(RAM)과 소통한다
- 이때 운영체제가 64bit라면, CPU는 RAM으로부터 데이터를 한번에 64비트씩 읽어온다.
하드웨어
메인 보드(Main Board)
- 마더 보드(Mather Board)라고도 불리며 주회로가 내장된 보드
- CPU나 RAM과 같이 시스템이 작동하기 위한 주요 부품 장착과 주변 장치를 연결할 수 있는 인터페이스를 제공하는 인쇄회로기판을 의미
- 컴퓨터 전원 공급 장치로부터 전기를 받아 CPU, 메인 메모리에 전력을 보내는 전원 커넥터 및 회로를 포함
전원 공급 장치(Power Supply)
- 파워라고도 불리며 구동에 필요한 전력을 공급해주는 전기 장치
- 외부에서 들어오는 교류 전압을 직류로 변환해 각각의 시스템에 맞게 전원을 공급하는 역할
중앙 처리 장치(CPU)
- 인간으로 따지면 두뇌에 해당하는 부분
- 명령어의 해석과 자료의 연산, 비교등의 처리를 제어하는 컴퓨터 시스템의 핵심 장치
- 다양한 입력 장치로부터 명령을 받아 처리한 후, 그 결과를 출력 장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행
- 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고, 명령어의 수행 순서를 제어함
- 중앙 처리 장치는 다음과 같이 구성되어 있다.
- 비교와 연산을 담당하는 산술 논리 연산 장치(ALU)
- 명령어의 해석과 실행을 담당하는 제어장치
- 속도가 빠른 데이터 기억 장소인 레지스터
- 개인용 컴퓨터와 같은 소형 컴퓨터에서는 CPU를 마이크로프로세서라고도 부름
주기억장치(Primary Storage - Computer Memory)
- 컴퓨터 내부에서 현재 CPU가 처리하고 있는 내용을 저장하고 있는 기억 장치
- 프로그램, 데이터, 연산의 중간 결과를 저장
- 주기억장치와 보조기억장치로 나누어지며, RAM과 ROM도 이곳에 해당함.
- 실행중인 프로그램과 같은 프로그램에 필요한 데이터를 일시적으로 저장
ROM(Read Only Memory)
- 전원이 끊어져도 기록된 데이터들이 소멸되지 않는 비휘발성 메모리
- 저장된 데이터를 읽기만 가능한 장치
- 시스템에 기억시키고 변화시키면 안 되는 BIOS와 같은 주요 데이터가 저장됨
RAM(Random Access Memory)
- 읽고 쓰기가 가능한 메모리
- 응용 프로그램, 운영체제 등을 불러와 CPU가 작업할 수 있도록 하는 기억장치
- 임의 접근이 가능한 메모리
- 전원을 끄면 데이터가 사라지는 휘발성 메모리
- 읽고 쓰는 속도가 빨라 휘발성임에도 사용
보조기억장치(Secondary Memory)
- 물리적인 디스크가 연결되어 있는 기억장치
- 주기억장치에 비해 속도는 느리지만 많은 자료를 영구적으로 보관할 수 있는 장점이 있다.
- 대표적인 보조기억장치는 HDD와 SSD가 있음
HDD(Hard Disk Driver)
- 물리적인 디스크를 고속으로 회전시켜 데이터를 저장하는 장치
- 충격에 약하며 소음이 다소 발생함
- SSD가 나오면서 최근에 많이 소멸되는 추세
SDD(Soild State Driver)
- 우리가 흔히 쓰는 USB가 발전한 형태
- 물리적으로 회전하거나 움직이는 요소가 없음
- 전기적으로 데이터를 저장
- 가격이 비싸지만 속도가 HDD에 비해 훨씬 빠름
입출력 장치
- 입력과 출력 장치로 나누어짐
- 입력 장치는 컴퓨터 내부로 자료를 입력하는 장치
- 키보드, 마우스 등
- 출력 장치는 컴퓨터에서 외부로 표현하는 장치
- 프린터, 모니터, 스피커
시스템 버스(System Bus)
- 하드웨어 구성 요소를 물리적으로 연결하는 선
- 각 구성요소가 다른 구성 요소로 데이터를 보낼 수 있도록 통로가 되어줌
- 용도에 따라 데이터 버스, 주소 버스, 제어 버스로 나누어짐
데이터 버스
- 중앙처리장치와 기타 장치 사이에서 데이터를 전달하는 통로
- 기억장치와 입출력장치의 명령어와 데이터를 중앙처리장치로 보내거나, 중앙처리장치의 연산 결과를 기억장치와 입출력장치로 보내는 양방향 버스임
주소 버스
- 데이터를 정확히 실어나르기 위해서는 기억장치 주소를 정해주어야 함
- 주소버스는 중앙처리장치가 주기억장치나 입출력장치로 기억장치 주소를 전달하는 통로이기 때문에 단방향 버스이다
제어 버스
- 주소 버스와 데이터 버스는 모든 장치에 공유되기 때문에 이를 제어할 수단이 필요
- 제어 버스는 중앙처리장치가 기억장치나 입출력장치에 제어 신호를 전달하는 통로
- 제어 신호 종류
- 기억장치 읽기 및 쓰기, 버스 요청 및 승인, 인터럽트 요청 및 승인, 클락, 리셋 등
- 제어 버스는 읽기 동작과 쓰기 동작을 모두 수행하기 때문에 양방향 버스임
소프트웨어
- 시스템 소프트웨어
- 운영체제, 컴파일러
- 응용 소프트웨어
- 워드프로세서, 스프레드시트
출처
https://velog.io/@2seunghye/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%EC%9E%91%EB%8F%99%EC%9B%90%EB%A6%AC
https://github.com/gyoogle/tech-interview-for-developer/tree/master
'CS > Computer Architecture' 카테고리의 다른 글
[Computer Architecture] 패리티 비트와 해밍 코드 (0) | 2024.03.26 |
---|---|
[Computer Architecture] 캐시 메모리(Cache Memory) (0) | 2024.03.24 |
[Computer Architecture] 중앙처리장치(CPU) 작동 원리 (0) | 2024.03.24 |
[Computer Architecture]소수점 (0) | 2023.10.11 |