컴퓨터 시스템 구성요소(하드웨어)
- CPU : 중앙처리장치(Central Processing Unit)라는 뜻이고 기억장치에 저장된 명령어들을 하나씩 가져와 명령어의 의미를 해석하고 데이터를 처리한다.
제어장치, 산술논리연상장치, 기억장치로 구성되어 있다.
- 제어장치 (control device)
- 내부에서 일어나는 작업을 통제하고 관리한다.
- 적절한 순서로 명령어 인출한다.
- 명령어를 해석한다.
- 제어신호를 전달한다.
- 산술논리연산장치 (ALU : arithmetic logic unit)
- 산술연산과 논리연산을 수행한다.
- 산술연산 : 덧셈, 뺄샘, 곱셈, 나눗셈 등의 사칙연산
- 논리연산 : 참과 거짓을 판결하는 연산(OR, AND, NOT, XOR)
- 기억장치
- 내부 기억장치와 외부 기억장치로 구분
- 내부 기억장치 : CPU내의 레지스터와 캐시기억장치, 주기억장치
- 외부 기억장치 : 보조기억장치, 하드디스크. 플로피 디스크. CD-ROM, DVD
- Memory : 프로그램과 데이터를 영구적으로 혹은 일시적으로 저장한다.
CPU와 온라인으로 연결되어 있어, CPU가 필요할 때 즉각 명령어와 데이터를 가져올 수 있다.
주기억장치와 보조기억장치로 구성되어 있다.
- 주기억장치(Main Memory)
- 컴퓨터 시스템에서 수행되는 프로그램과 수행에 필요한 데이터를 기억한다.
- CPU에 접근하는 속도가 빠르며 많은 양의 데이터를 기억한다.
- RAM을 사용한다.
- 보조기억장치 (secondary memory)
- 외부 기억장치라고도 한다.
- 반영구적으로 데이터를 저장한다.
- 보조기억장치에 저장된 데이터는 중앙처리장치와 직접 정보를 교환할 수 없기 때문에 주기억장치로 옮긴 후 처리한다.
- 주기억장치에 비해 저렴한다.
- 주기억장치에 저장 용량 크지만 속도가 느려진다.
- 속도가 빠른 중앙처리장치와 직접적인 데이터 교환이 불가능하다.
- 자기 테이프, 자기 디스트, 자기 드럼, 하드 디스트, 플로피 디스트, CD-ROM, DVD, 플래시 메모리, 광 디스크 등이 있다.
- 입력 장치 : 처리할 데이터와 정보를 외부에서 입력할 수 있도록 한다.
처리하고자 하는 데이터를 제어장치의 명령에 따라 입력매체에서 읽어서 기억장치로 보낸다.
마우스, 키보드, 스캐너, 조이스틱, 터치 스크린 등이 있다.
- 출력 장치 : 컴퓨터 내부에서 처리된 결과를 사용자가 보내거나 들을 수 있도록 출력매체를 이용하여 내보낸다.
모니터, 프린터, 스피커 등이 있다.
- 시스템 버스(System bus) : 컴퓨터의 각 구성요소 간 데이터, 신호를 전달하기 위한 데이터 전달 경로이다.
주소 버스, 데이터 버스, 제어 버스로 구성되어 있다.
- 주소 버스
- 기억 장치의 주소 또는 입출력 장치의 포트번호를 지정하고 전달한다.
- 데이터 버스
- 컴퓨터 구성 요소들 간에 데이터를 전달한다.
- 제어 신호
- 각 구성 요소간 제어 신호를 전달한다.
CPU 연산과 I/O 연산
- 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행하며 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다.
- 메모리 및 입출력장치 등의 각 하드웨어 장치에는 컨트롤러 라는 것이 붙어있다.
- 컨트롤러는 일종의 작은 CPU로서 컴퓨터 전체에 CPU라는 중앙처리장치가 있듯이 컨트롤러는 각 하드웨어 장치마다 존재하면서 이를 제어한다.
- 컴퓨터에서 연산을 한다는 것은 CPU가 무언가 일을 한다는 뜻 이며,
입출력 장치들의 I/O 연산은 입출력 컨트롤러가 담당하고 컴퓨터 내에서 수행되는 연산은 메인 CPU가 담당한다.
이때 입출력장치와 메인 CPU는 동시에 수행이 가능하다.
- 각 장치마다 이를 제어하기 위해 설치된 장치 컨트롤러는 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리를 가지고 있으며 이를 로컬 버퍼라고 한다.
- 디스크나 키보드 등에서 데이터를 읽어오는 경우, 우선 로컬버퍼에 데이터가 임시로 저장된 후 메모리에 전달되며 이 때 장치에서 로컬버퍼로 읽어오는 일을 컨트롤러가 담당한다. 이때, 로컬 버퍼로 읽어오는 작업이 끝났는지를 메인 CPU가 지속적으로 체크하는 것이 아니라 장치에 있는 컨트롤러가 인터럽터를 발생시켜 CPU에 보고하게 된다.
- 인터럽트란 컨트롤러들이 CPU의 서비스가 필요할 때 이를 통보하는 방법 을 말하며, 기본적으로 CPU는 매 시점 메모리에 대한 명령(instruction)을 하나씩 읽어와서 수행한다. 이때 CPU 옆에는 인터럽트 라인이 있어서, CPU가 자신의 작업을 하던 중간에 인터럽트 라인에 신호가 들어오면 하던 일을 멈추고 인터럽트와 관련된 일을 먼저 처리한다.
컴퓨터 시스템 구성요소(소프트웨어)
- 소프트웨어 : 명령의 집합으로 구성된 컴퓨터 프로그램 및 그와 관련된 문서를 총칭하는 개념이다.소프트웨어 품질은 컴퓨터 하드웨어의 사용 효율과 사용 환경을 결정한다.
- 시스템 소프트웨어(system software)
컴퓨터 하드웨어의 기능을 실행하기 위해 필수적인 작업(명령어 해석, 하드디스크에 데이터 저장, 주변장치와의 통신 등)을 하거나 응용 소프트웨어의 실행을 지원하는 소프트웨어이다.
- 운영체제(operating system) : 컴퓨터 자원을 관리하고 응용 프로그램의 실행 환경을 제공하는 소프트웨어이다.
- 장치 드라이버(device driver) : 컴퓨터에 온라인으로 연결된 주변 기기를 제어하는 운영체제 모듈이다.
- 컴파일러(compiler)와 인터프리터(interpreter) : 고급언어로 작성된 원시 프로그램을 컴퓨터가 이해하는 저급 언어로 변환하는 소프트웨어로서 일종의 번역기다.
- 링커(linker) : 다수로 분할하여 작성된 프로그램에 의해 생성된 목적 프로그램 또는 라이브러리 루틴을 결합하여 실행 가능한 하나의 프로그램으로 연결하는 소프트웨어이다.
- 로더(loader) : 디스크와 같은 저장장치에 보관된 프로그램을 읽어 메인 메모리에 적재한 후 실행 가능한 상태로 만드는 소프트웨어이다.
- 응용 소프트웨어(application software)
컴퓨터 시스템을 특정 분야에 사용하기 위해 제작된 소프트웨어다.
사무 자동화 프로그램,공학용 계산 프로그램,웹 브라우저,그래픽 프로그램 등이 있다.
🙇 참고 사이트 🙇
https://velog.io/@taeyeeya/CS-%EC%BB%B4%ED%93%A8%ED%84%B0-%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98-%EB%8F%99%EC%9E%91%EC%9B%90%EB%A6%AC https://m.blog.naver.com/qbxlvnf11/221336356254 https://asukim.tistory.com/7 https://dheldh77.tistory.com/entry/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98-%EA%B5%AC%EC%84%B1-%EC%9A%94%EC%86%8C