작성자 프로필
mouuaw
코드 깎는 다람쥐
2023.01.01

01 컴퓨터 구조 시작하기

01-1 컴퓨터 구조를 알아야 하는 이유

문제 해결

내 컴퓨터에서 잘 돌아가던 코드도 다른 개발환경에서는 돌아가지 않는 경우가 생각보다 많습니다. 대부분 이런 경우는 문법적인 오류뿐만 아니라 개발환경 자체가 다르기 때문에 발생하는 경우도 있습니다. 개발자가 이런 문제를 쉽게 파악하기 위해선 컴퓨터 구조를 알아야 합니다. 그래야 문제 해결의 실마리를 찾고 대응할 수 있습니다.

성능, 용량, 비용

요즘엔 개발을 위해 AWS, GCP 등의 클라우드 서비스를 많이 사용합니다. 이렇게 클라우드 서비스에서 제공하는 다양한 형태의 컴퓨터를 구입하고 제어하기 위해선 컴퓨터에 대해서 잘 알아야 합니다.

내가 서비스하려는 형태에 맞춰 cpu, 메모리, 용량 등의 구성요소를 확인하고 선택해야 하기 때문입니다.

01-2 컴퓨터 구조의 큰 그림

컴퓨터 구조 지식은 크게 두 가지 입니다.

컴퓨터가 이해하는 정보
컴퓨터의 네 가지 핵심 부품
컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보만을 이해합니다. 그리고 이렇게 0과 1로 표현되는 정보에는 크게 두 종류가 있는데, 바로 데이터명령어 입니다.

데이터는 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리킵니다. 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보를 가리킬 때 편하게 데이터라 통칭하기도 합니다.

컴퓨터가 이해하는 정보에는 데이터와 명령어가 있다고 하지만, 이 둘 중 컴퓨터를 실제로 작동시키는 더 중요한 정보는 명령어 입니다. 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일뿐이지만, 명령어는 데이터를 움직이고 컴퓨터를 작동시키는 정보이기 때문입니다.

명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료입니다. 이런 점에서 컴퓨터 프로그램은 '명령어들의 모음' 으로 정의되기도 합니다. 그래서 명령어는 컴퓨터 구조를 학습하는데 있어 데이터보다 더 중요한 개념이라고 할 수 있습니다.

컴퓨터의 4가지 핵심 부품

컴퓨터의 4가지 핵심 부품은 다음과 같습니다.

중앙처리장치(이하 cpu)
주기억장치(이하 메모리)
보조기억장치
입출력장치

컴퓨터를 구성하는 각각의 요소에 대해 알아보겠습니다

메모리

메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품입니다. 즉 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 합니다.

메모리에는 저장된 명령어와 데이터의 위치를 정돈하기 위해 주소를 사용합니다. 현실에서 우리가 주소로 원하는 위치를 찾아갈 수 있는것 처럼 컴퓨터에서도 주소로 메모리 내 원하는 위치에 접근 가능합니다.

CPU

cpu는 컴퓨터의 두뇌입니다. cpu는 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석하고, 실행하는 부품입니다.

cpu의 역할과 작동 원리를 구체적으로 이해하기 위해서는 cpu 내부 구성 요소를 알아야 합니다. cpu 내부 구성 요소 중 가장 중요한 세가지는 산술논리연산장치(이하 ALU), 레지스터, 제어장치 입니다.

ALU는 쉽게 말해 계산기입니다. 계산만을 위해 존재하는 부품입니다.

레지스터는 cpu 내부의 작은 임시 저장장치 입니다. 프로그램을 실행하는 데 필요한 값들을 임시로 저장합니다.

제어장치제어 신호라는 전기 신호를 내보내고 명령어를 해석하는 장치입니다. 여기서 제어 신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호입니다. 이런 전기신호를 이용하는 간단한 예시는 다음과 같습니다.

cpu가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기 라는 제어 신호를 보낸다.
cpu가 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기 라는 제어 신호를 보낸다.
보조기억장치

메모리는 데이터 저장장치로 사용하기엔 치명적인 단점이 있습니다. 첫째는 가격이 비싸 저장 용량이 적다는 점이고, 둘째는 전원이 꺼지면 저장된 내용을 잃는다는 점입니다.

이에 메모리보다 크기가 크고 전원이 꺼져도 저장된 내용을 잃지 않는 메모리를 보조할 저장 장치가 필요하게 되었는데, 이 저장 장치가 보조기억장치 입니다.

하드 디스크, SSD, USB 메모리, DVD, CD-ROM과 같은 저장 장치가 보조기억장치의 일종입니다.

입출력장치

입출력장치는 마이크, 스피커, 프린터, 마우스, 키보드처럼 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치를 의미합니다.

가끔 보조기억장치입출력장치를 헷갈릴 수 있습니다. 관점에 따라서는 보조기억장치 역시 입출력장치의 일종으로 볼 수 있기 때문입니다. 그래서 이런식으로 '컴퓨터 주변에 붙어있는 장치'라는 의미로 주변장치라 통칭하기도 합니다. 다만 보조기억장치는 모니터, 마우스, 키보드와 같은 일반적인 입출력장치에 비해 메모리를 보조한다는 특별한 기능을 수행하는 입출력장치입니다.

메인보드와 시스템 버스

컴퓨터의 핵심 부품들은 모두 메인보드라는 판에 연결됩니다. 메인보드는 마더보드라고도 불립니다. 메인보드는 앞서 소개한 부품을 비롯한 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결 단자가 있습니다.

메인보드에 연결된 부품들은 서로 정보를 주고받을 수 있는데, 이는 메인보드 내부에 버스라는 통로가 있기 때문입니다. 컴퓨터 내부에는 다양한 종류의 통로, 즉 버스가 있습니다. 하지만 여러 버스 가운데 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스입니다.

시스템버스는 주소 버스, 데이터 버스, 제어 버스로 구성되어 있습니다. 주소 버스는 주소를 주고받는 통로, 데이터 버스는 명령어와 데이터를 주고받는 통로, 제어 버스는 제어 신호를 주고받는 통로입니다.

스터디 프로필
코드 깎는 다람쥐
의 다른 카테고리
0
👍0
👏0
🤔
댓글 작성