COA 2019

第九次作业特别通知

特别通知: 由于平台在push代码时会忽略src目录以外任何文件的改动,请在提交代码时将max.txt文件放置到src/main/resources/下,并将Max.java中指定的文件路径修改为src/main/resources/max.txt ...

第九次作业

作业目标使用二进制编写并执行一段简单的if-else语句 具体要求请输出以下过程的0-1二进制指令,每个指令占一行注意,部分指令的组成可能包含ModR/M字段(opcode+ModR/M+displacement+imm),而prefix和SIB则不会涉及 1234567a = 10b = 40c = 5if a > b: c = aelse: c = b 假设内存中的数据段只包含了......

第八次作业

作业目标实现指令控制状态机ICC 具体要求上一次作业只要求能够解析和执行单条指令,本次作业要求能够执行一连串的指令 为此需要实现: 实现 opcode=0xf4 hlt 指令 在上一次作业的基础上实现ICC状态机,允许对代码进行重构 在CPU中,指令的执行流一般是由ICC进行控制,如图所示,其中不需要考虑ICC=0b11的中断分支: 补充说明 ICC状态机会不断重复获取、解析、执行指令,......

第七次作业

作业目标能够正确解析和执行单条指令 具体要求实现以下opcode对应的指令的解析和执行: opcode=0x05 ADD eAX,Iv opcode=0x0D OR eAX,Iv opcode=0x15 ADC eAX,Iv opcode=0x1D SBB eAX,Iv opcode=0x25 AND eAX,Iv opcode=0x2D SUB eAX,Iv opcode=0x35 XO......

第六次作业

COA2019请参考 MMU.java 和 Memory.java 的类注释,实现三种内存管理模式下的地址转换和存储管理: 实模式 分段 段页式 组织逻辑MMU(Memory Management Unit)为本次作业的数据访问接口,其数据流为: 测试用例调用MMU#read()方法使用逻辑地址访问数据 MMU 根据 Memory 的管理策略将逻辑地址转换成 Memory 的物理地址 ......

第五次作业说明

programming05的提交时间以Moodle为准(11.9-11.12) ...

第五次作业

1.在Cache类中实现fetch方法将数据从内存读到Cache(如果还没有加载到Cache)并返回被更新的Cache行的行号(需要调用不同的映射策略和替换策略) 1String fetch(String sAddr, int len){ 2.实现三种映射策略(直接映射、全关联映射、组关联映射)和三种替换策略(先进先出、最少使用、最近使用) ...

第四次作业

在ALU类中实现整数的二进制除法 operand1 ÷ operand2输入为32位二进制补码,输出为65位0-1字符串(1位溢出(溢出则置为1) + 32位商 + 32位余数)注意:除数为0,且被除数不为0时要求能够正确抛出ArithmeticException异常特殊值可以使用BinaryIntegers.java中定义的值 1String div(String src, String ......

第三次作业

在ALU类中实现整数的二进制乘法(要求使用布斯乘法实现)输入和输出均为32位二进制补码,计算结果直接截取低32位作为最终输出 1String mul(String src, String dest) 在FPU类中实现浮点数的二进制乘法输入和输出均为32位IEEE-754标准的单精度二进制数,分数部分(23 bits)的计算结果直接截取前23位 1String mul(String a, ......

感谢以下同学的贡献

2020-01-04 11:29:181830266 庄子元,发现programming09的JNLE不能向前跳转的问题,以及AND和XOR指令没有把CF和OF标志位设置为0的问题 2019-12-13 20:20:181850259 祖力依克然·开赛尔,发现programming07的jz指令的偏移量应该包含自身指令长度的问题 2019-12-09 22:27:181250041 韩禧,发......