happyso
study with nyeongnyeong
happyso
전체 방문자
오늘
어제
  • 분류 전체보기 (291)
    • GIT (3)
    • 컴퓨터 기본 개념 (29)
    • 알고리즘 (125)
      • 알고리즘 문제 (115)
      • 알고리즘 개념 (10)
    • Go (1)
    • 클라우드 (48)
      • DevOps (3)
      • Kubernetes(쿠버네티스) (28)
      • AWS (6)
      • CKA (8)
    • 리눅스(Linux) (18)
      • 컨테이너(Container) (8)
    • Front (21)
      • JavaScript (2)
      • React (19)
    • Python (21)
      • Python 웹 크롤링 (11)
      • Django (7)
      • MachineLearning (3)
    • 데이터베이스 (6)
      • MariaDB (2)
      • MongoDB (4)
    • C언어 (5)
    • Trouble Shooting (2)
    • 네트워크 (6)
      • CCNA (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • edit
  • 15
  • apply
  • 18
  • replace
  • kubernetes
  • Patch

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
happyso

study with nyeongnyeong

[홍정모의 따라하며 배우는 C언어] CPU가 일하는 방법
컴퓨터 기본 개념

[홍정모의 따라하며 배우는 C언어] CPU가 일하는 방법

2022. 3. 6. 14:17

  • 프로그램이 실행되면, 보조기억장치에 있던 데이터가 주기억장치로 옮겨진다
  • 주기억장치와 CPU가 통신하여 처리한다

  • 고수준 프로그래밍 언어로 작성하면 CPU를 통해 기계어로 변경한다

CPU 가 일하는 순서

1. 프로그램 카운터가 시작점을 말해준다

2. 메모리 주소 레지스터에 주소값 전달

3. 메모리 데이터 레지스터가 내부 데이터를 읽음

4. 메모리 데이터 레지스터가 읽어온 것이 instruction이기 때문에 명령어 레지스터로 옮겨감

5. 프로그램 카운터가 하나 증가된다. 프로그램 카운터는 항상 다음번에 읽어올 메모리의 주소를 가지고 있어야 하기 때문에 프로그램이 실행되기 전에 하나 증가됨

6. 명령어 레지스터에 있는 명령어가 제어장치로 들어감. 그럼 제어장치가 해독한다 (디코드라고 함)

7. 10번지에 있는 데이터를 가져오기 위해 10이라는 주소를 메모리 주소 레지스터를 넣어줌

8. 메모리 데이터 레지스터가 10에 있는 주소값을 읽음

9. 메모리 데이터 레지스터에 있는 것이 인스트럭션이 아닌 값이므로 + LOAD라는 명령어 이므로 어큐뮬레이터로 이동

저작자표시 비영리

'컴퓨터 기본 개념' 카테고리의 다른 글

[홍정모의 따라하며 배우는 C언어] 정보의 단위 & 이진수  (0) 2022.03.06
[홍성모의 따라하며 배우는 C언어] CPU의 기본 구조  (0) 2022.03.01
[홍정모의 따라하며 배우는 C언어] 메모리 기본구조  (0) 2022.03.01
[홍정모의 따라하며 배우는 C언어] 운영체제가 해주는 일들  (0) 2022.03.01
[홍정모의 따라하며 배우는 C언어] 컴퓨터를 켤 때 일어나는 일들  (0) 2022.03.01
    '컴퓨터 기본 개념' 카테고리의 다른 글
    • [홍정모의 따라하며 배우는 C언어] 정보의 단위 & 이진수
    • [홍성모의 따라하며 배우는 C언어] CPU의 기본 구조
    • [홍정모의 따라하며 배우는 C언어] 메모리 기본구조
    • [홍정모의 따라하며 배우는 C언어] 운영체제가 해주는 일들
    happyso
    happyso

    티스토리툴바