반응형

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)

명령어 타입

  1. LD(Load)
    1. LDA m : A ← (m)
  2. ST(Store)
    1. STA m : m ← (A)
  3. 산술연산
    1. ADD, SUB,...
  4. COMP
    1. COMP m : A와 B를 비교후 LT, GT, EQ 를 SW에 저장
    2. TIX m : X+1 과 비교, 저장
  5. 조건부 점프
    1. J m : PC ← m
    2. JLT m : PC ← m , if cc set to <
    3. JRT m
    4. JEQ m
  6. 서브루틴 링커
    1. JSUB m : L ← (PC), PC ← m
    2. RSUB : PC(L)
  7. I /O
    1. TD
    2. WD
    3. RD
  8. 저장소 정의
    1. CHARA BYTE C'A'
    2. 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

+ Recent posts