기본 미션
1. p.51 확인 문제 3번
프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 합니다.
2. p.65 확인 문제 3번
1101
0010(0과 1 뒤집기)
0011(1 더하기)
1101을 음수로 표현한 값은 0011이다.
내용 정리한게 싹 날아가서 다시 작성 예정ㅠ
1장
컴퓨터 구조를 알아야 하는 이유
1. 문제 해결
- 개발할 때는 되었는데 실제 서비스에서는 안되는 경우가 있다
- 컴퓨터 구조를 이해하고 있다면 문제 상황을 빠르게 진단 -> 문제 해결의 실마리를 다양하게 찾을 수 있다
- 컴퓨터 내부를 알면 더 좋은 해결책을 고민할 수 있게 된다
2. 성능, 용량, 비용
- 자신이 개발한 프로그램이 어떤 환경에서 어떤 환경에서 어떻게 작동하는지 잘 이해하고 있어야 한다
- 프로그램을 위한 최적의 컴퓨터 환경을 스스로 판단할 수 있어야 한다
- 성능, 용량, 비용 문제는 프로그래밍 언어의 문법만 알아서는 해결하기 힘들다
컴퓨터 구조의 큰 그림
1. 컴퓨터가 이해하는 정보
- 데이터: 숫자, 문자, 이미지, 동영상과 같은 정적인 정보, 명령어를 위해 존재하는 재료(1, 2)
- 명령어: 데이터를 움직이고 컴퓨터를 작동시키는 정보(1과 2를 더하라)
컴퓨터 = 명령어를 처리하는 기계
컴퓨터 프로그래밍 = 명령어들의 모음
2. 컴퓨터의 4가지 핵심 부품
- 주기억장치(메모리)
- 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
- 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다
- 메모리에 저장된 값의 위치는 주소로 알 수 있다
- 중앙처리장치(CPU, 컴퓨터의 두뇌)
- 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석, 실행하는 부품. ALU, 레지스터, 제어장치가 있다.
- 산술논리연산장치(ALU): 컴퓨터 내부에서 수행되는 대부분의 계산을 수행
- 레지스터: CPU 내부에서 프로그램을 실행하는데 필요한 값들을 임시로 저장하는 장치. CPU 안에 여러개가 존재하고, 각각 다른 이름과 역할을 가지고 있음
- 제어장치: 제어 신호를 내보내고 명령어를 해석하는 장치.(제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호.)
- CPU가 명령어를 실행하는 법
- 제어장치가 '메모리 읽기' 제어 신호를 메모리에 보냄
- 메모리는 명령어를 CPU에게 전달하고, 이는 레지스터에 저장됨
- 제어장치는 명령어를 해석한 뒤 다른 주소들에 저장된 데이터가 필요하다고 판단
- 제어장치가 다른 주소들에 '메모리 읽기' 제어 신호를 메모리에 보냄
- 메모리는 해당 주소들에 있는 데이터를 CPU에 전달, 서로 다른 레지스터에 저장됨
- ALU가 읽어 들인 데이터로 연산 수행, 결과를 메모리에 저장 -> 첫 명령어 끝
- 다음 명령어를 읽기 위해 제어장치가 '메모리 읽기' 제어 신호를 메모리에 보냄
- 2번 반복
- 제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단
- 제어장치는 '메모리 쓰기' 제어 신호와 함께 레지스터에 저장되어 있던 계산 결과를 메모리에 보냄
- 메모리가 계산 결과를 저장함
- 보조기억장치
- 전원이 꺼져도 보관될 프로그램을 저장하는 부품. 메모리를 보조할 저장 장치
- 메모리의 약점: 비싼 가격으로 인한 적은 저장 용량, 전원이 꺼지면 저장된 내용을 잃음
- 하드 디스크, SSD, USB 메모리 등..
- 메모리: 현재 '실행되는' 프로그램을 저장 <-> 보조기억장치: '보관할' 프로그램 저장
- 입출력장치
- 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
- 마우스, 키보드, 마이크, 스피커, 프린터 등..
- 보조기억장치도 관점에 따라 입출력장치의 일종으로 볼 수 있다
- 보조기억장치와 입출력장치를 주변장치라 통칭하기도 함
- 메인보드와 시스템 버스
- 메인보드(마더보드): 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결 단자가 있음
- 버스: 메인보드에 연결된 부품들이 서로 정보를 주고받는 통로
- 시스템 버스: 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스. 제어 버스, 주소 버스, 데이터 버스로 구성됨
- 제어 버스로 '메모리 읽기' 등의 제어 신호를, 주소 버스로 읽고자 하는 주소를, 데이터 버스로 주소 안의 내용을 주고받는다
'혼공단' 카테고리의 다른 글
[혼공S] 3주차 - SQL 고급 (0) | 2023.07.23 |
---|---|
[혼공S] 1주차 - 데이터베이스 시작하기 (0) | 2023.07.04 |
혼공단 시작 (0) | 2023.06.30 |