CS/컴퓨터구조

[컴퓨터구조] 개요

nowkoes 2023. 5. 26. 00:00

<본 카테고리는 "혼자 공부하는 컴퓨터구조 + 운영체제" 책과 강의를 기반으로 작성하였습니다>


컴퓨터 구조 개요

왜 공부해야 할까?

 컴퓨터 구조는 기본적으로 컴퓨터 시스템의 디자인과 기능을 다룬다. 이는 하드웨어와 소프트웨어가 어떻게 통합되어 작동하는지, 그리고 컴퓨터가 어떻게 정보를 처리하고 저장하는지에 대한 근본적인 이해를 제공한다. 언뜻 생각해 보면 알 수 없는 컴퓨터 부품과 케이블, 복잡한 회로와 같은 이미지가 떠올라 프로그램 개발과는 큰 관련이 없어 보인다. 하지만, 컴퓨터 구조는 실력 있는 개발자가 되려면 반드시 알아야 할 기본적인 지식이다. 그 이유는 다음과 같다.

 

  1. 문제 해결: 컴퓨터 내부를 분석하고 문제를 해결하는 능력을 기르게 해줌
  2. 성능, 용량, 비용: 자신이 작성한 코드를 성능, 용량, 비용의 관점에서 분석할 수 있는 능력을 기르게 해 줌.

 

 즉, 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있다. 따라서 문법에 맞는 코드만 작성할 줄 아는 개발자를 넘어 다양한 문제를 스스로 해결할 줄 아는 개발자로 거듭나게 해 준다. 


컴퓨터 구조의 큰 그림

데이터와 명령어

 컴퓨터 구조에 대해 이해를 하기 위해선 '컴퓨터가 해석하는 정보'와 '컴퓨터의 주요 구성 요소'의 두 가지 큰 카테고리에 대해 알아야 한다. 먼저, 컴퓨터가 인식하고 처리하는 정보, 즉 데이터와 명령어에 대해 알아보자.

 

 

 컴퓨터는 0과 1로 표현된 이진 체계를 기반으로 동작한다. 이러한 이진 정보는 두 가지 유형 데이터(data)와 명령어(instruction)로 분류된다. 데이터정보의 정적인 형태로, 컴퓨터가 처리하거나 저장할 수 있는 원시적인 정보를 의미한다. 예를 들어, 텍스트, 이미지, 비디오, 음악 파일 등 모든 것이 컴퓨터에서 데이터로 처리될 수 있다. 이 데이터는 컴퓨터 내부에서 이진 형태로 표현되며, 필요에 따라 메모리에 저장되거나 CPU에 의해 처리된다.

 

 명령어데이터를 조작하고, 컴퓨터 하드웨어를 제어하는 동적인 정보다. 이는 컴퓨터에게 어떤 동작을 수행하도록 지시하는 역할을 한다. 명령여는 연산을 수행하거나, 데이터를 메모리에서 불러오거나 저장하는 등 다양한 작업을 지시할 수 있다. 이들 명령어는 CPU가 순차적이거나 동시에 해석하고 실행하는 프로그램을 형성한다.

 

 즉, 컴퓨터는 명령어를 처리하는 기계이며 데이터는 명령어를 위해 존재하는 일종의 재료라고 할 수 있다.

 

컴퓨터의 네 가지 핵심 부품

 컴퓨터의 외관과 용도를 막론하고, 컴퓨터를 구성하는 핵심 부품은 크게 다르지 않다. 여기서 핵심 부품이라 하면, 중앙처리장치(Central Processing Unit - CPU), 주기억장치(Main memory), 보조기억장치(Secondary memory), 입출력장치(Input/Output device)를 의미한다. 여기서 주기억장치는 크게 RAM(Random Access Memory)와 ROM(Read Only Memory) 두 가지가 존재하는데, 메모리라는 용어는 보통 RAM을 지칭한다.

 

 

 CPU는 컴퓨터의 두뇌로서, 컴퓨터의 모든 연산과 제어 작업을 수행한다. 이는 메모리에 저장된 명령어를 해석하고 실행하는 기능을 수행한다. 더불어, 컴퓨터 내의 다른 하드웨어 구성 요소와의 통신을 관리하는 중추적인 역할을 한다.

 CPU의 역할과 작동 원리를 구체적으로 이해하기 위해선 내부 구성 요소를 알아야 한다. CPU 내부 구성 요소 중 가장 중요한 세 가지는 계산을 도맡는 산술논리연산장치(Arithmetic Logic Unit - ALU), 임시 저장 장치 레지스터(register), 컴퓨터 부품을 관리하고 작동시키는 전기 신호를 내보내는 제어장치(Control Unit - CU)가 있다. 

 

CPU의 구성 요소들

 

 메모리현재 실행되는 프로그램의 명령어와 데이터를 저장하는 휘발성 부품이다. 또한 현재 실행 중인 프로그램의 명령과 데이터를 임시로 저장하는 공간으로서, 주소라는 구조를 통해 빠른 데이터 접근을 가능하게 한다. 이러한 특징으로 인해, 프로그램이 순차적으로 실행되기 위해서는 반드시 메모리에 로드되어 있어야 한다. 메모리는 이런 식으로 프로그램의 연속성과 신속한 처리를 보장하며 컴퓨터의 핵심적인 작업 효율을 증진시킨다. 

 

 

 보조기억장치메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조하는 장치다. 앞서 메모리는 '휘발성' 부품이라고 하였다. 이는 전원이 꺼지면 저장된 내용을 잃는다는 것을 의미하며, 작업한 내역을 잃어버리게 된다면 치명적으로 다가올 것이다. 그래서 보조기억장치는 이러한 문제를 해결하기 위해 사용된다. 

 메모리가 현재 '실행되는' 프로그램을 저장한다면, 보조기억장치는 '보관할' 프로그램을 저장한다고 생각하면 편하다.

 

 

 입출력장치컴퓨터 외부에서 연결되어 컴퓨터 내부와 정보를 교환하는 장치다. 마이크, 스피커, 프린터, 마우스, 키보드를 예로 들 수 있다.

 

 이러한 핵심 부품들은 메인보드(Main board)라는 판에 부착되게 된다. 여기서 메인보드는 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결 단자를 갖고 있는 부품을 의미한다. 메인보드에 연결된 부품들은 서로 정보를 주고받을 수 있는데, 이는 메인보드 내부에 버스(bus)라는 통로가 있기 때문이다. 따라서 네 가지 부품들과 메인보드를 그려보면 다음과 같다.

 


요약

컴퓨터 구조
1. 정의: 컴퓨터 시스템의 디자인과 기능을 다루는 학문
2. 특징
 a. 문제 해결 능력을 기를 수 있음
 b. 성능/비용/용량 관점에서 개발을 고려할 수 있음
3. 핵심
 a. 데이터와 명령어
  - 데이터는 정적인 정보, 명령어는 동적인 정보
 b. 컴퓨터의 4가지 핵심 부품
  - CPU, 주기억장치, 보조기억장치, 입출력장치
반응형