본문 바로가기
컴퓨터 기초/운영체제 이론

5.컴퓨터 구조

by 인생여희 2021. 1. 18.

컴퓨터 구조

 

프로그래머 관점

-컴퓨터 구조를 잘 아는 프로그래머도 컴퓨터 디자인에 참여

-컴퓨터 디자인은 레지스터와 명령어 디자인

 

레지스터 디자인의 핵심

 

- 레지스터는 비트로 구성할 것인가?

 

 

일반적으로 N비트 시스템이라면 레지스터도 N비트다.

예) 32비트 시스템  = 레지스터 32비트

 

32비트 시스템에서 데이터의 최소 단위가 32비트이다.

그래서 레지스터도 데이터를 동일하게 32비트로 담는다.

 

예제에서는 16비트로 구성한다.

 

 

 

- 정도로 레지스터를 구성할 것인가?

 

많으면 많을 수록 좋다. 하지만 예제에서는 8개로 구성한다.

 

 

 

-레지스터 각각을 무슨 용도로 사용할 것인가?

 

레지스터는 특별한 목적을 가지고 있는 저장장치다.

 

이처럼 목적과 용도를 정해 두면, 명령어가 단순해지고, 속도도 빨라진다.

 

예)

범용레지스터 (연산을 위한 레지스터) r1~ r3

특별한 목적을 위한 레지스터  r4 ~ r7

 

 

 

 

명령어 구조 명령어 디자인

 

 

 

16비트 시스템

예) 16비트 시스템에서는 레지스터도 16비트이고, 명령어도 16비트로 구성된다.

 

 

사칙연산 명령어 구성(달라질 있음)

예약 2비트

명령어(연산자) 담기위해서 3비트

저장소(레지스터) 담기위해서 3비트

숫자를 담기위한 피연산자(레지스터 값도 들어갈 수 있음) 4비트 

숫자를 담기위한 피연산자(레지스터 값도 들어갈 수 있음) 4비트

 

참고 : 위의 조합은 명령어에 따라서 조합이 달라질 수 있다.

 

피연산자 1, 2에는 숫자도 올 수 있고, 레지스터도 올 수 있다. 그렇다면 만약 0001 이라는 값이 담기면

숫자 1인지, 레지스터값의 r1인지는 어떻게 알까?

 

4비트중에서 제일 첫 비트에 0 또는 1을 넣어줘서 숫자인지 레지스터인지 판별한다.

 

 

 

그럼 3비트 남는데 3비트에는 숫자 0 부터 7까지 만 담을 수 있다. 

 

100+ 100은 어떻게 연산 할 수 있을까?

 

 

 

 

 

 

참고: 시스크 cpu

명령어 하나당 총 3클럭이 발생한다.

패치 1 클럭

디코더 1 클럭

실행 1 클럭

 

만약 명령어가 5개면 15클럭이 발생한다.

 

리스크 cpu 는 명령어 수 + 2 = 7 클럭

 

 

참고 

뇌를 자극하는 윈도우즈 시스템 프로그래밍 정리 - 한빛출판네트워크 

 

 

 

 

 

'컴퓨터 기초 > 운영체제 이론' 카테고리의 다른 글

7.Direct 모드와 Indirect 모드  (0) 2021.01.19
6.Load * Store 명령어 디자인  (0) 2021.01.18
4.Win32비트 Vs Win64비트  (0) 2021.01.18
3.아스키 코드 & 유니코드  (0) 2021.01.18
2.프로그램 실행과정  (0) 2021.01.18