본문 바로가기

윈도우즈 시스템 프로그래밍

컴퓨터 구조 -2

* 컴퓨터 구조의 접근 방법


일단 16비트를 디자인하고 레지스터 개수도 8개로 제한한다.

레지스터의 이름은 r0~r7이고 r4 = ir (instruction register) , r5 = sp (stack pointer) , r6 = lr (link register) , r7 = pc (program counter)로 정한다.



*명령어 구조 및 명령어를 디자인하자


- 명령어 기본 구성


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|-----------| -----------------|------------------|--------------------------|--------------------------|



ⅰ: 예약    ⅱ : 연산자    ⅲ : 저장소    ⅳ : 피연산자1    ⅴ: 피연산자2




※ 피연산자의 비트중 제일 왼쪽에 비트에 1이 들어가면 레지스터 정보, 0이 들어가면 숫자 정보이다.



※ 명령어의 형태에 따라서 컨트롤 유닛의 구조가 결정된다. => 명령어의 형태에 따라서 컨트롤 유닛의 논리회로가 디자인된다는 뜻이다.


※ 첫 번째 피연산자 위치에는 레지스터 이름이 와야 한다.



* LOAD & STORE 명령어 디자인


LOAD : 메인 메모리에 저장된 데이터를 레지스터로 이동시키기 위한 명령어


STORE : 레지스터에 저장된 데이터를 메인 메모리로 이동시키기 위한 명령어



- 명령어 LOAD의 형식

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


      예약       |        LOAD        |     destination     |                           source                              |



    - 명령어 STORE의 형식

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|      예약    |         STORE      |           source     |                       destination                            |





* Direct 모드와 Indirect 모드


- Direct 모드 : 주소값을 명령어에 직접 표현한다.


-Indirect 모드 : 주소값을 명령어에 간접적으로 표현한다.


※ Indirect 모드는 명령어에서 지정하는 번지에 저장된 값을 주소값으로 참조한다.

[ ] 기호로 표현한다.



'윈도우즈 시스템 프로그래밍' 카테고리의 다른 글

컴퓨터 구조 - 4  (0) 2016.08.08
컴퓨터 구조 - 3  (0) 2016.08.08
컴퓨터 구조 - 1  (1) 2016.08.07