컴퓨터구조

[컴퓨터구조] 컴퓨터 시스템 구성요소

museong 2020. 10. 4. 13:42

컴퓨터 시스템

컴퓨터 시스템의 개념적 구성

  • 하드웨어 : 시스템을 구성하는 물리적 부품으로 이루어진 전자적 · 기계적 장치
  • 소프트웨어 : 하드웨어에 작업을 수행할 순서와 방법을 지시하는 명령어로 구성된 프로그램과 프로그램 수행에 필요한 절차, 규칙, 관련 문서 등을 총칭
  • 펌웨어 : 하드웨어를 제어하는데 필수적인 프로그램을 하드웨어로 만든 것, 하드웨어와 소프트웨어의 중간, ROM(read only memory)에 내장

 

컴퓨터 시스템의 4대 기능

  • 입력
  • 처리 : 입력된 정보를 CPU를 통해 산술연산 or 논리연산을 수행하여 data를 변화 or 가공
  • 저장(보관)
  • 출력

 

비트, 바이트, 워드

  • 비트(bit : binary digit) : 정보를 구성하는 최소단위로 0과 1의 두가지 상태만을 나타냄
  • 바이트(byte) : 연속적인 8개 비트의 조합, 정보 표현의 기본 단위
  • 워드(word) : 중앙처리장치에서 한번에 처리할 수 있는 비트의 집합

하나의 워드를 구성하는 비트의 개수는 컴퓨터마다 다르다.

냉장고 : 1byte = 1word

컴퓨터 : 64bit → 8byte = 1word

즉 상대적 이므로 CPU가 한번에 처리할 수 있는 Data의 Size = 1 word이므로 몇 바이트인지 항상 정해진것이 아니다.


컴퓨터 하드웨어

중앙처리장치(CPU : central processing unit) ≒ 마이크로프로세서(microprocessor)

  • CPU : 컴퓨터 시스템에 부착된 모든장치의 동작을 제어 & 명령을 실행하는 장치, 컴퓨터 시스템의 논리적 구성요소
  • 마이크로프로세서 : CPU를 집적회로(IC) 형태로 만든 물리적 구성요소

※ CPU의 구성

  • 제어장치(control unit) ≒ 명령어장치(instruction unit) : 메인 메모리로부터 적절한 순서로 명령어를 인출 및 해독하여 컴퓨터 시스템에 연결된 장치에 제어 신호를 보낸다. 모든 장치는 제어 장치가 보낸 제어 신호에 따라 주어진 명령어를 실행
  • 연산장치 ≒ 실행장치(execution unit) ≒ 산술논리장치(ALU : arithmetic & logic unit) : 제어 신호에 따라 명령어가 의도하는 대로 데이터를 실행하기 위해 CPU 내부에서 데이터를 처리하는 장치. 제어장치가 지시하는 순서에 따라 데이터에 대한 산술연산이나 논리연산을 수행.
  • 레지스터(register) : 데이터를 처리하는 동안 사용할 값이나 연산의 중간 결과를 일시적으로 기억하는 고속 기억장치
  • CPU 내부 버스 : CPU 내부 구성 요소를 연결하는 배선(wire)의 집합. 데이터 신호, 주소 신호, 제어 신호를 전송

 

기억장치 : 컴퓨터 시스템에 의해 처리될 프로그램과 데이터를 저장하기 위한 장치, 계층적 기억장치(hierarchical memory)로 구성하여 사용

  • 레지스터
  • 캐시메모리(SRAM) : 레지스터와 RAM 사이의 처리속도가 너무 차이가 나서 중간에 데이터를 잠깐 쥐고있을 애들이 필요한데 중간에 완충지대 역할을 해준다.
  • 메인메모리(DRAM) : 메모리, CPU에서 즉각적으로 수행할 프로그램과 필요한 데이터를 기억하기 위한 장치, CPU의 작업장 역할을 수행
  • 보조기억장치(저장장치) : 프로그램과 데이터를 저장하는 장치

주변장치 : CPU와 메인 메모리를 제외한 나머지 구성요소

  • 입력장치
  • 출력장치
  • 저장장치

 

기타 하드웨어

 

⊙ 버스(bus) : 컴퓨터 시스템을 구성하는 기능장치를 연결하는 배선의 집합. 컴퓨터 시스템 구성 요소는 이 버스를 통해 서로 각종 신호를 전달하고 교환한다.

 

※ 시스템버스(system bus)

  • 데이터버스(data bus) : CPU와 메인 메모리, 주변장치 사이에 데이터를 전송하는 배선의 집합. 배선의 수는 CPU가 한번에 전송할 수 있는 비트수를 결정하며, 이를 워드라고 한다.
  • 주소버스(address bus) : CPU가 시스템 구성요소를 식별하기 위한 주소정보를 전송하는 배선의 집합. 배선의 수는 CPU와 접속할 수 있는 최대 메모리의 용량을 결정한다.
  • 제어버스(control bus) : CPU가 시스템 구성요소의 동작을 제어하는데 사용되는 배선의 집합. 제어신호에 의해 연산장치의 연산 종류 및 메인 메모리의 읽기 · 쓰기 동작이 결정된다.

 

⊙ 메인보드(main board) : 기능장치 사이의 호환성이나 확장의 범위를 결정. 시스템 전반의 안정적인 동작여부를 좌우한다.


컴퓨터 소프트웨어

소프트웨어 : 명령의 집합으로 구성된 컴퓨터 프로그램 및 그와 관련된 문서를 총칭하는 개념. 소프트웨어 품질은 컴퓨터 하드웨어의 사용 효율과 사용 환경을 결정

 

시스템 소프트웨어(system software)

컴퓨터 하드웨어의 기능을 실행하기 위해 필수적인 작업(명령어 해석, 하드디스크에 데이터 저장, 주변장치와의 통신 등)을 하거나 응용 소프트웨어의 실행을 지원하는 소프트웨어

  • 운영체제(operating system) : 컴퓨터 자원을 관리하고 응용 프로그램의 실행 환경을 제공하는 소프트웨어
  • 장치 드라이버(device driver) : 컴퓨터에 온라인으로 연결된 주변 기기를 제어하는 운영체제 모듈
  • 컴파일러(compiler)와 인터프리터(interpreter) : 고급언어로 작성된 원시 프로그램을 컴퓨터가 이해하는 저급 언어로 변환하는 소프트웨어로서 일종의 번역기
  • 링커(linker) : 다수로 분할하여 작성된 프로그램에 의해 생성된 목적 프로그램 또는 라이브러리 루틴을 결합하여 실행 가능한 하나의 프로그램으로 연결하는 소프트웨어
  • 로더(loader) : 디스크와 같은 저장장치에 보관된 프로그램을 읽어 메인 메모리에 적재한 후 실행 가능한 상태로 만드는 소프트웨어

응용 소프트웨어(application software)

컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어. 앱, 어플