简化教学计算机(SIC)是一种假设的计算机,具有通常在真实计算机中发现的硬件功能。该机器有两个版本:
- SIC标准型号
- SIC / XE(额外的设备或昂贵的设备)
可以在SIX / XE上正确执行SIC的目标程序,这称为向上兼容性。
SIC机器架构/组件–
- 记忆 –
- 存储器是字节可寻址的,即字通过其最低编号的字节的位置来寻址。
- 计算机内存中有2 ^ 15个字节(1个字节= 8位)
3个连续字节= 1个字(24位= 1个字)
- 寄存器–
SIC中有5个寄存器。每个寄存器都有一个与之关联的地址,称为寄存器号。每个寄存器的大小为3个字节。根据寄存器大小,整数大小取决于。I. A(Accumulator-0):用于数学运算。
二。 X(索引寄存器-1):用于寻址。
三, L(链接寄存器2):存储子程序中指令的返回地址。
IV。 PC(程序计数器8):保存下一条要执行的指令的地址。
V. SW(状态字9):它包含各种信息状态字寄存器:
- 模式位是指用户模式(值= 0)或监督模式(值= 1)。它占1位。[0]
- 状态位是指进程处于运行状态(值= 0)还是空闲状态(值= 1)。它也占用1位。[1]
- id位是指进程id(PID)。它占用3位。[2-5]
- CC位是指条件代码,即,它指示设备是否准备就绪。它占用2位。[6-7]
屏蔽位是指中断屏蔽。它占用4位。[8-11] - X表示未使用的位。它还占用4位。[12-15]
- ICode指的是中断代码,即中断服务程序。它占据了剩余的位。[16-23]
- 数据格式–
- 整数以24位表示。
- 负数以2的补码表示。
- 字符由8位ASCII值表示。
- 没有浮点表示形式。
- 指令格式–
SIC中的所有指令均为24位格式。- 如果x = 0,则表示直接寻址模式。
- 如果x = 1,则表示索引寻址模式。
- 指令系统 –
- 加载和存储指令:将数据从累加器移动或存储到存储器,反之亦然。例如LDA,STA,LDX,STX等。
- 比较指令:用于按累加器中的内容比较存储器中的数据。例如COMP数据。
- 算术指令:用于对累加器和存储器执行运算并将结果存储在累加器中。例如ADD,SUB,MUL,DIV等。
- 条件跳转:比较累加器和存储器的内容,并根据条件执行任务。例如JLT,JEQ,JGT
- 子例程链接:与子例程相关的指令。例如JSUB,RSUB
- 输入和输出–
它是通过一次从累加器的最右8位或向最右8位传输1个字节来执行的。每个设备都有8位唯一代码。
有3条I / O指令:- 测试设备(TD)测试设备是否准备就绪。为此,请使用状态字寄存器中的条件代码。如果cc为<,则设备准备就绪,否则设备繁忙。
- 读取数据(RD)从设备读取一个字节并存储在寄存器A中。
- 写入数据(WD)将寄存器A中的一个字节写入设备。
参考:
Leland.L.Beck:《系统编程简介》,第三版,Addison-Wesley,1997年。