CPU 3

[혼자 공부하는 컴퓨터 구조+운영체제] 4. CPU의 작동 원리 - 명령어 사이클과 인터럽트

명령어 사이클 프로그램 속 명령어들은 일정한 주기가 반복되며 실행 이 주기를 명령어 사이클이라고 함 메모리에 저장된 명령어를 CPU가 실행하려면? 인출 사이클 실행 사이클 그런데 CPU로 명령어를 가지고 와도 바로 실행이 불가능한 경우도 있음 인터럽트 CPU가 꼭 주목해야할 때, CPU가 얼른 처리해야 할 다른 작업이 생겼을 때 → 발생 동기 인터럽트(예외) CPU가 예기치 못한 상황을 접했을 때 발생 비동기 인터럽트(하드웨어) 주로 입출력장치에 의해 발생하는 다른 하드웨어가 보내주는 인터럽트 왜 쓰나? CPU가 입출력 작업 도중에도 효율적으로 명령어를 처리하기 위해 사용 인터럽트의 처리 순서 입출력장치는 CPU에게 인터럽트 요청 신호를 보낸다 CPU는 실행 사이클이 끝나고 명령어를 인출하기 전 항상 인..

CS 2023.04.30

[혼자 공부하는 컴퓨터 구조+운영체제] 4. CPU의 작동 원리 - 레지스터

레지스터 CPU 내부에 있는 작은 임시저장장치 프로그램 속 명령어, 데이터는 실행 전후로 레지스터에 저장 레지스터마다 각기 다른 역할이 있음(CPU 종류마다 레지스터의 종류는 다름) 레지스터의 종류(8개) 프로그램 카운터(Instruction Pointer = 명령어 포인터) 메모리에서 읽어 들일 명령어의 주소 명령어 레지스터 해석할 명령어(방금 메모리에서 읽어 들일 명령어) 메모리 주소 레지스터 CPU가 읽어들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터(메모리 주소) 메모리 버퍼 레지스터 CPU가 정보를 데이터 버스로 주고받을 때 거치는 레지스터(데이터와 명령어) 플래그 레지스터 연산 결과 또는 CPU 상태에 대한 부가적인 정보 범용 레지스터 다양하고 일반적인 상황에서 자유롭게 사용 스택 ..

CS 2023.04.30

[혼자 공부하는 컴퓨터 구조+운영체제] 4. CPU의 작동 원리 - ALU와 제어장치

ALU 계산기 레지스터로부터 피연산자를 받아들이고 제어장치로부터 제어 신호를 받아들임 제어장치 제어 신호를 발생시키고 명령어를 해석하는 장치 클럭 컴퓨터의 모든 부품을 일사분란하게 움직일 수 있게 하는 시간 단위 플래그 CPU가 연산 결과로서 받아들이는 부가 정보 2023.04.28 - [CS] - [혼자 공부하는 컴퓨터 구조+운영체제] 3. C언어의 컴파일 과정 [혼자 공부하는 컴퓨터 구조+운영체제] 3. C언어의 컴파일 과정 C언어의 컴파일 과정 전처리(preprocess) 본격적으로 컴파일 하기 전에 준비 작업 외부에 선언된 다양한 소스 코드, 라이프러리 포함(e.g. #include) 프로그래밍의 편의를 위해 작성된 매크로 변환(e.g. d wiwi-si.tistory.com 출처 [무료] 개발자..

CS 2023.04.30