SIC머신이란 가상컴퓨터를 말합니다.
아주 기초적인 능력만 가지고 있는, 하지만 왠만한건 모두 해낼수 있는 가상의 컴퓨터!
흔히 컴퓨터를 전공하는 사람들이 접하게 되는데,
이제부터 그 가상 컴퓨터 SIC머신에 대해서 알아보도록 합시다.
2. 메모리 |
Word Size (명령어를 처리하는 가장 기본적인 단위)로 3바이트를 사용하고 있으며
모든 주소는 바이트 주소이다.1주소는 1번째 위치한 바이트, 5주소는 5번째 위치한 바이트..
1워드는 가장 낮은 바이트가 바로 시작주소입니다.
100번지 |
101번지 |
102번지 |
24비트중 15비트는 주소를 표현하기 위해 사용한다. 총 32768개를 표현 할수 있답니다.
3. 레지스터(CPU 메모리) |
자자 드디어 레지스터!!
SIC머신에서는 총 5개의 레지스터를 사용하고, 각각의 레지스터는 24bits(4바이트)
각각의 레지스터를 알아보도록 하죠!
레지스터 이름 |
레지스터 번호 |
용도 |
A | 0 | 누산기 : 사칙연산 (특별히 레지스터를 지정하지 않으면 요놈을 씀) |
X | 1 | 인덱스 : 배열의 첨자처럼 사용되는 레지스터 |
L | 2 | 링키지 : 서브루틴으로 점프라는 명령어를 쓰면, 점프하죠. 다시 돌아와야 할 위치를 기억해야 하는 레지스터입니다. -_-;요놈 없으면 길 잃어버려요. |
PC | 8 | 프로그램 카운터 : 아주 중요합니다. 다음에 실행해야할 명령어가 저장되어 있는 주소를 기억하는 레지스터거든요. |
SW | 9 | 스테이터스 워드 : 입출력 상태의 결과를 반영 / 저장하는 레지스터 |
휴~ 정리가 끝났군요. 뭐 글 재주가 없어서 그렇지, 알고보면 어렵지 않습니다.
그냥 레지스터라는게 메모리니깐 뭔가를 저장하고 있는거구나.. 하고 생각하세요.
레지스터 이름은 사람이 지은 겁니다. 외우기 쉽잖아요? 어큐물레이터 (누산기)의 앞자를 따와서 A.
하지만 컴퓨터는 바보라서, 저런걸 모릅니다. 그래서 컴퓨터는 레지스터를 번호로 기억하죠.
4. 데이터 포멧 |
자 이제부터 SIC머신에서 지원하는 데이터 포멧을 보도록해요.
Integet : 24bits를 사용합니다.
Character : 8bits 아스키코드를 사용합니다.
실수는 지원하지 않습니다. SIC머신에선 위와 같이 딱 2개의 데이터 포멧만 지원합니다.
5. 명령 포멧 |
위에서 언급했듯이 CPU가 처리하는 명령어 단위(워드)가 3바이트라고 했죠.
OP Code(명령어 코드) (8bits) |
X (1bit) |
Address (15bits) |
3바이트니깐 24비트. 그 24비트를 위와같이 사용합니다.
OP Code- 어떤 명령을 할건지에대한 정보가 담겨져 있어요. 덧셈이냐..뺄셈이냐..뭐냐..
X - 1이면 Indexed Addressing
0이면 No Indexed Addressing
Address - 명령대상의 주소(Target Addreesing)가 담겨져 있습니다.
6. Addressing Mode (SIC머신의 주소사용방법) |
SIC머신에서 사용하는 주소방법은 딱 2개있습니다.
위에 X (1bit)보이시죠? 그게 0일경우와 1일경우인데
0이면 Direct 모드
1이면 Indexed모드.
Direct 모드는 15비트 자체가 그냥 주소입니다. TA(Target Addressing) = Addressing이 되겠군요.
Indexed 모드는 TA = Addressing + (X)입니다.
아차. 괄호친 X는 레지스터의 의미입니다!
휴 오늘은 여기까지 하죠. 다음엔 명령어에 대해서 알아보도록 해요.
[출처] http://1228.tistory.com
'컴퓨터공학 기초 > Embedded system' 카테고리의 다른 글
uC/os-ii 뛰어넘기 (1~6) (0) | 2013.07.22 |
---|---|
Introduce of Microprocessor (0) | 2011.10.14 |
SIC/XE 머신이란? - 2부 ( 주소 계산 방법, 주소 해석 방법, 명령어 ) (0) | 2010.09.18 |
SIC/XE 머신이란 무엇인가? (0) | 2010.09.18 |
SIC 머신이란 무엇인가? (가상컴퓨터) - 2부 (0) | 2010.09.18 |