반응형
SIC
virtual 환경에서 작동
SIC/XE 에서 SIC 함수 사용가능하지만 역은 안됨
Memory
- 1byte = 8bits
- 3byte = 1word
- 'r' 시 p값이 3 씩 증가
- 전체 $2^{15}$ bytes
Register
- 각 레지스터는 1word
- A(0) : 기본적인 산술연산 저장
- X(1) : 주소저장, 계산
- L(2) : 함수로 JUMP 시 돌아올 주소 저장
- PC(8) : 다음 실행 명령어 저장
- SW(9) : 산술연산 결과상태 필드플래그 저장
Data Format
- Integer : 1word , binary
- Character : 1byte ASCII code
명령어 포맷 구성
opcode(8) + X(1) + Address(15) = 24bit
주소지정방식
- X = 0 → 직접주소지정
- TA = Address
- X = 1 → 인덱스 주소 지정방식
- TA = Address + (X)
명령어 타입
- LD(Load)
- LDA m : A ← (m)
- ST(Store)
- STA m : m ← (A)
- 산술연산
- ADD, SUB,...
- COMP
- COMP m : A와 B를 비교후 LT, GT, EQ 를 SW에 저장
- TIX m : X+1 과 비교, 저장
- 조건부 점프
- J m : PC ← m
- JLT m : PC ← m , if cc set to <
- JRT m
- JEQ m
- 서브루틴 링커
- JSUB m : L ← (PC), PC ← m
- RSUB : PC(L)
- I /O
- TD
- WD
- RD
- 저장소 정의
- CHARA BYTE C'A'
- FOUR WORD 4
SIC/XE
- SIC 보다 전체 메모리가 크다 ($2^{20}$)
Register
- B(3) : 주소 지정
- S(4) : 범용 레지스터
- T(5) : 범용 레지스터
- F(6) : 실수연산 (2word)
Data Format
- Floating Point 추가
- S(1) EXP (11) Fraction(36)
Instruction Format
- Format 1 (1byte)
- opcode(1byte)
- Format 2 (2byte)
- opcode(1byte) + reg1(4bit) + reg2(4)
- Format 3 (3byte)
- opcode(6) nixbpe (6) disp (12)
- e = 0
- b=1, p=0 : Base relative : TA = B + disp
- b=0, p=1 : PC relative : TA = PC + disp
- b=0, p=0 : direct : TA = disp
- Format 4 (4byte)
- opcode(6) nixbpe(6) address(20)
- e = 1
- n=0, i=1 : immediate Addressing : TA값을 주소로 사용 않고, 그 자체로 값사용
- n=1, i=0 : indirect Addressing : TA를 간접주소사용
- n=0,i=0 , n=1,i=1 : Simple Addressing : TA로 메모리 접근
반응형
'Lecture > System Software' 카테고리의 다른 글
[시소프] 4. 서버, 클라이언트, fork() (0) | 2021.11.23 |
---|---|
[시소프] 2.Machine Level (0) | 2021.10.26 |
[시소프]1. Integer, Float (0) | 2021.10.25 |