[taocp] 1.3.1 mix 설명

25
[TAOCP] 1.3.1MIX 설명 ohyecloudy http://ohyecloudy.com 아꿈사 http://cafe.naver.com/architect1.cafe 2011.04.16

Upload: -

Post on 27-Jun-2015

1.613 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: [TAOCP] 1.3.1 MIX 설명

[TAOCP] 1.3.1MIX 설명

ohyecloudy http://ohyecloudy.com

아꿈사 http://cafe.naver.com/architect1.cafe 2011.04.16

Page 2: [TAOCP] 1.3.1 MIX 설명

몇 진수?

byte, word, ~byte field

필드 명세

명령 형식, 표기법

연산자 이름 규칙

Page 3: [TAOCP] 1.3.1 MIX 설명

MIX는 OO진수 컴퓨터와 상관없이 잘 돌아간다.

2진수 컴퓨터, 10진수 컴퓨터 맘대로 생각해라. 알고리즘을 짤 때, 절대 이 레벨까지는 안 내려옴. 한 단계 위에 기본 단위를 정의해야 함.

Page 4: [TAOCP] 1.3.1 MIX 설명

몇 진수?

byte, word, ~byte field

필드 명세

명령 형식, 표기법

연산자 이름 규칙

Page 5: [TAOCP] 1.3.1 MIX 설명

자료 기본 단위 byte 우리가 아는 byte(8bit)와 다름.

더 이상 쪼개질 수 없는 단위

2진수

Page 6: [TAOCP] 1.3.1 MIX 설명

이만큼 서로 구별되는 값을 담을 수 있다.

64 ≤ byte ≤ 100 OO진수라도 이 값만 담을 수 있음 된다. byte로 놀기 땜시롱

Page 7: [TAOCP] 1.3.1 MIX 설명

+ 24 0

내림수 배째

+ 23 9

+ 0 ?

64 ≤ 내림수 ≤ 100

Page 8: [TAOCP] 1.3.1 MIX 설명

MIX 기계어로 프로그램을 작성할 때에는 한 바이트에 64개보다 많은 값들이 존재하지 않는다는 가정을 깔아야 한다. … MIX로 작성된 알고리즘은 하나의 바이트가 얼마나 큰 지와 무관하게 제대로 작동해야 한다.

- p162

니가 실제 컴퓨터에서 프로그래밍을 할 때에는~

책에서는 이렇게 설명하겠다.

커누스 형님. 걍 통일해서 쉽게쉽게 갑시다. 흑

Page 9: [TAOCP] 1.3.1 MIX 설명

0 1 2 3 4 5

± byte byte byte byte byte

5byte + 부호 = word

Page 10: [TAOCP] 1.3.1 MIX 설명

2byte 이상이 묶임 = ~byte field 0 1 2 3 4 5

± byte byte byte byte byte

+ 2000 2 3 8 예)

2byte field

Page 11: [TAOCP] 1.3.1 MIX 설명

~byte field는 다시 byte로 분해 불가능

+ 65 2 3 8

+ 1 1 2 3 8

64로 생각하면 안 됨

Page 12: [TAOCP] 1.3.1 MIX 설명

몇 진수?

byte, word, ~byte field

필드 명세

명령 형식, 표기법

연산자 이름 규칙

Page 13: [TAOCP] 1.3.1 MIX 설명

(L:R) 제일 왼쪽 필드 제일 오른쪽 필드

워드 중 일부분만 사용하려고

Page 14: [TAOCP] 1.3.1 MIX 설명

0 1 2 3 4 5

± byte byte byte byte byte

(0:0) ± byte byte byte byte byte

(0:2) ± byte byte byte byte byte

(0:5) ± byte byte byte byte byte

(1:5) ± byte byte byte byte byte

(4:4) ± byte byte byte byte byte

(4:5) ± byte byte byte byte byte

Page 15: [TAOCP] 1.3.1 MIX 설명

8L + R (L:R)을 숫자 하나로 표현, byte에 저장하려고

(1:3) = 8 X 1 + 3 = 11

Page 16: [TAOCP] 1.3.1 MIX 설명

몇 진수?

byte, word, ~byte field

필드 명세

명령 형식, 표기법

연산자 이름 규칙

Page 17: [TAOCP] 1.3.1 MIX 설명

OP ADDRESS,I(F) 연산 코드 이름 예) LDA, STA, STX, …

0 1 2 3 4 5

± A A I F C

명령 워드

Page 18: [TAOCP] 1.3.1 MIX 설명

OP ADDRESS,I(F) 메모리 주소 MIX에서 유효한 주소는 0~3999 어라? 음수도 되네? 뒤에 다시 설명

0 1 2 3 4 5

± A A I F C

명령 워드

Page 19: [TAOCP] 1.3.1 MIX 설명

OP ADDRESS,I(F) 색인 지정, 0일 때 생략 ADDRESS에 rIi 값을 더한다.

M = ±AA + 색인 지정된 인덱스 레지스터 값

예) ±AA = +2000, I = 3, rI3 = 20 M = 2020

0 1 2 3 4 5

± A A I F C

명령 워드

색인 처리가 끝난 주소

Page 20: [TAOCP] 1.3.1 MIX 설명

OP ADDRESS,I(F)

0 1 2 3 4 5

± A A I F C

명령 워드

필드 명세 해당 명령 정규(normal) F 명세일 때 생략 - 거의 대부분 워드 전체인 (0:5) - 명령에 따라 달라질 수 있음

Page 21: [TAOCP] 1.3.1 MIX 설명

몇 진수?

byte, word, ~byte field

필드 명세

명령 형식, 표기법

연산자 이름 규칙

Page 22: [TAOCP] 1.3.1 MIX 설명

[연산자 대표 이름]

A rA 쿵짝쿵짝

X rX 쿵짝쿵짝

1~6(i) rIi 꿍짝쿵짝

N 부호 반대

J rJ 쿵짝쿵짝

Z 0을 ~한다

예) LD, ST, …

Page 23: [TAOCP] 1.3.1 MIX 설명

연산자 설명은 문제 풀이 하면서 하나하나 설명했다간 수명이 줄어들 것 같다.

Page 24: [TAOCP] 1.3.1 MIX 설명
Page 25: [TAOCP] 1.3.1 MIX 설명