의견.png

하드웨어

해시넷
dlensk99 (토론 | 기여)님의 2021년 1월 19일 (화) 15:03 판
이동: 둘러보기, 검색

하드웨어(Hardware)는 컴퓨터 시스템이 작동하는 데 필요한 물리적 구성 요소이다. 반대되는 용어로 소프트웨어(Software)가 있다.[1] 하드웨어에는 중앙처리장치(CPU), 모니터, 자판, 컴퓨터 기억장치, 사운드 카드, 그래픽카드, 메인보드 등이 있다.[2]

개요

하드웨어는 연산, 기억, 입력, 출력, 제어의 다섯 가지 기능을 구현한다.[2] 그리고 하드웨어에는 중앙처리장치, 기억장치, 입출력장치로 구성되고, 각 장치는 시스템 버스로 연결되어 있다.[3]

중앙처리장치

Central Processing Unit의 약자로 CPU라고 한다. 중앙처리장치는 컴퓨터의 두뇌 역할을 한다. 중앙에서 사용자들이 입력한 명령어를 해석하고, 연산한 수 그 결과를 제어하는 역할을 한다.[4] 주기억장치에서 프로그램 명령어와 데이터를 읽어 처리하고 명령어의 수행순서를 제어한다. 비교와 연산을 담당하는 산술논리연산장치(ALU)와 명령어의 해석과 실행을 담당하는 제어장치, 그리고 속도가 빠른 데이터 기억장소인 레지스터로 구성된다.

산술논리연산장치

두 숫자의 산술연산과 논리연산을 계산하는 디지털 회로이다.[5] 산술연산에서는 덧셈과 뺄셈과 같은 사칙연산을, 논리연산에서는 AND, OR 또는 Shift와 같은 연산이 이루어진다.[6]

제어장치

주기억장치에 저장되어있는 프로그램의 명령어를 해석하고, 다른 장치들에게 명령의 의미에 따라 동작을 지시하여 실행할 수 있게 통제하고 관리한다.[7]

레지스터

용도에 따라 전용 레지스터와 범용 레지스터로 구분되고, 사용 용도에 따라 사용자 가시 레지스터(user-visible), 사용자 불가시 레지스터(user-invisible)로 구분할 수 있다. 저장하는 정보의 종류에 따라 데이터 레지스터, 주소 레지스터, 상태 레지스터로 나뉜다.[8]

사용자 가시 레지스터
  • 데이터 레지스터: 함수 연산에 필요한 데이터를 저장하고, 문자나 값 등을 저장하므로 산술연산이나 논리연산에 사용한다. 연산 결과로 플래그 값을 저장한다.
  • 주소 레지스터: 유효 주소를 계산하는데 필요한 주소 일부분을 저장한다.

기준 주소 레지스터는 프로그램을 실행할 때 사용하는 기준 주소값을 저장한다. 인덱스 레지스터는 유효 주소를 계산하는 데 사용하는 주소 정보를 저장한다. 스택 포인터 레지스터는 메모리에 프로세서 스택을 구현하는 데 사용한다. 보통 반환 주소나 프로세서 상태 정보, 서브루틴의 임시변수를 저장한다.[9]

사용자 불가시 레지스터
  • 프로그램 카운터(PC): 다음 실행할 명령어의 주소를 보관하는 레지스터이다. 실행할 명령어를 메모리에서 읽으면 명령어의 길이만큼 증가하여 다음 명령어를 가리킨다.
  • 명령어 레지스터(IR): 현재 실행하는 명령어를 보관하는 레지스터이다.
  • 누산기(ACC): 데이터를 일시적으로 저장하는 레지스터이다.
  • 메모리 주소 레지스터(MAR): 프로세서가 참조하려는 데이터의 주소를 명시하여 메모리에 접근하는 버퍼 레지스터이다.
  • 메모리 버퍼 레지스터(MBR): 프로세서가 메모리에서 읽거나 메모리에 저장할 데이터 자체를 보관하는 버퍼 레지스터이다. 메모리 데이터 레지스터(MDR)라고도 한다.[9]
그 외
  • 전용 레지스터: 범용적으로 사용될 수 있는 레지스터이다.
  • 범용 레지스터: 특수한 목적으로 사용하는 레지스터이다.
  • 상태 레지스터: 연산 결과의 상태를 알려주는 플래그 비트가 모인 레지스터이다.[8]

시스템 버스

하드웨어를 물리적으로 연결하여 데이터를 서로 주고 받을 수 있게 하는 통로이다. 컴퓨터 내부의 다양한 신호가 시스템 버스로 전달된다.

  • 데이터 버스: 프로세서와 메인 메모리, 주변 장치 사이에서 데이터를 전송한다. 데이터를 주고 받아야하므로 양방향 버스이다.
  • 주소 버스: 프로세서가 시스템의 구성 요소를 식별하는 주소 정보를 전송한다. 주소 버스를 구성하는 배선 수는 메모리 최대 용량을 결정한다. 주소를 전달만 하므로 단방향 버스이다.
  • 제어 버스: 프로세서가 시스템의 구성 요소를 제어하는데 사용된다. 제어 신호로 메인 메모리의 읽기나 쓰기 동작을 결정한다. 읽기와 쓰기동작을 모두 수행하므로 양방향 버스이다.[8][10]

