- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                CS4100计算机结构InstructionSetArchitecture
                    (Make noise) Back row!  You in the (describe clothing)! I do a load byte from t0 to t1.  What do I get in t1? F7? Is there anything you would like to add to your statement?  So your final answer is F7?  (Alarm.wav) Instruction Set-* Arrays vs. Pointers Array indexing involves Multiplying index by element size Adding to array base address Pointers correspond directly to memory addresses Can avoid indexing complexity Instruction Set-* Example: Clearing an Array clear1(int array[], int size) {   int i;   for (i = 0; i  size; i += 1)     array[i] = 0; } clear2(int *array, int size) {   int *p;   for (p = array[0]; p  array[size];        p = p + 1)     *p = 0; }        move $t0,$zero   # i = 0 loop1: sll $t1,$t0,2    # $t1 = i * 4        add $t2,$a0,$t1  # $t2 =                         #   array[i]        sw $zero, 0($t2) # array[i] = 0        addi $t0,$t0,1   # i = i + 1        slt $t3,$t0,$a1  # $t3 =                         #   (i  size)        bne $t3,$zero,loop1 # if (…)                           # goto loop1        move $t0, $a0   # p =  array[0]        sll $t1, $a1, 2 # $t1 = size * 4        add $t2,$a0,$t1 # $t2 =                        #   array[size] loop2: sw $zero,0($t0) # Memory[p] = 0        addi $t0,$t0,4  # p = p + 4        slt $t3,$t0,$t2 # $t3 =                        #(parray[size])        bne $t3,$zero,loop2 # if (…)                            # goto loop2 Instruction Set-* Comparison of Array vs. Ptr Multiply “strength reduced” to shift (strength reduction) Array version requires shift to be inside loop Part of index calculation for incremented i c.f. incrementing pointer Compiler can achieve same effect as manual use of pointers Eliminating array address calculations within loop (induction variable elimination): 6 instructions reduced to 4 in loop Better to make program clearer and safer Instruction Set-* Outline Instruction set architecture (using MIPS ISA as an example) Operands  Register operands and their organization Memory operands, data tran
                您可能关注的文档
最近下载
- 九年级语文上册期中测试卷.docx VIP
- 如何提高培智学校课堂教学的有效性-最新资料.pptx VIP
- 人教版小学六年级下册数学精品教学课件 第二单元 百分数(二) 2.2 成数.ppt VIP
- 1访谈记录不忘初心方得始终.pdf VIP
- 八年级期中考试质量分析报告.doc VIP
- 2023年郑州中牟事业单位笔试参考答案 - 副本.pdf VIP
- 机器人滚压包边DPCA F12 001-2008.doc VIP
- (完整版)水电、风电效益测算分析表.xls VIP
- 甘教版初中八年级信息技术第四章《多媒体作品的规划与设计》说课课件.ppt VIP
- 人教版小学六年级下册数学精品教学课件 第二单元 百分数(二) 2.1 折扣.ppt VIP
 原创力文档
原创力文档 
                        

文档评论(0)