[CS : 컴퓨터 구조] 컴퓨터 구조에 대하여

2023. 10. 18. 16:14·Computer Science/컴퓨터 구조

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

ⓐ 문제 해결 능력을 기를 수 있다.

ex) 같은 코드를 써도 환경에 따라 다른 경우, 컴퓨터를 분석의 대상으로 바라볼 수 있게된다.

 

ⓑ 성능, 용량, 비용을 고려한 개발을 할 수 있기 때문

ex) 웹 사이트를 운영한다고 가정한다면 운영할 사이트의 서버 컴퓨터를 구매하게 될 때 내가 개발한 코드가 어느정도의 성능, 용량, 비용을 갖고 있는 컴퓨터가 필요한 지 개발자 스스로가 판단 할 수 있어야 한다.

(AWS같은 클라우드 서비스를 이용하더라도 판단 능력은 필요하다.)

 

01-2 컴퓨터 구조의 큰그림

[ 컴퓨터 구조 ]

컴퓨터가 이해하는 두 가지 정보 : 데이터

  • 컴퓨터와 주고받는 정보 또는 내부에 저장된 정보를 데이터라고 부르기도 한다.
  • 숫자, 문자, 이미지, 동영상과 같은 정적인 정보
  • 0과 1로 숫자 또는 문자를 표현하는 방법

컴퓨터가 이해하는 두 가지 정보 : 명령어

  • 컴퓨터는 결국 명령어를 처리하는 기계이다.
  • 명령어 : 컴퓨터를 실질적으로 움직이는 정보, 데이터는 명령어를 위한 일종의 재료
  • 명령어의 생김새와 동작 방식

컴퓨터의 네 가지 핵심 부품

  • CPU · 메모리 · 보조기억장치 · 입출력장치으로 이루어져 있다.
더보기

메모리는 주기억장치 or 메인메모리라고도 부른다. 하드웨어적 관점에서 보면 RAM or ROM으로 구분된다.

[  컴퓨터 핵심부품 구성 ]

④ 메모리

[ 메모리 구조 ]

  • 현재 실행되는 프로그램 (프로세스)의 명령어와 데이터를 저장하는 부품
  • 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야한다.
  • 메모리에 저장된 값의 위치는 주소로 알 수 있다.

③ CPU

  • 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다.
  • 구성 : 크게 ALU, 레지스터, 제어장치로 구성되어있다.
  • ALU(산술 논리 연산 장치) : 계산기 역할
  • 레지스터 : CPU 내부의 작은 저장장치
  • 제어장치 : 제어신호를 내보내고, 명령어를 해석하는 장치(제어신호란 컴퓨터 부품들을 관리하고 작동시키기 위한 전기 신호를 말한다.)
더보기

CPU가 메모리에 저장된 값을 읽고 싶을 땐 메모리를 향해 메모리 읽기라는 제어신호를 보내고 메모리에 어떤 값을 저장하고 싶을 땐 메모리를 향해 메모리 쓰기라는 제어신호를 보낸다.

 

CPU 작동 순서

CPU의 제어장치를 통해 제어신호를 내보냄
메모리에 담겨있던 명령어가 CPU내부의 레지스터에 담기고 제어장치는 이를 해석한 후 다시 제어신호를 보냄

 

데이터를 가져와 메모리에 저장 후 ALU에서 연산처리를 하고 결과값을 레지스터에 저장

이후 2번지에 있는 명령어또한 위와 같이 실행 후 제어장치의 메모리 쓰기라는 제어신호를 통해 메모리에 저장시킨다.

 

⑤ 보조 기억 장치

  • 메모리는 실행할 정보를 저장하고 보조기억장치는 보관할 정보를 저장한다.
  • 전원이 꺼져도 저장할 수 있도록 하기 위한 장치

⑥ 입·출력장치

  • 컴퓨터 외부에 연결되어 컴퓨터 내부와 정보를 교환할 수 있는 부품

① 메인보드

  • 메인보드에 연결된 부품은 버스를 통해 정보를 주고 받는다.
  • 버스는 컴퓨터의 부품끼리 정보를 주고 받는 일종의 통로를 말한다.
  • 다양한 종류의 버스가 있다.
  • 컴퓨터의 핵심 부품을 연결하는 버스는 ' 시스템버스 ' 이다.
더보기

시스템 버스의 내부 구성

  • 주소 버스 : 주소를 주고 받는 통로
  • 데이터 버스 : 명령어와 데이터를 주고 받는 통로
  • 제어 버스 : 제어신호를 주고 받는 통로
  • 제어신호 or 주소 or 데이터 등에 따라 사용되는 버스가 달라진다.

 

 

 

출처: 인프런-개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
https://www.inflearn.com/course/%ED%98%BC%EC%9E%90-%EA%B3%B5%EB%B6%80%ED%95%98%EB%8A%94-%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/dashboard
 

[무료] 개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제 - 인프런 | 강의

베스트셀러 『혼자 공부하는 컴퓨터 구조 + 운영체제』 저자 무료 직강. 개발자들이 꼭 알아야 할 컴퓨터 구조, 운영체제 전공서 요약집., 개발자 필수지식 컴퓨터 구조와 운영체제강의 하나로

www.inflearn.com

 

저작자표시

'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

[CS : 컴퓨터 구조] C 언어의 컴파일 과정  (1) 2023.10.25
[CS : 컴퓨터 구조] 03-2 명령어의 구조  (1) 2023.10.24
[CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어  (0) 2023.10.23
[CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법  (0) 2023.10.20
[CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법  (0) 2023.10.19
'Computer Science/컴퓨터 구조' 카테고리의 다른 글
  • [CS : 컴퓨터 구조] 03-2 명령어의 구조
  • [CS : 컴퓨터 구조] 명령어 : 03-1 소스코드와 명령어
  • [CS : 컴퓨터 구조] 데이터 : 02-2 0과 1로 문자를 표현하는 방법
  • [CS : 컴퓨터 구조] 데이터 : 02-1 0과 1로 숫자를 표현하는 방법
JinSeong
JinSeong
재미없으면 안한다.
  • JinSeong
    As you think, so shall you become.
    JinSeong
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • 📆 Today I Learned(개발언어학습) (76)
        • JAVA (20)
        • HTML (1)
        • JSP (46)
        • SPRING (2)
        • ORACLE(DB) (6)
        • CSS (1)
      • 📆 Today I Learned(코딩테스트) (0)
        • JAVA (0)
      • Computer Science (9)
        • 컴퓨터 구조 (9)
        • 운영체제 (0)
        • 자료구조 & 알고리즘 (0)
        • 데이터베이스 (0)
      • 창고 (11)
        • 기초지식 (7)
        • 파일창고 (0)
        • 기술지식창고 (0)
        • 버그버그 👀 (4)
      • Tools🔧 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    레지스터
    SQL
    제어장치
    java 스케줄러
    Oracle
    DB
    java json리턴 에러
    jdk구분
    명령어
    instanceof 연산자
    JAVA문자열자르기
    환경변수 차이
    java 객체타입확인
    java버전 표현
    ALU
    no converter found for
    spring 스케줄러
    substring()
    CPU
    이클립스 오버라이딩 메소드 자동 생성 기능
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JinSeong
[CS : 컴퓨터 구조] 컴퓨터 구조에 대하여
상단으로

티스토리툴바