加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

调试程序中存在错误或CPU内部发生的错误?

发布时间:2021-05-05 13:37:08 所属栏目:外闻 来源:互联网
导读:指令,或者使其停在指定的位置。 以英特尔的IA结构CPU为例,其提供的调试支持如下。 INT 3指令:又叫断点指令,当CPU执行到该指令时便会产生断点异常,以便中断到调试器程序。INT 3指令是软件断点的实现基

指令,或者使其停在指定的位置。

以英特尔的IA结构CPU为例,其提供的调试支持如下。

  • INT 3指令:又叫断点指令,当CPU执行到该指令时便会产生断点异常,以便中断到调试器程序。INT 3指令是软件断点的实现基础。
  • 标志寄存器(EFLAGS)中的TF标志:陷阱标志位,当该标志为1时,CPU每执行完一条指令就产生调试异常。陷阱标志位是单步执行的实现基础。
  • 调试寄存器DR0~DR7:用于设置硬件断点和报告调试异常的细节。
  • 断点异常(#BP):INT 3指令执行时会导致此异常,CPU转到该异常的处理例程。异常处理例程会进一步将异常分发给调试器软件。
  • 调试异常(#DB):当除INT 3指令以外的调试事件发生时,会导致此异常。
  • 任务状态段(TSS)的T标志:任务陷阱标志,当切换到设置了T标志的任务时,CPU会产生调试异常,中断到调试器。
  • 分支记录机制:用来记录上一个分支、中断和异常的地址等信息。
  • 性能监视:用于监视和优化CPU及软件的执行效率。
  • JTAG支持:可以与JTAG调试器一起工作来调试单独靠软件调试器无法调试的问题。

除了对调试功能的直接支持,CPU的很多核心机制也为实现调试功能提供了硬件基础,比如异常机制、保护模式和性能监视功能等。

CPU是Central Processing Unit的缩写,即中央处理单元,或者叫中央处理器,有时也简称为处理器(processor)。头一款集成在单一芯片上的CPU是英特尔公司于1969年开始设计并于1971年推出的4004,与当时的其他CPU相比,它的体积可算是微乎其微,因此,人们把这种实现在单一芯片上的CPU(Single-chip CPU)称为微处理器(microprocessor)。目前,绝大多数(即使不是全部)CPU都是集成在单一芯片上的,甚至多核技术还把多个CPU内核(core)集成在一块芯片上,因此微处理器和处理器这两个术语也几乎被等同起来了。

尽管现代CPU的集成度不断提高,其结构也变得越来越复杂,但是它在计算机系统中的角色仍然非常简单,那就是从内存中读取指令(fetch instruction),然后解码(decode)和执行(execute)。指令是CPU可以理解并执行的操作(operation),它是CPU能够“看懂”的语言。本文将以这一核心任务为线索,介绍关于CPU的基本知识和概念。

指令和指令集

某一类CPU所支持的指令集合简称为指令集(Instruction Set)。根据指令集的特征,CPU可以划分为两大阵营,即RISC和CISC。

精简指令集计算机(Reduced Instruction Set Computer,RISC)是IBM研究中心的John Cocke博士于1974年提出的。其基本思想是通过减少指令的数量和简化指令的格式来优化和提高CPU执行指令的效率。RISC出现后,人们很自然地把与RISC相对的另一类指令集称为复杂指令集计算机(Complex Instruction Set Computer,CISC)。

RISC处理器的典型代表有SPARC处理器、PowerPC处理器、惠普公司的PA-RISC处理器、MIPS处理器、Alpha处理器和ARM处理器等。

CISC处理器的典型代表有x86处理器和DEC VAX-11处理器等。头一款x86处理器是英特尔公司于1978年推出的8086,其后的8088、80286、80386、80486、奔腾处理器及AMD等公司的兼容处理器都是兼容8086的,因此人们把基于该架构的处理器统称为x86处理器。

基本特征

下面将以比较的方式来介绍RISC处理器和CISC处理器的基本特征和主要差别。除非特别说明,我们用ARM处理器代表RISC处理器,用x86处理器代表CISC处理器。

一,大多数RISC处理器的指令都是等长的(通常为4个字节,即32比特),而CISC处理器的指令长度是不确定的,最短的指令是1个字节,有些长的指令有十几个字节(x86)甚至几十个字节(VAX-11)。定长的指令有利于解码和优化,其缺点是目标代码占用的空间比较大(因为有些指令没必要用4字节)。对于软件调试而言,定长的指令

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读