목차
인사말
항상 비전공자들도 이해하기 쉽게 작성하려고 노력하고 있습니다. 이번 글에서는 컴퓨터의 구조를 이해하실 수 있게 깊지 않은 선에서 작성하였습니다. 처음에는 잘 이해가지 않으시더라도 천천히 읽어보시길 바라며, 컴퓨터란 무엇인가? CPU는 어떤 역할을 하는지 메모리는 무엇인지 등에 대해서 이해할 수 있습니다.
컴퓨터 구조의 이해
컴퓨터란?
컴퓨터의 사전적 정의는 전자 회로를 이용하여 프로그램과 정보를 전자적 형태로 저장하고 빠르게 계산하고, 입력된 데이터를 정해진 프로그래밍에 따라 처리하고 정보로 출력하는 전자 기기라고 정의되어 있다.
시스템 프로그래밍이란?
컴퓨터 시스템을 동작시키는 프로그램이며 하드웨어를 직접 컨트롤하며, 보통 운영체제 자체의 기능을 활용하여야 하는 프로그래밍이다. 응용프로그램과의 차이점은 시스템 프로그래밍은 모든 응용 프로그램에 포함되는 요소라고 생각하면 된다.
컴퓨터 시스템의 범위와 주요 구성요소
하드웨어와 운영체제가 컴퓨터 시스템의 범위이며, 주요 구성요소로는 CPU, Cache, Main memory, Hard Disk가 있다. 이중 CPU와 Cache는 컴퓨터 구조에 포함되고 Main memory와 Hard Disk는 운영체제에 포함된다.
중앙 처리장치 CPU : Central Processing Unit
CPU는 Central Processing Unit의 약자로 우리말로 중앙처리장치라고 부르며 기본적으로 연상을 담당한다. 컴퓨터의 프로그램의 실행에 있어서 핵심적인 역할을 하며 인간으로 비유하자면 인간의 두뇌에 해당된다. CPU는 컴퓨터의 두뇌이다.
메인 메모리 Main Memory
컴파일이 완료된 프로그램 코드가 올라가서 실행되는 영역(RAM)이다.
* 컴파일러란? 특정 프로그래밍 언어(컴퓨터의 언어)로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 쉽게 말해 우리가 외국사람과 대화할 때 번역기 또는 통역사 연락을 해주는 것이 컴파일러라고 생각하면 된다.
입력 / 출력 버스 Input / Output Bus
컴퓨터를 구성하는 구성요소 사이에서 데이터를 주고 받기 위해 사용되는 경로이다. 대표적으로는 어드레스 버스, 데이터 버스, 컨트롤 버스가 있다.
CPU의 구조
CPU의 구조에 대한 이해를 돕기 위해 아래 표에 각CPU 기능의 역할을 명시해 놓았으며, 그림도 함께 첨부하였다.
역할명 | 역할 |
ALU Arithmetic Logic Unit |
CPU 내부에서 실제 연산을 담당하고, 산술, 논리 연산들을 수행하는 회로들로 이루어져 있다. |
컨트롤 유닛 Control Unit |
CPU에게 일을 시키기 위한 명령어를 해석하고, 실행하기 위한 제어 신호들을 순차적으로 발하는 하드웨어 모듈이다. 명령어 실행에 필요한 각종 실행에 필요한 각종 정보들의 전송 통로와 방향을 지정해주고, CPU 내부 요소들과 시스템 구성 요소들의 동작 시간 또한 결정해준다. |
레지스터 RegisterSet |
CPU 내부에 위치한 기억장치이며, 임시적으로 데이터를 저장하는 공간이다. 접근 속도가 매우 빠르다는 장점을 가지고 있지만 CPU의 내부 레지스터는 개수는 제한적이라는 단점이 있다. |
버스 인터페이스 BUS Interface |
데이터를 주고 받기 위한 매개체이다. 버스 인터페이스(Bus Interface)는 외부의 입출력 버스(I/O Bus)와 연결된다. 즉, CPU의 외부와 연결되어 있으며 외부에서 들어오는 데이터를 받거나, 데이터를 보내는 역할을 담당한다. |
CPU의 성능
CPU의 성능은 코어와 클럭으로 결정되는데 코어는 머릿수. 클럭은 두뇌가 회전하는 속도라고 보면 된다.
클럭 : clock
클럭이라는 수치는 CPU내부에서 일정한 주파수를 가지는 신호로, 이 신호에 동기화되어서 CPU의 모든 명령어가 동작하게 됩니다. 예를 들어서 CPU의 클럭 수가 4.0 GHz라고 가정한다면 초당 40억 번의 명령어를 처리할 수 있다는 뜻이다. 따라서 CPU의 클럭 주파수가 빠를수록 짧은 시간 내에 더 많은 명령을 처리할 수 있기 때문에, 더 좋은 성능을 가진다고 할 수 있다.
코어 : core
코어는 CPU의 역할을 하는 블록으로 이전에는 한 개의 칩에는 한 개의 코어를 가지는 싱글 코어가 다수였지만, 최근에는 한 개의 칩 안에 여러 개의 코어를 두는 멀티코어 구조를 가지기 시작한지 오래되었다.
당연 이렇게만 설명한다면 코어가 뭐였지라고 할 수 있기 때문에 쉽게 기억할 수 있게 말해주겠다. 코어란 두뇌 하나라고 생각해도 좋을 것 같다. CPU는 싱글코어, 멀티코어가 존재한다. 사람과 다르게 두뇌가 하나가 아닌 것이다.
여러 개의 두뇌로 나누어져 있다고 생각하면 된다. 코어의 수는 컴퓨터의 두뇌 수이다.
'Information Technology' 카테고리의 다른 글
정보통신 보안 개념과 정보보안 서비스 종류 (0) | 2021.06.09 |
---|---|
컴퓨터(PC)의 종류 별 특징 사용 용도 정리 (0) | 2021.05.11 |
[소프트웨어 공학] 소프트웨어 생명 주기 개념 정리(Software Life Cycle) (0) | 2021.05.10 |
소프트웨어 공학 정의와 목적 및 용도 정리 (0) | 2021.05.09 |
소프트웨어 개념과 소프트웨어 개발 단계(Software Life Cycle) (0) | 2021.05.08 |
댓글