Lecture 01 Course Overview

内存访问方式

在这里插入图片描述
两者运行性能相差有20倍,为什么仅仅是嵌套方式的变化便产生了这么大的差距?这与内存层次结构中的缓存有关,看图:

在这里插入图片描述
这张图片显示了四种不同的内存访问方式,基本上复制程序的吞吐量是以 兆字节/秒 为单位的。这这里,不深入细节,我们看到的是,这两个函数在内存访问模式中处于不同的位置,一行接一行的访问方法比一列接一列的访问方法好很多,这和内存层次结构中的缓存有关。

扩展实验(了解即可)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 实现一个函数返回其输入参数的绝对值,条件是限制使用的运算符类型,它必须是顺序执行的代码没有条件或循环(如何在机器中表现数据的方式)
  2. 炸弹实验。教我们如何阅读和理解汇编语言的方式。一颗炸弹,简单的来说,他是一个由六个阶段组成的C程序,每个阶段都需要从键盘上键入内容,如果输入了它想我们输入的内容,表明你已经拆解了这一部分的炸弹进入下一阶段,输入错误,炸弹爆炸。六个阶段拆解完成,炸弹解除。异常条件是没有源代码,只有二进制炸弹,所以为了化解炸弹,必须启动GDB,单步调试直到找到每一阶段的代码,然后逆向编译,找到它想要你输入的内容。
  3. 攻击实验室。针对64位体系结构,反映了从32位到64位的改变。我们将学习如何编写漏洞,利用返回到一种称为返回到返回导向编程的现代技术。
  4. 缓存实验。在研究内存层次结构时,在内存层次结构中中所进行的一种实验,这用于学习高速缓冲储存器这一硬件的工作原理,我们将建一个模拟器查看,然后使用一个小的转置功能,尝试着让我们的代码在模拟器上产生尽可能少的不命中。
  5. Shell实验。
  6. Malloc Lab实验。编写自己的malloc 和 free
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值