4장. 컴퓨터 구조에 대한 두 번째 이야기

Download Report

Transcript 4장. 컴퓨터 구조에 대한 두 번째 이야기

4장. 컴퓨터 구조에 대한 두 번째 이야기
작성자: 윤성우
1
Section 1: 컴퓨터 구조의 접근방법
2
컴퓨터를 디자인 하자

프로그래머 관점



컴퓨터 구조를 잘 아는 프로그래머도 컴퓨터 디자인에 참여
컴퓨터 디자인은 레지스터와 명령어 디자인
레지스터 디자인의 핵심



레지스터는 몇 비트로 구성할 것인가?
몇 개 정도로 레지스터를 구성할 것인가?
레지스터 각각을 무슨 용도로 사용할 것인가?
3
명령어 구조 및 명령어 디자인

명령어의 기본 모델


16비트 명령어
사칙연산 명령어 구성
4
Section 2: LOAD & STORE 명령어 디자인
5
LOAD & STORE 명령어의 필요성

명령어의 제한



사칙연산의 피 연산자는 숫자 or 레지스터
연산결과는 레지스터에 저장
즉 레지스터를 통해서 모든 연산을 진행 하겠다!
int a=10; // 0x10번지 할당
int b=20; // 0x20번지 할당
int c=0;
// 0x30번지 할당
c=a+b;
6
LOAD & STORE 명령어 디자인

LOAD 명령어
LOAD

r1,
0x20
STORE 명령어
STORE
r1, 0x20
7
문제해결
LOAD r1, 0x10
LOAD r2, 0x20
ADD r3, r1, r2
STORE r3, 0x30
8
Section 3. Direct 모드와 Indirect 모드
9
Direct 모드의 문제점

명령어 구성의 또 다른 문제점
LOAD r1, 0x0010
LOAD r2, 0x0100 (구성 불가)
10
Direct 모드와 Indirect 모드
11
문제해결!
LOAD r1, 0x0010
MUL r0, 4, 4
MUL r2, 4, 4
MUL r3, r0, r2
STORE r3, 0x0030
LOAD r2, [0x0030]
ADD r3, r1, r2
12
4장 끝났습니다.
13