기억 장치

프로그램, 데이터, 연산의 중간 결과 등을 저장하는 장치로, 주기억장치와 보조기억장치로 나누어진다. 램(RAM)과 롬(ROM)도 여기서 나온다.[3]

메인 메모리

주기억장치로, 중앙처리장치(CPU) 외부에 있다. 전원이 꺼지면 데이터가 날아가는 휘발성 메모리이지만 데이터 처리 속도가 빠르다. 중앙처리장치에서 즉각적으로 수행할 프로그램과 데이터를 저장하거나 처리한 결과를 메인 메모리에 저장한다. 입출력장치도 메인 메모리에 데이터를 받거나 저장한다. 메인 메모리는 다수의 셀로 구성되며, 각 셀은 비트로 구성된다. 메인 메모리는 프로세서와 보조기억장치 사이에 있고, 디스크 입출력 병목현상을 해결하는 역할을 한다.[8][11]

보조 기억장치

하드디스크로, 불필요한 프로그램이지만 저장되어야 할 것들을 저장한다. 예전의 씨디(CD)나 디비디(DVD), 플로피디스크 등의 장치들이다. 전원이 꺼져도 데이터가 날아가지 않는 비휘발성 메모리로 반영구적으로 데이터를 보관할 수 있다. 하지만 데이터 처리 속도가 느리다.[11]

캐시 메모리

중앙처리장치의 내부 또는 외부에 있다. 처리 속도가 빠른 프로세서와 상대적으로 느린 메인 메모리의 속도 차이를 보완하고 데이터를 메인 메모리에서 블록 단위로 가져와 프로세서에 워드 단위로 전달하여 속도를 높인다.[8] 메모리 중에서 중앙처리장치와 가장 가깝기 때문에 가장 빠르다.

  • 동작 원리: 중앙처리장치가 필요한 데이터를 메인메모리에서 찾기 전에 캐시에서 먼저 찾는다. 캐시의 성능은 중앙처리장치가 찾으려는 내용이 많을수록 좋다.
  • 지역성: 데이터 접근이 시간적, 공간적으로 가깝게 일어나는 것으로 시간적 지역성은 특정데이터가 한 번 접근될 때, 가까운 미래에 또 접근할 가능성이 높은 것을 뜻하고, 공간적 지역성은 특정 데이터와 가까운 주소가 순서대로 접근될 때, 그 근처에서 접근할 가능성이 높은 것을 뜻한다.[11]

주변 장치

프로세서와 메인 메모리를 제외한 나머지 하드웨어의 구성요소이다.

  • 입력장치: 컴퓨터에서 처리할 데이터를 외부에서 입력하는 장치이다. 대표적인 예로는 키보드, 마우스, 스캐너, 마이크 등이 있다.
  • 출력장치: 입력장치에 의해 입력된 자료를 처리장치에 의해 나온 결과를 화면이나 프린터로 출력하게 해주는 장치로, 대표적인 예로는 모니터, 스피커, 프린터, 그래픽 카드 등이 있다.
  • 저장장치: 메인 메모리와 달리 거의 영구적으로 데이터를 저장하는 장치이다.[7][9]



각주

  1. 크루셜 공식 홈페이지 – https://www.crucial.kr/articles/pc-builders/what-is-computer-hardware
  2. 2.0 2.1 컴퓨터 하드웨어〉, 《위키백과》
  3. 3.0 3.1 컴퓨터의 구조를 설명해줄게!〉, 《티스토리》, 2016-06-08
  4. 라임, 〈CPU란?/CPU 종류/CPU 고르기/중앙처리장치/인텔 CPU 고르기〉, 《메이크셰어》, 2017-01-09
  5. 산술 논리 장치〉, 《위키백과》
  6. 시스템 프로그래밍: 하드웨어 구성(Hardware Configuration)〉, 《윈도우즈》, 2013-01-14
  7. 7.0 7.1 야무야무, 〈컴퓨터의 5대장치〉, 《네이버 블로그》, 2015-03-01
  8. 8.0 8.1 8.2 8.3 8.4 Jang Wonit, 〈(운영체제)1. 컴퓨터 하드웨어의 구성〉, 《티스토리》, 2019-12-07
  9. 9.0 9.1 9.2 운영체제-컴퓨터 하드웨어의 구성(CPU, RAM등)〉, 《티스토리》, 2019-07-22
  10. fldfls, 〈시스템 버스(System Bus)〉, 《rin13.log》, 2020-05-01
  11. 11.0 11.1 11.2 (하드웨어기초) CPU와 메모리〉, 《티스토리》, 2020-04-15

참고자료

같이 보기

  의견.png 이 하드웨어 문서는 하드웨어에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.