본 글은 숭실대학교 컴퓨터학부 최재영 교수님의 시스템 프로그래밍 강의와 자료를 기반으로 작성되었습니다


 

컴퓨터 시스템 기본 구조

Fetch Decode Execute Cycle

Fetch : 프로그램 카운터(PC)에서 실행할 명령어를 명령어 레지스터(IR)에 저장한다. 이후 PC는 1 증가시킨다.

Decode : 가져온 2진코드를 해독하여 수행할 작업을 결정한다. (opcode, operand를 해석한다)

Get Data : 피연산자(operand)를 주기억장치로부터 가져온다

Execute : AlU를 통해서 연산을 수행한다.

 

SIC/XE (Simplified Instructional Computer)

 

단순화 시킨 가상 컴퓨터의 표준 모델

실제 컴퓨터 모델과 명령어를 이해하기 쉽게 단순화 시켜 놓았다.

SIC/XE는 SIC의 확장된 모델이다.

사양(?)을 살펴보자

 

Memory

byte와 word라는 단위를 사용한다

1byte는  8bit로 동일하고

1 word - 3byte(24bit)를 말한다.

 

최대 메모리는 2^15승이다. 메모리 표현을 위해서는 15비트가 필요하다.

 

Registers

SIC모델은 24bits(3bytes, 1word)의 5개 레지스터를 가진다

 

A - accumulator - 누산기로 연산 값이 누적되는 레지스터

X - index(반복문) - X값만큼 주소값에 더해주는 형태

L - Linkage - return address 저장

PC - Program Counter - 실행할 다음 인스트럭션 주소값

SW - Status Word - flag를 저장 (계산 결과에 따라)

 

다음 글에 설명할 SIC/XE 모델은 여기서 4개의 레지스터가 추가된다

 

B - Base register - used for Addressing

S, T - General working - 데이터 저장만 가능 산술 연산에 사용 불가

F - Floating-point - 부동 소수점을 위한 레지스터(48bits)

 

Data Formats

2가지 자료형을 가진다

Integer :  24bit 사용하는 숫자 자료형

Character : 1byte 아스키 코드 문자

 

 

Instruction Format

 

총 24bit 포멧이다

8bit는 명령어를 지정하고 뒤에 1비트는 인덱싱 모드를 지정하는 비트이다.

x = 0 Target Address = address

x = 1 Target Address = address + (X)

이때 (X)는 X레지스터에 있는 값이다. 이를 이용해 인덱싱 및 반복문을 지원한다

뒤에 15bit는 2^15승 SIC 모델의 메모리 주소값을 표현하기 위한 address

 

 

 

몇가지 인스트럭션 셋이다

모든 명령어는 Appendix에 있는데

추후에 설명할 Instruction Format 형식과 Opcode 에 대한 정보, 레지스터에 행해지는 연산 등이 기재되어있다.

'시스템프로그래밍' 카테고리의 다른 글

SIC/XE Machine  (0) 2024.03.08