개발자라는 일은 프로그램을 실행시키는 코드를 짜기도 하지만 코드를 유지보수해야하는일이 더 많은 일입니다.
유지보수할 때 이런 저런 문제가 많이 생길텐데 그저 프레임워크와 프로그램 언어의 지식정도로는 해결 불가능한 일도 있을겁니다.
그렇기 때문에, 컴퓨터 과학을 공부하여 근본적인 문제 정의와 해결하려는 힘을 키우고자 합시다.
컴퓨터는 0과 1만을 이해하기때문에 프로그래밍을 하기위해 JS를 쓴다던가 C++혹은 파이썬을 쓴다해도 직접적으로 이해하지는 못합니다.
컴퓨터가 이해하는 정보는 오직 데이터와 명령어입니다.
우리가 프로그래밍 언어를 써서 개발을 하거나 검색을 하거나 버튼을 클릭하는 행위는 모두 내부적으로 명령어와 데이터로 변환하여 처리하는것뿐이죠.
그렇다면 데이터와 명령어는 무엇일까요?
데이터는 음악,이미지, 글 같은 정적인것을 데이터라고 합니다
명령어는 CPU라는 장치가 처리를 해줍니다.
###CPU란?

CPU는 명령을 읽어들이고 해석하여 실행해줍니다
내부장치로 산술연산장치 제어장치 레지스터 캐시메모리와같은 것들이 있는데
이 중 가장 중요한 구성요소인 레지스터는 명령어를 그때그때읽어들여 명령어에 필요한 데이터를 같이 처리해줍니다.
###메모리란?

흔히 RAM이라고 불리는게 주 메모리 장치입니다.
메모리는 보조메모리도있고 캐시메모리도있는데,
주 메모리같은 경우 주소 기반이며 휘발성이있다는게 특징입니다.
비유해보자면 주 메모리는 마치 냉장고와 같습니다.
냉장고 정리를 안해서 분류없이 중구난방이면 어디에 뭐가있는지 찾기 조금 걸리겠죠? 또 냉장고안에 음식을 꺼내면 없어진다는 면에서 비슷합니다.
메모리에는 주소라는 개념이있습니다.
마치 냉장고에서 재료를 찾으려고 재료칸을 찾는것과 메모리에서 데이터와 명령어를 찾는 주소라는 개념,
그리고 데이터와 명령어를 저장해두었다가 컴퓨터를 끄면 같이 꺼지는 휘발성의 특징이 있습니다.
보조 메모리는 흔히 USB나 SSD같은 것이 있는데요
예시에서 알 수 있다시피 휘발성과같은 특징은 없습니다.
캐시메모리는 예전에는 CPU밖이나 안에 존재했었는데 요즘엔 대부분 CPU내에 들어있는 장치입니다.
RAM보다는 용량이 작지만 속도는 훨씬빠르고 CPU가 자주쓰는 데이터만 저장합니다.
따라서 CPU장치의 속도는 레지스터 >> 캐시 메모리 >> 주 메모리 :>> 보조메모리 순입니다.
###입 출력장치란?
비교적 직관적인 개념입니다.
키보드나 마우스같이 입력이 되는 장치는 입력장치고
모니터 스피커 프린터같이 출력이 되는것은 출력장치입니다.
하지만 CPU처럼 명령을 읽어들이기도하고 명령을 출력해주는 다중의 역할을 지니면 입출력장치입니다.
###메인보드란?

조립형PC를 맞춰보신분들이라면 많이 들어보신 메인보드입니다.
메인보드에는 CPU 그래픽카드 램과같은 장치들이 들어갈 소켓이 있는 하드웨어입니다.
이 메인보드의 역할은 그냥 꽃아서 장치들을 돌리는 역할이 아닌 각 컴퓨터 부품들이 각자의 역할을 수행하기위해 서로 정보를 주고받을 수 있게 해주는 장치입니다.
이렇게 부품들이 정보를 주고받는 통로를 버스라고 부릅니다.
'Computer Science' 카테고리의 다른 글
| [CS] 해시 테이블은 뭘까 (1) | 2025.07.03 |
|---|---|
| [CS] 보조기억장치와 GPU (1) | 2025.06.08 |
| [CS] 메모리 (1) | 2025.06.07 |
| [CS] CPU (0) | 2025.06.03 |
| [CS]컴퓨터가 보는 정보 (0) | 2025.05.27 |