CS50 - Hardware

2020. 10. 03

Hardware

컴퓨터를 물리적으로 구성하는 요소이며, 컴퓨터에 연결되어 추가적인 기능을 수행합니다. 하드웨어에는 다양한 형태와 구성 요소가 있습니다.

hardware

1. 하드웨어에서의 데이터 흐름

컴퓨터의 하드웨어는 크게 중앙처리장치, 기억장치, 입출력장치 로 구성됩니다.

1) 중앙처리장치(Central Processing Unit, CPU)

중앙처리장치 는 프로세서라고 불리기도 하는데, 입력장치에서 받은 명령을 실제로 처리합니다. CPU가 1초에 얼마나 많은 연산을 할 수 있는지 속도를 측정하는 단위는 기가헤르츠(GHz) 입니다.

중앙처리장치는 다양한 입력 장치로부터 자료를 받아서 처리한 후 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 저장하는 일을 수행합니다.

이 때, 프로그램 명령어를 실행하는 일을 담당하는 중앙처리장치는 제어장치, 연산장치, 레지스터 이 세 부분으로 구성됩니다.

[1] 제어 장치(Control Unit, CU)

레지스터 사이의 데이터 전송을 감시하고 ALU(연산 장치)의 동작을 지시하는 장치입니다. 전체 컴퓨터 시스템의 작동을 통제 지시하는 장치로 적절한 순서로 명령을 꺼내고, 각 명령을 해석하여 그 해석에 따라 산술논리 연산 장치나 기타 부분으로 적절한 신호를 보내는 장치입니다. 또한, 기억 장치에 축적되어 있는 일련의 프로그램 명령을 순차적으로 꺼내 이것을 분석 해독하여 각 장치에 필요한 지령 신호를 주고, 장치간의 정보 조작을 제어하는 역할을 수행합니다.

제어장치의 내부 구성 장치

  • 프로그램 카운터 (Program Counter) : 다음에 수행할 명령어의 번지를 기억하는 레지스터
  • 명령 해독기 (Instruction Decoder) : 수행해야 할 명령어를 해석하여 부호기로 전달하는 회로
  • 부호기 (Encoder) : 명령 해독기에서 전송된 명령어를 제어 필요한 신호로 변환하는 회로
  • 명령 레지스터 (Instruction Register, IR) : 현재 수행 중인 명령어를 기억하는 레지스터
  • 번지 해독기 (Address Decoder) : 명령 레지스터로부터 보내온 번지(주소)를 해석하는 회로
  • 번지 레지스터 (Memory Address Register, MAR) : 주소를 기억하는 레지스터
  • 기억 레지스터 (Memory Buffer Register, MBR) : 내용(자료)를 기억하는 레지스터
[2] 연산 장치(Arithmetic Logic Unit, ALU)

명령어를 실행하기 위한 마이크로 연산을 수행하는 장치로써, 연산에 필요한 자료를 입력받아 산술, 논리, 관계, 이동 연산 등 다양한 실제적 연산을 수행하는 장치입니다.

연산장치의 내부 구성 장치

  • 가산기(Adder): 2진수 덧셈을 계산하는 회로
  • 보수기(Complementer) : 뺄셈을 수행하기 위해 입력된 값을 보수로 변환하는 회로
  • 누산기(Accumulator) : 중간 연산 결과를 일시적으로 기억하는 레지스터
  • 데이터 레지스터 (Data Register) : 연산한 데이터를 기억하는 레지스터
  • 프로그램 상태 워드 (Program Status Word, PSW) : 명령어 실행 중에 발생하는 CPU의 상태 정보를 저장하는 상태 레지스터 (Status Register)
  • 인덱스 레지스터 (Index Register) : 유효 번지를 상대적으로 계산할 때 사용하는 레지스터
  • 베이스 레지스터 (Base Register) : 유효 번지를 절대적으로 계산할 때 사용하는 레지스터
[3] 레지스터(Register)

한 비트를 저장할 수 있는 플립플롭의 모임으로, 중앙 처리 장치 내에 있는 소규모의 임시 기억 장소. 레지스터의 크기는 워드 크기 및 메모리 용량과 관계가 있으며, 레지스터는 메모리 중에서 가장 속도가 빠릅니다. CPU에서는 CPU 내부 버스가 연산장치와 레지스터를 연결해 줍니다.

2) 기억장치

입력된 명령이나 데이터가 저장되는 공간으로, 주기억장치와 보조기억장치로 나누어집니다. 주기억장치에는 RAM이 있습니다. Random Access Memory의 약자로, 기억된 정보를 일겅내기도 하고 다른 정보를 기억시킬 수 있는 메모리로서 응용 프로그램을 일시적으로 불러오거나, 데이터를 일시적으로 저장하는데 사용됩니다. 주기억장치인 RAM이 일시적으로 데이터를 저장하는 것과 달리, 하드드라이브는 영구적으로 데이터를 저장합니다. 이외에 SSD(Solid State Drive)는 하드디스크와 달리 움직이는 부품 없이 더 빠른 속도로 데이터를 읽고 쓰게 됩니다.

3) 입출력장치

입력장치와 출력장치를 의미합니다. 대표적으로 마우스, 키보드, 모니터, 스캐너등이 있습니다. 사용자가 입력한 자료를 컴퓨터가 이해할 수 있는 형태로 변환하는 장치가 입력장치입니다.

참고 자료

edwith-cs50
양햄찌가 만드는 세상


© 2024 Doe의 devlog, Built with Vapor blog Theme Gatsby