새소식

Computer Science/Computer Architecture

[혼자 공부하는 컴퓨터 구조] Chapter 01. 컴퓨터 구조 시작하기

  • -

 

본 게시물은 ‘강민철, ⌜혼자 공부하는 컴퓨터구조 + 운영체제⌟, 한빛미디어, 2022’ 을 인용하였습니다.

 

1. 컴퓨터 구조를 알아야 하는 이유

  • 문제 해결의 실마리를 다양하게 찾을 수 있다.
  • 문법만으로는 알기 어려운 성능, 용량, 비용을 고려해 개발할 수 있다.

 

 

2. 컴퓨터 구조의 큰 그림

2-1. 컴퓨터가 이해하는 정보

  • 데이터(data) : 컴퓨터가 이해하는 숫자, 문자, 이미지, 동영상 등 정적인 정보
    • 명령어를 위해 존재하는 일종의 재료
  • 명령어(instruction) : 데이터를 움직이고 컴퓨터를 작동시키는 정보

 

2-2. 컴퓨터의 4가지 핵심 부품

 

Preview

  • 중앙처리장치(CPU; Central Processing Unit)
  • 주기억장치(Main memory, 메모리)
    • RAM(Random Access Memory) == 메모리
    • ROM(Read Only Memory)
  • 보조기억장치(Secondary storage)
  • 입출력장치(I/O Device)

 

메모리

  • 현재 실행되는 프로그램의 명령어/데이터 저장하는 부품
    • 즉, 프로그램이 실행되려면 반드시 메모리에 저장되어야 함
  • 빠른 작동 위해서는 저장된 명령어, 데이터 위치가 정돈되어 있어야 함
    • 저장된 값에 빠르고 효율적인 접근 위해 ‘주소(address)’ 개념 사용
    • 저장된 값의 위치를 주소를 통해 알 수 있음

 

 

CPU

  • 메모리에 저장된 명령어를 읽어 들이고, 읽어 들인 명령어를 해석/실행하는 부품
  • CPU 내부 구성 요소
    • 산술논리연산장치(ALU; Arithmetic Logic Unit) : 컴퓨터 내부의 수행되는 대부분 계산 수행
    • 레지스터(Register) : CPU 내부의 작은 임시 저장 장치
      • 여러 레지스터 존재, 각각 다른 이름/역할
    • 제어장치(CU; Control Unit) : 제어 신호(control signal) 내보내고 명령어를 해석하는 장치
      • 제어 신호 : 컴퓨터 부품 관리/작동 위한 일종의 전기 신호
      • CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리 향해 ‘메모리 읽기’ 제어 신호 전송
      • CPU가 메모리에 어떤 값을 저장하고 싶을 땐 메모리 향해 ‘메모리 쓰기’ 제어 신호 전송
  • CPU가 메모리의 명령어를 실행하는 과정

1. 제어장치는 1번지에 저장된 명령어를 읽기 위해 메모리에 ‘메모리 읽기’ 제어 신호 전송

 

2. 

① 메모리는 1번지에 저장된 명령어를 CPU에 건네줌 → 레지스터에 저장됨

② 제어장치는 읽어 들인 명령어 해석 후, 3번지/4번지에 저장된 데이터가 필요하다고 판단

③ 제어장치는 3번지/4번지에 저장된 데이터를 읽기 위해 메모리에 ‘메모리 읽기’ 제어 신호 전송

3.

① 메모리는 3번지/4번지에 저장된 데이터를 CPU에게 건네줌 → 서로 다른 레지스터에 저장됨

② ALU가 읽어 들인 데이터로 연산 수행

③ 계산의 결과값은 레지스터에 저장됨

계산이 끝나면, 첫 번째 명령어 실행이 종료됨

4.

① 제어장치는 2번지에 저장된 다음 명령어를 읽기 위해 ‘메모리 읽기’ 제어 신호 전송

② 메모리는 2번지에 저장된 명령어를 CPU에게 건네줌 → 레지스터에 저장됨

③ 제어장치는 해당 명령어 해석 뒤, 메모리에 계산 결과를 저장해야 한다고 판단

④ 제어장치는 계산 결과를 저장하기 위해 메모리에 ‘메모리 쓰기’ 제어 신호와 함께 계산 결괏값인 220을 보냄

메모리가 계산 결과를 저장하면 두 번째 명령어 실행도 끝남

 

보조기억장치

  • 메모리 단점 : 가격, 휘발성
  • 보조기억장치는 메모리보다 크기가 크고 비휘발성인 저장 장치
  • 보조기억장치 예시 : HDD, SSD, USB, CD-ROM, DVD 등
  • 메모리에 현재 ‘실행되는’ 프로그램을 저장한다면
    보조기억장치는 ‘보관할’ 프로그램을 저장하는 것

 

입출력장치

  • 마이크, 스피커, 프린터, 마우스, 키보드 등과 같이 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환하는 장치

 

메인보드와 시스템 버스

  • 메인보드(main board) : 컴퓨터 핵심 부품들이 연결되는 판
    • 여러 컴퓨터 부품을 부착할 수 있는 슬롯, 연결 단자 있음
    • 메인보드에 연결된 부품들은 서로 정보를 주고받을 수 있음 → 버스(bus) 통로 덕분
  • 시스템 버스(system bus) : 컴퓨터 내부의 여러 버스 가운데 가장 중요한 버스
    • 주소 버스(address bus) : 주소 주고받는 통로
    • 데이터 버스(data bus) : 명령어/데이터 주고받는 통로
    • 제어 버스(control bus) : 제어 신호 주고받는 통로
  • CPU 작동 예시 - 값 읽기

  1. 제어 버스로 ‘메모리 읽기’ 제어 신호 전송
  2. 주소 버스로 읽고자 하는 주소 전송
  3. 메모리는 데이터 버스로 CPU가 요청한 주소에 있는 내용 전송
  • CPU 작동 예시 - 값 저장

  1. 데이터 버스 통해 메모리 저장할 값
  2. 주소 버스 통해 저장할 주소
  3. 제어 버스 통해 ‘메모리 쓰기’ 제어 신호 전송

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.