📜  简化教学计算机(SIC)

📅  最后修改于: 2021-06-28 09:32:17             🧑  作者: Mango

简化教学计算机(SIC)是一种假设的计算机,具有通常在真实计算机中发现的硬件功能。该机器有两个版本:

  1. SIC标准型号
  2. SIC / XE(额外的设备或昂贵的设备)

可以在SIX / XE上正确执行SIC的目标程序,这称为向上兼容性。

SIC机器架构/组件–

  1. 记忆 –
    • 存储器是字节可寻址的,即字通过其最低编号的字节的位置来寻址。
    • 计算机内存中有2 ^ 15个字节(1个字节= 8位)
      3个连续字节= 1个字(24位= 1个字)
  2. 寄存器–
    SIC中有5个寄存器。每个寄存器都有一个与之关联的地址,称为寄存器号。每个寄存器的大小为3个字节。根据寄存器大小,整数大小取决于。

    I. A(Accumulator-0):用于数学运算。
    二。 X(索引寄存器-1):用于寻址。
    三, L(链接寄存器2):存储子程序中指令的返回地址。
    IV。 PC(程序计数器8):保存下一条要执行的指令的地址。
    V. SW(状态字9):它包含各种信息

    状态字寄存器:

    33333

    • 模式位是指用户模式(值= 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]
  3. 数据格式–
    • 整数以24位表示。
    • 负数以2的补码表示。
    • 字符由8位ASCII值表示。
    • 没有浮点表示形式。
  4. 指令格式–
    SIC中的所有指令均为24位格式。

    666666

    • 如果x = 0,则表示直接寻址模式。
    • 如果x = 1,则表示索引寻址模式。
  5. 指令系统 –
    • 加载和存储指令:将数据从累加器移动或存储到存储器,反之亦然。例如LDA,STA,LDX,STX等。
    • 比较指令:用于按累加器中的内容比较存储器中的数据。例如COMP数据。
    • 算术指令:用于对累加器和存储器执行运算并将结果存储在累加器中。例如ADD,SUB,MUL,DIV等。
    • 条件跳转:比较累加器和存储器的内容,并根据条件执行任务。例如JLT,JEQ,JGT
    • 子例程链接:与子例程相关的指令。例如JSUB,RSUB
  6. 输入和输出–
    它是通过一次从累加器的最右8位或向最右8位传输1个字节来执行的。每个设备都有8位唯一代码。
    有3条I / O指令:
    • 测试设备(TD)测试设备是否准备就绪。为此,请使用状态字寄存器中的条件代码。如果cc为<,则设备准备就绪,否则设备繁忙。
    • 读取数据(RD)从设备读取一个字节并存储在寄存器A中。
    • 写入数据(WD)将寄存器A中的一个字节写入设备。

    参考:
    Leland.L.Beck:《系统编程简介》,第三版,Addison-Wesley,1997年。