* 컴퓨터 구조의 접근 방법
일단 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 |