[혼공컴운] CH 01 컴퓨터 구조 시작하기

sookyoung.k·2024년 1월 3일
0

🤓 [혼공학습단] 

목록 보기
2/23
post-thumbnail

💻 컴퓨터 구조를 알아야 하는 이유

🔍 문제 해결

☹️ 분명히 같은 코드를 작성했는데 제 컴퓨터에서는 제대로 작동이 안 됩니다!

학원 강의를 들으면서 수도 없이 발생했던 이런 문제들... 그럴 때마다 내 컴퓨터에서는 제대로 작동하길 간절하게 바라곤 했었다. 이런 문제는 실무에서도 종종 발생하곤 한다.

하지만 언제까지나 기도메타로 운 나쁘게 문제가 생기지 않기만을 바랄 수는 없다는 생각이 들었다. 문제의 원인을 파악하고, 스스로 해결할 줄 아는 사람이 되고 싶다는 생각을 자주 했고, 단순히 코드를 잘 치는 것 뿐 아니라 컴퓨터 자체에 대한 지식이 필요하다는 생각을 많이 했다. 그래서 고른 책이기도 하다.

➡️ 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단할 수 있고, 문제 해결의 실마리를 다양하게 찾을 수 있다.

단순히 코드를 잘 작성하는 개발자가 아닌 다양한 문제를 스스로 해결할 줄 아는 개발자가 되고싶다!

'미지의 대상'이 아닌 '분석의 대상'이 되도록!

🧮 성능, 용량, 비용

웹 사이트를 개발하면, 이를 실행할 컴퓨터(서버 컴퓨터)가 필요하다

CPU와 메모리가 다르고, 그에 따른 성능, 용량, 비용이 매우 다양함

내가 개발한 프로그램이 어떤 환경에서 어떻게 작동하는지는 내가 가장 잘 이해하고 있어야 하며, 프로그램을 위한 최적의 컴퓨터 환경을 스스로 판단할 수 있어야 한다

실무를 하면서 내가 가장 약한 부분이 바로 이런 쪽이라고 생각했다. (다른데도 다 약하긴 한데...) 이런 이야기에서 언제까지나 내가 쏙 빠져있을 수만은 없는 노릇 아니겠음... 차근차근 배워보자! 나는 아직 응애 개발자니깐...

🖥️ 컴퓨터 구조의 큰 그림

컴퓨터 구조 = { 컴퓨터가 이해하는 정보, 컴퓨터의 네 가지 핵심 부품 }

📍 컴퓨터가 이해하는 정보

컴퓨터는 0과 1로 표현된 정보만을 이해한다. 0과 1로 표현되는 정보의 종류는 두 가지이다.

데이터명령어

0️⃣ 데이터

: 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 혹은 컴퓨터와 주고받는 정보나 컴퓨터에 저장된 정보

1️⃣ 명령어

: 데이터를 움직이고 컴퓨터를 작동시키는 정보

컴퓨터란? "명령어를 처리하는 기계"
→ 컴퓨터를 실질적으로 작동시키는 더 중요한 정보는 명령어이다.

📍컴퓨터의 4가지 핵심 부품

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

* 주기억장치는 RAM(Random Access Memory)과 ROM(Read Only Memory) 두 가지가 있다. 메모리라는 용어는 보통 RAM을 지칭한다.

📥 메모리

현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품

✔️ 저장된 값에 빠르고 효율적으로 접근하기 위해 주소(address)라는 개념이 사용된다
→ 주소를 통해 메모리 내 원하는 위치에 접근할 수 있다

  • 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다
  • 현재 실행되는 프로그램의 명령어와 데이터를 저장한다
  • 저장된 값의 위치는 주소를 통해 알 수 있다

🧠 CPU(Central Processing Unit)

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

✔️ CPU 내부에는 산술논리연산장치(ALU: Arithmetic Logic Unit), 레지스터, 제어장치가 있다

🧮 ALU - 계산만을 위해 존재하는 부품

📝 레지스터 - CPU 내부의 작은 임시 저장 장치

: 계산 중의 값을 임시로 저장하는 역할을 한다

🕹️ 제어장치 - 제어 신호(control signal)라는 전기 신호를 내보내고 명령어를 해석하는 장치

: 메모리 읽기, 메모리 쓰기 → 제어 신호

* 제어 신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 일종의 전기 신호를 말한다.

  • CPU는 메모리에 저장된 값을 읽어 들이고, 해석하고, 실행하는 장치
  • ALU, 레지스터, 제어장치가 가장 중요한 내부 구성 요소
  • ALU는 계산하는 장치, 레지스터는 임시 저장 장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치

💾 보조기억장치

전원이 꺼져도 저자오딘 내용을 잃지 않는 메모리를 보조할 저장 장치

ex. 하드 디스크, SSD, USB 메모리, DVD, CD-ROM
➡️ '보관할' 프로그램을 저장한다

* 메모리의 단점: 가격이 비싸 저장 용량이 적고, 전원이 꺼지면 저자오딘 내용을 잃어버린다
→ 전원이 꺼져서 작업한 내용이 날아가는 일이 발생하는 것이 이것 때문! 실행 중인 프로그램은 메모리에 저장된다

🎙️ 입출력장치

컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치
ex. 마이크, 스피커, 프린터, 마우스, 키보드

➡️ 보조기억장치는 관점에 따라 입출력장치의 일종으로 볼 수있다
때문에 보조기억장치와 입출력장치를 주변장치라고 통칭하기도 함

📲 메인보드와 시스템버스

컴퓨터의 핵심 부품들은 모두 메인보드라는 판에 연결 (마더보드)

메인보드에 연결된 부품들은 버스라는 통로를 통해 서로 정보를 주고받을 수 있다

다양한 종류의 버스(통로)가 있는데 그 중 가장 중요한 버스는 시스템 버스이다
➡️ 시스템 버스 = { 주소 버스, 데이터 버스, 제어 버스 }


* 사진 출처
[컴퓨터 구조] 컴퓨터의 4가지 핵심 부품: CPU, 메모리, 보조기억장치, 입출력장치

profile
영차영차 😎

0개의 댓글