최종 수정 : 24.12.26
컴퓨터의 기본구조
컴퓨터시스템은 크게 하드웨어(hardware)와 소프트웨어(software)로 구성된다. 하드웨어는 기계적인 장치이고 소프트웨어는 프로그램이다.
핵심적 하드웨어로는 중앙처리장치가 있고 그 외에 주변장치인 메모리장치, 입력장치, 출력장치가 있다. 이 장치들은 시스템버스에 연결되어 있다. 소프트웨어는 하드웨어장치를 제어하며 시스템 프로그램과 응용 프로그램이 있다.
1. 구성요소
중앙처리장치(CPU ; Central Processing Unit)
- 연산장치(arithmatic & logic unit) : 사칙연산이나 논리연산을 담당
- 레지스터(register) : CPU 내의 기억장치
- 제어장치(control unit) : 프로그램을 처리하는 가장 중심적인 장치
보통 CPU를 공부한다는 것은 제어장치를 배운다고 생각하면 된다.
메모리장치(memory unit)
명령어와 데이터 등을 저장하며 크게 주기억장치와 보조기억장치로 구분된다.
- 주기억장치
☞ CPU가 직접 액세스하는 장치이며, 대표적으로는 RAM, ROM 등이 있으며 수행해야 할 프로그램과 데이터를 저장한다. - 보조기억장치
☞ 주기억장치의 보조장치로 메모리의 용량이 제한된 주기억장치의 용량을 확장시켜주는 장치이며, 하드디스크(hard disk), 시디-롬(CD-Rom), DVD 등이 있다.
입력장치(input unit)
사용자가 입력하는 신호를 컴퓨터가 알 수 있는 언어로 바꿔주는 장치이이며, 키보드, 마우스, 센서, 스캐너, 마이크, 터치스크린, 생체인식기 등이 있다.
출력장치(output unit)
CPU에서 처리된 결과(신호)를 사용자가 알 수 있는 언어로 변화하는 장치이며, 모니터, 프린터, 스피커 등이 있다.
소프트웨어의 종류
소프트웨어란 컴퓨터 하드웨어장치를 원하는 데오 움직이게 하기 위해서 지시하고 통제하기 위해 사용하는 프로그램을 말한다. 프로그램은 명령어들의 집합이다.
1) 시스템 소프트웨어
컴퓨터를 작동시키고, 효율적으로 사용하기 위한 프로그램이며, 컴퓨터를 보다 편리하게 이용할 수 있도록 도와준다. 즉, 하드웨어의 구조나 특성을 몰라도 시스템 소프트웨어의 사용방법만 알면 컴퓨터를 이용할 수 있다.
- 운영체제
☞ 하드웨어와 소프트웨어의 자원을 효율적으로 운영하고 관리하며, 컴퓨터와 사용자 간에 중계 역할을 한다. 대표적인 운영체제(OS ; Operating System)로는 윈도우(window), 리눅스(linux), 윈도우-NT(Window-NT), 도스(DOS ; Disk Operating System) 등이 있다. 하는 일은 장치를 진단하고 작업을 준비하며, 자료를 입력하고 출력한다. 또 정보를 읽고 보존하고 프로그램을 관리 * 실행하며 사용자의 명령을 실행한다. - 언어번역 프로그램
☞ 컴퓨터가 이해할 수 있는 언어(기계어)로 번역해주는 프로그램이다. C언어를 기계어로 변환시키는 컴파일러(compiler), 어셈블리언어를 변환해주는 어셈블러(assembler), HTML 등을 변환하는 인터프리터(interfreter) 등이 있다. - 유틸리티 프로그램
☞ 컴퓨터를 편리하게 사용할 수 있도록 도와주는 시스템 소프트웨어로서, 운영체제의 기능을 보완해준다.
2) 응용 프로그램
어떤 목적을 달성하기 위해서 만들어진 프로그램이다. 대부분은 소프트웨어 업체에서 여러 가지 일을 효율적으로 처리할 수 있는 프로그램들을 미리 만들어 제공하며, 사용자는 목적에 맞는 것을 것을 골라 사용한다.
- 오피스 제품군(워드프로세서, 스프레드시트, 데이터베이스, 문서관리, 텍스트 편집기)
- 멀티미디어(미디어 재생기, 그래픽 프로그램)
- 컴퓨터 통신
프로그래밍 언어(programming language)
- 저급언어(low level language)
☞ 기계어(machine language)와 가장 근접한 프로그래밍 언어이다. 어셈블리어(assembly language)가 대표적이며, 이를 사용하기 위해서는 사용하고 있는 CPU의 체계적인 지식이 필요하며 CPU마다 고유의 어셈블리 언어체계를 가지고 있으므로 언어의 호환성이 없다. 또한 기계어로 번역하기 위해서는 어셈블러가 필요하다. - 중급언어(middle level language)
☞ 쉽게 프로그램이 가능하고 처리속도도 빠르며 프로그램 양도 저급언어와 비슷한 수준을 가지는 대표적인 언어로는 C언어가 있다. 고급언어에 분류하기도 하지만 대부분 중급언어로 따로 분류한다. - 고급언어(high level language)
☞ 프로그램을 작성하기 쉬운 언이이다. 이식성과 호환성이 뛰어나고 컴퓨터의 생산성을 크게 향상시키는 언어이다. 컴파일러와 인터프리터를 통해 기계언어로 번역한다. 저급언어에 비해서 번역된 기계어의 양이 많아지고, 처리속도가 저급언어에 비해서 떨어지는 단점이 있다. 베이식(basic), 파스칼(pascal), 코볼(cobol) 등이 있다.
2. 폰노이만(John Von Neumann) 모델
폰노이만 모델은 메모리, 제어장치, 산술논리연산정치, 입/출력기로 구성되어 있으며, 기억장치에 프로그램과 데이터를 넣고 순서대로 처리하는 방식을 뜻한다. 오늘날 대부분의 컴퓨터는 폰노이만 모델을 따르며, 이것은 프로그램을 내장한 컴퓨터이다.
3. 시스템버스(system bus) 모델
CPU, 기억장치, I/O 장치들을 상호 연결해주는 중심 통로를 시스템버스라 하며, 이는 주소를 지정하는 단방향 어드레스 버스, 지정한 주소에서 데이터를 읽고 쓰는 양방향 데이터버스, 제어 신호(R/W 신호)를 주고받는 양방향 제어버스로 연결되어 있다.
참고
독학사 교재
'CS 공부 > 컴퓨터 구조' 카테고리의 다른 글
순차논리회로 (0) | 2024.12.26 |
---|---|
조합논리회로 (0) | 2024.12.26 |
부울 대수 및 논리 게이트 (0) | 2024.12.26 |
컴퓨터 분류 (0) | 2024.12.26 |
컴퓨터 구조를 공부해야 하는 이유 (0) | 2024.12.25 |
댓글