나는 소프트웨어 학과를 전공하면서도 이론적인 지식은 전혀 모르는 것 같다. 물론 프로그래밍도 모르지만…. 어쨌든 CS는 정보처리산업기사를 취득하면서 배웠던 것 같은데 기억이 안 난다. 나중에 기술면접을 위해서 열심히 지금이라도 차근차근 공부해야겠다.
컴퓨터는 하드웨어, 소프트웨어로 구성되어있다
여기서 하드웨어는 컴퓨터 시스템이 작동하는데 필요한 물리적 구성요소다.
나누어 보면 중앙처리장치(CPU), 기억장치(Memory), 입출력 장치(키보드, 마우스 등등)로 나눌 수 있다.
위의 구성요소들을 연결해주고 데이터 전송을 해주는 것이 시스템 버스라고 한다
CPU는 컴퓨터의 두뇌 같은 존재로서 제일 중요한 존재인 것 같다
나는 컴퓨터를 조립하면서 제일 중요시했던 것 중 하나가 바로 CPU였다.
CPU가 좋아야 컴퓨터가 빠르다는 느낌이 들었던 것 같다 ...
CPU의 주 역할은 주기억장치에서 명령어들을 빼서 해석하고 실행한다.
CPU는 산술논리연산장치(ALU), 제어장치(CU), 레지스터(Register)로 구성되어 있다
ALU는 산술연산과, 논리연산을 담당한다
산술연산은(흔히 말하는 사칙연산), 논리연산(AND, OR, NOT 등등)인데 논리연산은 사실 가물가물하다.... 나중에 따로 다루어 보겠다.
제어장치는 컴퓨터의 명령을 해독하고 제어 신호를 처리 장치로 보낸다.
레지스터는 데이터를 잠깐 저장하는 고속저장장소다.
데이터나 연산의 결과를 저장하는 장치이다
컴퓨터 시스템이
두 가지로 나눌 수 있는데 주기억장치(RAM, ROM)와 보조기억장치(하드디스크, CD 등)이다.
기억장치를 처음 공부했을 때는 주기억장치와 보조기억장치가 헷갈렸다. 나한테는 주기억장치가
하드디스크 같은 직접적인 장치가 더 익숙했기 때문이다. 이제는 헷갈리지 않도록 노력해보자!
ROM은 비휘발성 메모리이기 때문에 데이터가 소멸하지 않고 읽기만 가능하다
다시 쓸 수 있는 메모리가 있는데 PROM은 1번 삭제 후 다시쓰고, EPROM과 EEPROM은 무한으로 삭제 후 다시 쓸 수 있다.
RAM은 CPU가 작업할 수 있도록 하는 장치이고
휘발성 메모리이기 때문에 전원이 끊어지면 데이터가 지워진다
ROM과 다르게 읽고 쓸 수 있고 읽고 쓰는 속도가 같다
프로그래밍을 로딩하거나 데이터를 임시저장하는 데 사용한다.
그냥 간단하게 정리하자면 키보드, 마우스같은것이 해당한다.
하드웨어들을 연결해주고 데이터를 서로 주고받을 수 있게 해준다
이름에 버스가 있기 때문에 버스가 하는 역할이랑 비슷하다
시스템 버스는 데이터 버스, 주소 버스, 제어 버스로 나누어져 있다
데이터 버스는 중앙처리장치와 기타 장치 사이에서 데이터를 전달하는 통로이다.
데이터를 주고받기 때문에 양방향이다.
주소 버스는 주기억장치나 입출력장치로 기억장치 주소를 전달하는 통로이다.
주소 전달만 하므로 단방향이다.
제어 버스는 데이터 버스와 주소 버스를 제어하기 위한 제어 신호들을 전송하는 통로
읽고 쓰기를 하므로 양방향이다.
기억장치 읽기, 쓰기 신호, 입출력장치 읽기 쓰기 신호