개발자의 컴퓨터 구조 공부: 해야 하는 이유와, 컴퓨터 구조 정리하기.

sugar.dev·2025년 2월 25일
0

혼공컴운

목록 보기
1/1

개발공부를 시작할 때 우리는 프로그래밍 언어와 관련된 책부터 찾아보고는 한다. 하지만 실력 있는 개발자가 되기 위해서는 컴퓨터 구조를 잘 알아야, 프로그래밍을 근본적으로 이해하고 다양한 문제를 빠르게 해결 할 수 있게 된다.

개발자가 컴퓨터 구조를 공부 해야 하는 이유는 아래 두가지로 볼 수 있다.

  1. 컴퓨터 구조를 이해하면 문제 해결 능력이 향상된다.

  2. 컴퓨터 구조를 이해하면 언어공부 만으로는 얻기 힘든 성능/용량/비용을 고려하며 개발 할 수 있다.

컴퓨터 구조 지식은 크게 2가지 이다.

  1. 컴퓨터가 이해하는 정보 ➡️ 데이터, 명령어

  2. 컴퓨터의 네가지 핵심 부품 ➡️ 메모리, CPU(중앙처리장치), 보조기억장치(usb, 외장하드 ...), 입출력장치(모니터,키보드,마우스...)

컴퓨터가 이해하는 정보는 '데이터'와 '명령어'가 있다. 컴퓨터의 네가지 핵심 부품으로는 메모리, 중앙처리장치, 보조기억장치, 입출력장치 가 있다. 아래에서 자세히 알아보자.

컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리켜 데이터(data)라고 한다. 데이터 만으로는 컴퓨터가 어떤 일을 처리할 수 없다. 명령어(instruction)는 정적인 데이터들을 사용해 컴퓨터가 실질적으로 작동할 수 있도록 해주는 정보이다. 예를 들어보자면, 데이터는 '1','2'... 같은 정적인 정보이고, 명령어는 '1과 2를 더하라'와 같은 정보이다.

컴퓨터의 네가지 핵심 부품으로는 CPU(Central Processing Unit), 주기억장치(main memory), 보조기억장치(secondary storage), 입출력장치(input/output (IO) device)이다. 네가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 알 수 있다.

*주기억장치(메모리)의 종류는 RAM(Random of Memory),ROM(Read Only Memory) 크게 두가지가 있으나 보통 메모리라는 용어는 RAM을 지칭한다.

컴퓨터의 네가지 핵심부품 구성도

1️⃣ 메인보드 : 컴퓨터의 핵심 부품들이 있는 판으로 마더보드라고도 한다. 메인 보드에는 여러 컴퓨터 부품들과 컴퓨터 부품을 부착할 수 있는 슬롯과 연결된 단자가 있다.

2️⃣ CPU(중앙처리장치) : 메모리에 저장된 명령어를 읽고 해석하고 실행하는 부품이다. 중앙처리장치 내에는 아래 세가지의 내부 구성 요소가 있다. 산술논리연산장치(ALU-Arithmatic Logic Unit), 레지스터(register), 제어장치(CU-Control Unit)

① ALU(산술논리연산장치) :계산만을 위해서 존재하는 부품으로, 컴퓨터 내부에서 수행되는 대부분을 계산을 도맡아 한다. 계산기라고 보면 된다.

② 레지스터 : 작은 임시 저장 장치로, 프로그램에 실행에 필요한 값을 임시로 저장한다. 레지스터는 여러 개 존재하고 있으며, 각기 다른 이름과 역할을 가지고 있다.

③ 제어장치 : 제어 신호라는 전기 신호를 보내고 명령어를 해석하는 장치다. 메모리 읽기[CPU가 메모리에 저장된 값을 읽고 싶을 때 메모리를 에게 보내는 제어 신호], 메모리 쓰기[CPU가 메모리에 값을 저장하고 싶을 때 보내는 제어 신호]

3️⃣ 메모리(주기억장치) : 현재 실행되는 프로그램의 데이터와 명령어를 저장하는 부품으로, 프로그램이 실행 되려면 반드시 메모리에 저장되어 있어야 한다. 메모리에는 주소가 존재하는데 주소로 메모리 내에 저장된 데이터나 명령어의 위치에 접근할 수 있다.

4️⃣ 보조기억장치 : 전원이 꺼져도 저장된 내용을 잃지 않는 기억 장치이다. 하드 디스크, SSD, USB 메모리, DVD, CD-ROM 등이 있다. 보관할 프로그램을 저장하는 장치이다.

5️⃣ 입출력장치 : 모니터, 키보드, 마우스 등 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보 교환하는 장치를 의미한다.

6️⃣ 시스템버스 : 메인보드 내부에 있는 통로를 버스라고 부르는데, 다양한 종류의 통로 즉 여러 개의 버스가 있다. 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스이다.

시스템 버스의 내부 구성

주소 버스 : 주소를 주고 받는 통로이다.

데이터 버스 : 명령어와 데이터를 주고 받는 통로이다.

제어 버스 : 제어 신호를 주고 받는 통로이다.

아래는 확인 문제!

  1. 컴퓨터의 4가지 핵심 부품은?

답> 중앙처리장치, 주기억장치(메모리), 보조기억장치, 입출력장치

  1. CPU가 메모리에서 값을 읽는 과정을 설명하시오.

답>
1) CPU가 제어 버스로 '메모리 읽기' 제어 신호 내보내고
2) 주소 버스로 읽고자 하는 주소를 내보내면
3) 메모리는 데이터 버스로 요청한 주소에 있는 내용을 CPU에 보냄

  1. CPU가 메모리에 값을 저장할 때 데이터 버스, 주소 버스, 제어 버스를 각각 어떻게 사용하는지 서술하시오.

답>
1) 데이터 버스를 통해 메모리에 저장할 값을
2) 주소 버스를 통해 저장할 주소를
3) 제어 버스를 통해 '메모리 쓰기' 신호를 내보냄

  1. 개발자가 컴퓨터 구조를 공부해야하는 이유는 빠른 문제 해결 능력 향상과, 성능/용량/비용을 알고 있으면 문법 파악이 빨라지기 때문이다.

답> X 성능/용량/비용을 고려하며 개발할 수 있다 문법 파악은 다른 문제이다.

  1. 우리는 분석의 대상인 컴퓨터를 컴퓨터 구조를 공부함으로써 미지의 대상으로 인식하게 된다.

답> 미지의대상에서 분석의대상으로 인식한다.

  1. 아래 괄호 안에 들어갈 풀 네임을 적어주세요.
    컴퓨터의 네가지 핵심 부품으로는 CPU(Centeral Processig Unit), 주기억장치(main memory), 보조기억장치(secondary storage), 입출력장치(input/output device , IO device )이다. 네가지 부품의 역할만 이해하고 있어도 컴퓨터의 작동 원리를 대부분 알 수 있다.

  2. 메모리 내부에 ALU가 있다.

답> X 산술연산장치는 중앙처리장치 내부에 있다.

  1. 보조기억장치와 입출력장치는 주변장치라고 통칭하기도 하지만 완전히 다른 장치이다.

답> X 둘다 합쳐서 주변장치라고 통칭하기도 하며 완전히 다른 부품은 아니라고 본다.

아래 책을 바탕으로 자습하며 작성된 글입니다.

혼자서 공부하는 컴퓨터 구조 + 운영체제

profile
기록-정리-다내거

0개의 댓글