본문 바로가기
혼공단

[혼공컴운] 1주차 - 컴퓨터 구조 시작

by 망쇼 2023. 7. 7.

기본 미션

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가지 핵심 부품

  1. 주기억장치(메모리)
  • 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품
  • 프로그램이 실행되려면 반드시 메모리에 저장되어 있어야 한다
  • 메모리에 저장된 값의 위치는 주소로 알 수 있다
  1. 중앙처리장치(CPU, 컴퓨터의 두뇌)
  • 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석, 실행하는 부품. ALU, 레지스터, 제어장치가 있다.
  • 산술논리연산장치(ALU): 컴퓨터 내부에서 수행되는 대부분의 계산을 수행
  • 레지스터: CPU 내부에서 프로그램을 실행하는데 필요한 값들을 임시로 저장하는 장치. CPU 안에 여러개가 존재하고, 각각 다른 이름과 역할을 가지고 있음
  • 제어장치: 제어 신호를 내보내고 명령어를 해석하는 장치.(제어 신호: 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호.)
  • CPU가 명령어를 실행하는 법
    1. 제어장치가 '메모리 읽기' 제어 신호를 메모리에 보냄
    2. 메모리는 명령어를 CPU에게 전달하고, 이는 레지스터에 저장됨
    3. 제어장치는 명령어를 해석한 뒤 다른 주소들에 저장된 데이터가 필요하다고 판단
    4. 제어장치가 다른 주소들에 '메모리 읽기' 제어 신호를 메모리에 보냄
    5. 메모리는 해당 주소들에 있는 데이터를 CPU에 전달, 서로 다른 레지스터에 저장됨
    6. ALU가 읽어 들인 데이터로 연산 수행, 결과를 메모리에 저장 -> 첫 명령어 끝
    7. 다음 명령어를 읽기 위해 제어장치가 '메모리 읽기' 제어 신호를 메모리에 보냄
    8. 2번 반복
    9. 제어장치는 이 명령어를 해석한 뒤 메모리에 계산 결과를 저장해야 한다고 판단
    10. 제어장치는 '메모리 쓰기' 제어 신호와 함께 레지스터에 저장되어 있던 계산 결과를 메모리에 보냄
    11. 메모리가 계산 결과를 저장함
  1. 보조기억장치
  • 전원이 꺼져도 보관될 프로그램을 저장하는 부품. 메모리를 보조할 저장 장치
  • 메모리의 약점: 비싼 가격으로 인한 적은 저장 용량, 전원이 꺼지면 저장된 내용을 잃음
  • 하드 디스크, SSD, USB 메모리 등..
  • 메모리: 현재 '실행되는' 프로그램을 저장 <-> 보조기억장치: '보관할' 프로그램 저장
  1. 입출력장치
  • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품
  • 마우스, 키보드, 마이크, 스피커, 프린터 등..
  • 보조기억장치도 관점에 따라 입출력장치의 일종으로 볼 수 있다
  • 보조기억장치와 입출력장치를 주변장치라 통칭하기도 함
  1. 메인보드와 시스템 버스
  • 메인보드(마더보드): 여러 컴퓨터 부품을 부착할 수 있는 슬롯과 연결 단자가 있음
  • 버스: 메인보드에 연결된 부품들이 서로 정보를 주고받는 통로
  • 시스템 버스: 컴퓨터의 네 가지 핵심 부품을 연결하는 가장 중요한 버스. 제어 버스, 주소 버스, 데이터 버스로 구성됨
  • 제어 버스로 '메모리 읽기' 등의 제어 신호를, 주소 버스로 읽고자 하는 주소를, 데이터 버스로 주소 안의 내용을 주고받는다

'혼공단' 카테고리의 다른 글

[혼공S] 3주차 - SQL 고급  (0) 2023.07.23
[혼공S] 1주차 - 데이터베이스 시작하기  (0) 2023.07.04
혼공단 시작  (0) 2023.06.30