개발일지
혼자 공부하는 컴퓨터구조+ 운영체제 - 컴퓨터의 구조 본문
컴퓨터 구조를 왜 배워야 하는가?
컴퓨터 구조를 배움으로써 소스 코드를 작성만 하는 개발자가 아닌 더 나아가 문제 해결 능력을 키우고 문제를 분석하는 능력을 키울 수 있어서
2,
성능 용량 비용
개발에서 제일 중요한 것들 자신이 웹사이트를 만들었다고 가정하고 그 웹 사이트가 유명해져서 게시글이 매일 100개씩 댓글이 1000개씩 생성된다고 했을 때 회원정보와 회원이 남긴 게시글과 댓글을 어떤 저장 장치에 저장할지도 스스로 판단해야 하는데 이런 부분 들어 알려면 컴퓨터 구조에서 성능 용량 비용을 알아야 합니다 프로그래밍 언어의 문법만 안다고 해결하기는 어려운 부분이다
컴퓨터 구조를 알면 입력과 출력에만 집중하는 개발자가 아닌 성능, 용량, 비용까지 고려하는 개발자가 될 수 있다.
컴퓨터 구조의 큰 그림
컴퓨터가 이해하는 정보
데이터(data) - 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
명령어(instruction)- 컴퓨터를 실질적으로 작동 시키는 더 중요한 정보, 데이터를 움직이고 컴퓨터를 작동시키는 정보
예) ‘1 과 2’는 데이터이고 ‘더하라 1과 2를’ 은명령어입니다.
명령어는 컴퓨터를 작동시키는 정보이고, 데이터는 명령어를 위해 존재하는 일종의 재료
컴퓨터 프로그래밍은 ‘명령어들의 모음’이라고 정의할 수 있다.
컴퓨터의 4가지 핵심 부품
컴퓨터의 핵심 부품
중앙처리장치 CPU
주기억장치 메모리(RAM) - 현재 실행되는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품
보조기억장치
입출력장치
메모리 (RAM)
- 프로그램이 실행되기 위해서는 반드시 메모리에 저장되어 있어야 한다.
- 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장한다
- 메모리에 저장된 값의 위치는 주소로 알 수 있다
CPU
- ALU 산술논리연산 장치 : 쉽게 말해서 “계산기” 컴퓨터 내부에서 수행되는 대부분의 계산은 ALU가 한다
- 레지스터 : CPU내부의 작은 임시 저장 장치 프로그램을 실행하는 데 필요한 값들을 임시로 저장 CPU안에는 여러 개의 레지스터가 있는데 각각 이름과 용도가 다르다
- 제어장치 : 제어신호라는 전기신호를 내보내서 명령어를 해석하는 장치입니다. 제어신호란 컴퓨터 부품을 관리하고 작동시키기 위한 일종의 전기 신호
메모리에 저장된 값을 읽고 싶을 때는 메모리 읽기라는 제어신호를 보낸다
메모리에 어떤 값을 저장하고 싶을 때는 메모리 쓰기라는 제어신호를 보낸다
- CPU는 메모이레 저장된 값을 일거 들이고, 해석하고, 실행하는 장치이다.
- CPU 내부에는 ALU, 레지스터, 제어장치가 있다
- ALU는 계산하는 장치, 레지스터는 임시 저장장치, 제어장치는 제어 신호를 발생시키고 명령어를 해석하는 장치다.
보조기억장치
메모리에는 현재 실행되는 프로그램의 명령어와 데이터를 저장되는데 이게 전원이 꺼지면 저장된 정보가 날아감 이게 휘발성 데이터?
보조기억장치에는 실행되지 않는 프로그램의 명령과 데이터를 저장
전원이 꺼져도 저장할 수 있는 저장장치가 필요해서 보조기억장치가 만들어짐
메모리는 실행할 정보를 저장
보조기억 장치는 보관할 정보를 저장한다
입출력장치
컴퓨터 외부에 입력해서 컴퓨터 내부와 정보를 교환할 수 있는 장치
예) 하드디스크, USB 메모리, 키보드, 마우스, 스피커
어떻게 보면 보조기억장치 의 하드디스크, USB 메모리등 도 컴퓨터 외부에서 연결되어 컴퓨터 내부 정보를 교환할 수 있는 장치로 봐서 입출력 장치라고 볼 수 있지 않나??
보조기억 장치는 관점에 따라 입출력장치의 일종으로 볼 수 있습니다.
한편으론 보조기억장치와 입출력장치를 ‘컴퓨터 주병에 붙어 있는 장치’라는 의미로 주변장치라고 통칭하기도 한다 메모리를 보조하는 장치는 특별한 기능을 수행하는 입출력장치라고 한다
메인보드와 시스템 버스
앞서 설명한 네 가지의 핵심부품을 메인보드라는 판에 연결됩니다. 메인보드는 마더보드라고도 불립니다.
메인보드 안에는 버스라는 통로가 있어서 내부에는 다양한 종류의 버스(통로)가 있다. 네가지 핵심 부품을 연결하는 가장 중요한 버스는 시스템 버스라고 한다
시스템버스
주소버스
주소버스는 메모리에 저장된 값의 위치를 알 수 있게 해 줍니다. CPU가 메모리에서 값을 읽을 때는 주소버스를 이용해 메모리의 주소를 찾아가는 방식으로 읽습니다.
데이터버스
데이터버스는 CPU가 메모리에서 값을 읽었거나 쓰는 것을 가능하게 해주는 버스입니다. 데이터버스는 메모리 값이나 CPU 레지스터에 있는 값을 보내고 받기 위해 사용합니다.
제어버스
제어버스는 컴퓨터를 제어하기 위한 버스로 주기억장치의 접근을 제어하거나 메모리를 읽고 쓰거나 보조기억장치를 제어하기 위해 사용됩니다. 제어버스는 컴퓨터 부품을 관리하고 작동시키기 위한 제어 신호를 보내거나 제어 명령을 해석하는 데 사용됩니다.
'CS' 카테고리의 다른 글
혼자 공부하는 컴퓨터구조+ 운영체제 - 소스코드와 명령어 (0) | 2023.02.14 |
---|---|
혼자 공부하는 컴퓨터구조+ 운영체제 - 데이터 (0) | 2023.02.07 |