Skip to content

Commit

Permalink
Update 2024-10-25-os.md
Browse files Browse the repository at this point in the history
  • Loading branch information
yulmwu committed Nov 1, 2024
1 parent 0d6d075 commit c7d53e2
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion _posts/fast/2024-10-25-os.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ tags: ["컴퓨터", "하드웨어", "CPU"]
1 0000 0010 (2)
```

여기서 최상위비트 1은 캐리이다.
여기서 최상위비트 1은 캐리이다. 결과값이 음수라면 플래그라는 곳에 음수 부호 플래그가 저장된다.

### 1-1-3. 그 외 진법

Expand Down Expand Up @@ -535,6 +535,28 @@ ALU의 입력엔 단순히 "계산을 하기 위한 필요한 정보"가 입력
### 2-1-2. 제어장치

**제어장치**는 제어신호를 발생시키거나 받아서 제어하고, 명령어를 해석하는 장치이다.
제어장치의 입력과 출력엔 아래와 같다:

* 입력
* 플래그 레지스터로 부터 -> 플래그
* 명령어 레지스터로 부터 -> 해석할 명령어
* 다른 장치로 부터 -> 제어신호
* 출력
* 제어신호 -> 레지스터 또는 ALU 등의 CPU 내부
* 제어신호 -> 메모리 또는 입출력장치 등의 CPU 외부 (제어 버스)

자주 등장하는 용어인 **제어 신호**부터 설명을 하자면, 제어 신호는 이름 그대로 제어를 위한 특별한 신호를 의미한다.
CPU 내부로 전달되는 제어 신호는 레지스터 간 데이터 전송, ALU엔 어떠한 연산을 처리하라 등의 제어 신호이며, CPU 외부로 전달되는 제어 신호는 메모리 접근, 입출력 장치 인터럽트 등의 제어 신호를 보낸다.
외부로 전달될 땐 제어 버스라는 통로로 이동되는데, 이는 추후에 따로 설명할 예정이다.

또한 추후 설명할 외부에서 인터럽트 등의 제어 신호가 제어장치로 들어오는 경우도 있고, 이 또한 제어 버스를 통한다.

이 처럼 주요 기능중 하나인 제어 신호를 통한 제어가 있고, 다른 주요 기능인 **명령어 해석** 또한 제어 장치에서 처리된다.

메모리에서 명령어를 가져올때(인출할때) 메모리 레지스터라는 레지스터에 우선 가져오고, 제어장치에서 명령어를 해석할때 이 레지스터에서 인출한다.
또한, 플래그 레지스터에서 부가적인 정보 또한 사용하여 명령어를 해석하고 실행한다.

명령어의 구조는 앞서 설명했으며, 해석 과정은 추후 설명할 예정이다.

### 2-1-3. 레지스터

Expand Down

0 comments on commit c7d53e2

Please sign in to comment.