论文部分内容阅读
民
摘要:计算机新技术不断出现,实际使用的CPU在设计理念上也有了不小的变化。还有嵌入式计算机及其应用也非常之多。这些都对“微机原理与接口技术”课程的教学提出了挑战。本文介绍了以808618088CPU为主要依托、平台的课程教学中,如何突出基本原理,如何解决理论落后于实际、脱离实际的问题,怎么体现先进的技术理念等方面的思考及做法。
关键词:微机原理;接口技术;微处理器;教改
“微机原理与接口技术’作为大学工科专业的一门重点课程,目的在于加强学生对于微型计算机硬件组成的理解,提高对于计算机硬件应用,甚至硬件开发的能力。它的基本内容包括三个部分:微型计算机组成和工作原理、指令系统和汇编语言程序设计、接口技术。
20世纪80年代初,国内各高校主要是以8位机Z80为模型机来讲授该课程。随着微型计算机技术的发展和应用的普及,20世纪80年代末以后的授课内容就逐步改成以Intel 8086/8088为模型机,并且到目前为止,授课内容基本上没有大的变化,形成了较为稳定的课程体系。
但毕竟8088/8086CPU早就退出了应用领域,与8086相应的配套芯片在计算机中也早就不再使用。另外目前实际使用的CPU在设计理念方面有了不小的变化。还有嵌入式计算机及其应用也非常之多。所以在教学中需要适当引入微机最新的发展状况、趋势,以及CPU最新的设计理念,使教学内容跟上时代发展的步伐。在教学的实施过程中面临着新的挑战,如基本概念、原理如何体现及讲授;课程内容的先进性和实用性;本门课程对学生能力培养及未来适应性;学生知识体系的合理性。
针对上述问题,教学方法、教学内容该如何组织,究竟该讲哪些内容,这些内容对学生综合素质及能力的培养,以及与嵌入式系统、单片机技术等课程内容的关系等问题是大家普遍关注的焦点,同时也是比较困惑的问题,也在尝试着手进行相应的教学改革。但目前都还处在探索阶段。
除了Intel 808618088为主要授课内容外,该课程目前在国内还有采用以Penfium为模型机的授课内容,以单片机、嵌入式内容为主的授课内容。本文主要介绍我们在教学中的一些尝试和体会。
一、现有的不同内容体系特点
目前,国内该课程内容体系基本上可以分为三大类:采用以Pentium为模型机的课程体系,以嵌入式、单片机内容为主的课程体系,以8086 CPU为模型机的内容体系。以8086 CPU为主要模型机的内容体系也是目前国内大多数高校采用的体系。三种体系各有优势,但也存在不同的问题。如以8086芯片讲授,方法和内容都是比较成熟的,但目前的芯片及接口几乎见不到了,也没有相应的应用;Pentium为模型机,内容和技术很新,但有关微机工作的基本概念、原理如何体现及讲授,有待于在今后的课程建设中去探索、研究。以嵌入式、单片机为模型,理论与实际结合较为紧密,是学生可以看得见,摸得到的应用。但嵌入式芯片发展快,芯片的更新也快;接口种类多,导致教材内容多等,另外接口都是集成在芯片中的,学生还是学习软件编程,对学生硬件设计能力方面的培养有局限性。
我们认为只要能够达到“微机原理与接口技术”课程的目的,覆盖课程的内容,选择什么样的CPU都应该是可以的:包括Intel的CPU、单片机、嵌入式芯片。
同时我们也一直在探索如何不局限于某种特定微处理器芯片的“微处理器与接口技术”课程内容与体系,即打破8086 CPU、单片机、嵌入式等各种CPU及接口芯片的界限,来整合该课程的内容、体系,使学生掌握基本原理,具备举一反三、再学习的能力,实现该课程的目的。
二、突出基本原理及原理的普遍性
虽然以8086 CPU为主要依托讲授的原理比较系统且体现方法成熟。但授课内容、原理不能只局限于8086CPU及相应的系统,而要教给学生可以长期起作用的、可使学生能很快地适应新的系统的原理、方法。这也正是该课程的目的所在,需要教师去总结、归纳并在课堂中突出和强调。
在教学实施过程中,在讲授具体的芯片原理、应用之前,对该类芯片的原理、操作、应用方法进行归纳总结。
以中断来讲。中断是CPU和外部设备交换数据的主要方式之一。不管什么型号的CPU都有处理中断的能力,中断是该课程中的重点内容。但是,不同CPU的中断机制是不完全相同的,不论是中断向量表,还是中断返回的处理都可能不同。在讲授中断一章时,首先介绍中断的基本概念,包括中断,中断源,中断的优先级、中断向量表、中断过程等的一般概念和过程,然后基于这些一般性的机制,讨论8086的中断系统。如在介绍中断向量表时可这样来处理:首先讲调用中断服务程序,必须将CPU的程序指针转移到服务程序的入口。解决这个问题的方法是使用中断向量表。中断向量表是系统RAM或者系统ROM的一个区域。向量表的大小取决于CPU支持的中断类型和数量。中断向量表都是以RAM或者ROM的地址作为坐标的。其次介绍目前有两种类型的中断向量表,并且是根据RAM或者ROM中存放内容的不同来划分的。再次分别介绍指令型的中断向量表、采用向量中断的向量表,以及他们的特点。然后在讨论8086的中断系统时再介绍8086系统采用的是向量中断。这时可对8086系统的向量中断进行详细介绍,并加以练习。这样处理的效果可使学生既了解到两种中断向量表及其特点,又重点掌握了8086系统的向量中断的概念及过程。
再如在微机常用接口技术一章中。首先要给学生这么一个概念。按照接口是否集成在处理器芯片中来划分,有片内接口和片外接口两种。具有片内接口的处理器在使用时不需要外接接口芯片,而片外接口的CPU与外部设备之间则是通过接口芯片连接的。两种类型接口的使用都是在不改变硬件的情况下,通过编程改变其功能、工作方式,使用起来非常灵活。然后再按照比较成熟的授课思路介绍可编程接口芯片,包括并行和串行数据接口、计数,定时器接口、DMA控制器和模拟接口等常用的典型接口电路及其使用方法。针对片内接口,在串行接口内容最后添加基于ARM7结构的STR710F处理器的串行接口模块为例介绍片内接口的使用方法。但该部分,还是以介绍8251为主,ARM的UART只是作为补充,不需要独立介绍。这样来组织教学,学生不仅掌握了接口的设计、使用方法,同时也体会和理解了片内接口与片外接口的使用方法是相同的,都是通过编程实现处理器与外设的通信。这不仅为学生以后学习单片机或嵌入式微处理器等具有片内接口的微处理器奠定了基础,同时也达到了对知识和应用的融会贯通。授课内容本身过渡得也较平滑、自然。
三、解决理论脱离实际的问题
仍以8086 CPU为主要依托、平台讲授基本原理的同时,如何解决大家普遍认为的8086体系理论落后于实 际、理论脱离实际的问题?我们的解决方法是在教学实施过程中添加得到广泛应用的嵌入式微处理器ARM的核心技术及其应用。但为了避免造成8086系统与嵌入式系统简单的1+1的合并效果,是以对比的方式来简要介绍ARM的原理、接口等,目的在于结合学生可以看得到的芯片、应用,来强调基本原理、共性东西,同时也使学生接触更先进的计算机体系结构及主流硬件技术。这种思路贯穿于整个授课内容。微处理器、指令系统及汇编语言程序设计三章内容是最不好处理的。下面举例介绍我们是如何进行内容的选取与衔接的。
在微处理器章节中,首先给出目前的处理器有复杂指令集处理器(CISC)和精简指令集处理器(RISC)两大系列,这两大系列处理器分别体现了CISC计算机和RISC计算机的主要特点。微处理器8086/8088属于CISC处理器,而嵌入式微处理器ARM属于RISC处理器。接着详细介绍8086/8088 CPU的基本工作原理及技术,包括8086/8088CPU的编程结构及其CPU的引脚信号和工作模式、寄存器结构、存储器组织及I/O组织,时序的基本概念等。在讲授这些内容时,也注重概述共性与差异性的东西。然后从微处理器工作的基本原理出发,给出ARM微处理器的主要特点,简要介绍ARM的编程结构。如可以这样来引出:与讨论过的8086处理器或X86处理器比较而言,ARM处理器在体系结构上有较大的不同,如处理器的工作模式、工作状态、寄存器组织、支持的数据类型、指令集等。但在基本工作原理方面,ARM处理器与8086处理器仍有许多共性的地方。接着可简要介绍ARM处理器属于RISC型处理器结构、定义了多种处理器工作模式、具有ARM和Thumb两种处理器工作状态、具有大量的寄存器,大多数操作都在寄存器中进行等体系结构方面的特点;采用固定的指令长度、访问内存使用LOAD/STORE模式等指令集方面的特点。在此基础上,总结性地介绍ARM的编程结构。
在接下来的寻址方式、指令系统中,除了主要介绍8086CPU的寻址方式、指令系统外,归纳总结ARM指令以及寻址方式的特点,最后围绕后面例子的需求简要介绍ARM的指令。在汇编语言程序设计章节中,首先介绍汇编语言程序及其开发方法、汇编语言源程序的结构、8086/8088汇编语言源程序的结构、8086/8088汇编语言常用伪指令等,然后简要介绍ARM汇编语言(上述介绍ARM指令和ARM汇编语言的原则是确保学生能够理解后续课程中相关例子,如汇编语言程序设计章节中的例子、基于ARM7结构的STR710F处理器的串行接口例子)。在基本结构程序设计中,顺序、分支、循环结构中的例子分别以8086/8088汇编语言和ARM汇编语言来实现。这样处理,使学生不仅掌握了8086指令系统及汇编语言程序设计,而且对ARM汇编语言的应用也有了较为系统的了解和认识。更重要的是通过对比、比较,学生对汇编语言程序设计方法有了更深层次的理解和掌握。
在接口技术章节中添加的基于ARM7结构的STR710F处理器中的串行模块介绍,一方面是用来说明片内接口的使用方法,另外也是ARM处理器的一个综合应用实例,是对ARM处理器结构、汇编语言程序设计、接口等内容的一个理解和总结。
四、融入先进的设计理念
目前实际使用的CPU在设计理念方面有了不小的变化,所以在课程内容中需要适当引入微机最新的发展状况、趋势,以及CPU最新的设计理念。
但考虑到授课学时限制及整体内容的协调与精炼,教学实施中仅增加了指令流水线、精简指令集以及哈佛结构的介绍,并且这些内容并没有单独占据一章节的篇幅,而是融合在了第一章微处理器的概述中。简要给出复杂指令集计算机与精简指令集计算机两种体系结构及其特点。对指令流水线的介绍也是从传统的指令的串行执行引入指令流水线及CPU执行效率的提高问题,接着给出8086/8088 CPU是采用二级流水线处理方式,取指令与执行指令同时进行;ARM7TDMI核则是采用了3级流水线,取指令、译码指令、执行指令3个阶段同时进行。这样处理后,既给了学生概念,又与后续内容可以很好地衔接。同时是在原来内容基础上略微延伸后引入的新概念,容易接受,并且没有增加较多的篇幅。
[责任编辑:文和平]
摘要:计算机新技术不断出现,实际使用的CPU在设计理念上也有了不小的变化。还有嵌入式计算机及其应用也非常之多。这些都对“微机原理与接口技术”课程的教学提出了挑战。本文介绍了以808618088CPU为主要依托、平台的课程教学中,如何突出基本原理,如何解决理论落后于实际、脱离实际的问题,怎么体现先进的技术理念等方面的思考及做法。
关键词:微机原理;接口技术;微处理器;教改
“微机原理与接口技术’作为大学工科专业的一门重点课程,目的在于加强学生对于微型计算机硬件组成的理解,提高对于计算机硬件应用,甚至硬件开发的能力。它的基本内容包括三个部分:微型计算机组成和工作原理、指令系统和汇编语言程序设计、接口技术。
20世纪80年代初,国内各高校主要是以8位机Z80为模型机来讲授该课程。随着微型计算机技术的发展和应用的普及,20世纪80年代末以后的授课内容就逐步改成以Intel 8086/8088为模型机,并且到目前为止,授课内容基本上没有大的变化,形成了较为稳定的课程体系。
但毕竟8088/8086CPU早就退出了应用领域,与8086相应的配套芯片在计算机中也早就不再使用。另外目前实际使用的CPU在设计理念方面有了不小的变化。还有嵌入式计算机及其应用也非常之多。所以在教学中需要适当引入微机最新的发展状况、趋势,以及CPU最新的设计理念,使教学内容跟上时代发展的步伐。在教学的实施过程中面临着新的挑战,如基本概念、原理如何体现及讲授;课程内容的先进性和实用性;本门课程对学生能力培养及未来适应性;学生知识体系的合理性。
针对上述问题,教学方法、教学内容该如何组织,究竟该讲哪些内容,这些内容对学生综合素质及能力的培养,以及与嵌入式系统、单片机技术等课程内容的关系等问题是大家普遍关注的焦点,同时也是比较困惑的问题,也在尝试着手进行相应的教学改革。但目前都还处在探索阶段。
除了Intel 808618088为主要授课内容外,该课程目前在国内还有采用以Penfium为模型机的授课内容,以单片机、嵌入式内容为主的授课内容。本文主要介绍我们在教学中的一些尝试和体会。
一、现有的不同内容体系特点
目前,国内该课程内容体系基本上可以分为三大类:采用以Pentium为模型机的课程体系,以嵌入式、单片机内容为主的课程体系,以8086 CPU为模型机的内容体系。以8086 CPU为主要模型机的内容体系也是目前国内大多数高校采用的体系。三种体系各有优势,但也存在不同的问题。如以8086芯片讲授,方法和内容都是比较成熟的,但目前的芯片及接口几乎见不到了,也没有相应的应用;Pentium为模型机,内容和技术很新,但有关微机工作的基本概念、原理如何体现及讲授,有待于在今后的课程建设中去探索、研究。以嵌入式、单片机为模型,理论与实际结合较为紧密,是学生可以看得见,摸得到的应用。但嵌入式芯片发展快,芯片的更新也快;接口种类多,导致教材内容多等,另外接口都是集成在芯片中的,学生还是学习软件编程,对学生硬件设计能力方面的培养有局限性。
我们认为只要能够达到“微机原理与接口技术”课程的目的,覆盖课程的内容,选择什么样的CPU都应该是可以的:包括Intel的CPU、单片机、嵌入式芯片。
同时我们也一直在探索如何不局限于某种特定微处理器芯片的“微处理器与接口技术”课程内容与体系,即打破8086 CPU、单片机、嵌入式等各种CPU及接口芯片的界限,来整合该课程的内容、体系,使学生掌握基本原理,具备举一反三、再学习的能力,实现该课程的目的。
二、突出基本原理及原理的普遍性
虽然以8086 CPU为主要依托讲授的原理比较系统且体现方法成熟。但授课内容、原理不能只局限于8086CPU及相应的系统,而要教给学生可以长期起作用的、可使学生能很快地适应新的系统的原理、方法。这也正是该课程的目的所在,需要教师去总结、归纳并在课堂中突出和强调。
在教学实施过程中,在讲授具体的芯片原理、应用之前,对该类芯片的原理、操作、应用方法进行归纳总结。
以中断来讲。中断是CPU和外部设备交换数据的主要方式之一。不管什么型号的CPU都有处理中断的能力,中断是该课程中的重点内容。但是,不同CPU的中断机制是不完全相同的,不论是中断向量表,还是中断返回的处理都可能不同。在讲授中断一章时,首先介绍中断的基本概念,包括中断,中断源,中断的优先级、中断向量表、中断过程等的一般概念和过程,然后基于这些一般性的机制,讨论8086的中断系统。如在介绍中断向量表时可这样来处理:首先讲调用中断服务程序,必须将CPU的程序指针转移到服务程序的入口。解决这个问题的方法是使用中断向量表。中断向量表是系统RAM或者系统ROM的一个区域。向量表的大小取决于CPU支持的中断类型和数量。中断向量表都是以RAM或者ROM的地址作为坐标的。其次介绍目前有两种类型的中断向量表,并且是根据RAM或者ROM中存放内容的不同来划分的。再次分别介绍指令型的中断向量表、采用向量中断的向量表,以及他们的特点。然后在讨论8086的中断系统时再介绍8086系统采用的是向量中断。这时可对8086系统的向量中断进行详细介绍,并加以练习。这样处理的效果可使学生既了解到两种中断向量表及其特点,又重点掌握了8086系统的向量中断的概念及过程。
再如在微机常用接口技术一章中。首先要给学生这么一个概念。按照接口是否集成在处理器芯片中来划分,有片内接口和片外接口两种。具有片内接口的处理器在使用时不需要外接接口芯片,而片外接口的CPU与外部设备之间则是通过接口芯片连接的。两种类型接口的使用都是在不改变硬件的情况下,通过编程改变其功能、工作方式,使用起来非常灵活。然后再按照比较成熟的授课思路介绍可编程接口芯片,包括并行和串行数据接口、计数,定时器接口、DMA控制器和模拟接口等常用的典型接口电路及其使用方法。针对片内接口,在串行接口内容最后添加基于ARM7结构的STR710F处理器的串行接口模块为例介绍片内接口的使用方法。但该部分,还是以介绍8251为主,ARM的UART只是作为补充,不需要独立介绍。这样来组织教学,学生不仅掌握了接口的设计、使用方法,同时也体会和理解了片内接口与片外接口的使用方法是相同的,都是通过编程实现处理器与外设的通信。这不仅为学生以后学习单片机或嵌入式微处理器等具有片内接口的微处理器奠定了基础,同时也达到了对知识和应用的融会贯通。授课内容本身过渡得也较平滑、自然。
三、解决理论脱离实际的问题
仍以8086 CPU为主要依托、平台讲授基本原理的同时,如何解决大家普遍认为的8086体系理论落后于实 际、理论脱离实际的问题?我们的解决方法是在教学实施过程中添加得到广泛应用的嵌入式微处理器ARM的核心技术及其应用。但为了避免造成8086系统与嵌入式系统简单的1+1的合并效果,是以对比的方式来简要介绍ARM的原理、接口等,目的在于结合学生可以看得到的芯片、应用,来强调基本原理、共性东西,同时也使学生接触更先进的计算机体系结构及主流硬件技术。这种思路贯穿于整个授课内容。微处理器、指令系统及汇编语言程序设计三章内容是最不好处理的。下面举例介绍我们是如何进行内容的选取与衔接的。
在微处理器章节中,首先给出目前的处理器有复杂指令集处理器(CISC)和精简指令集处理器(RISC)两大系列,这两大系列处理器分别体现了CISC计算机和RISC计算机的主要特点。微处理器8086/8088属于CISC处理器,而嵌入式微处理器ARM属于RISC处理器。接着详细介绍8086/8088 CPU的基本工作原理及技术,包括8086/8088CPU的编程结构及其CPU的引脚信号和工作模式、寄存器结构、存储器组织及I/O组织,时序的基本概念等。在讲授这些内容时,也注重概述共性与差异性的东西。然后从微处理器工作的基本原理出发,给出ARM微处理器的主要特点,简要介绍ARM的编程结构。如可以这样来引出:与讨论过的8086处理器或X86处理器比较而言,ARM处理器在体系结构上有较大的不同,如处理器的工作模式、工作状态、寄存器组织、支持的数据类型、指令集等。但在基本工作原理方面,ARM处理器与8086处理器仍有许多共性的地方。接着可简要介绍ARM处理器属于RISC型处理器结构、定义了多种处理器工作模式、具有ARM和Thumb两种处理器工作状态、具有大量的寄存器,大多数操作都在寄存器中进行等体系结构方面的特点;采用固定的指令长度、访问内存使用LOAD/STORE模式等指令集方面的特点。在此基础上,总结性地介绍ARM的编程结构。
在接下来的寻址方式、指令系统中,除了主要介绍8086CPU的寻址方式、指令系统外,归纳总结ARM指令以及寻址方式的特点,最后围绕后面例子的需求简要介绍ARM的指令。在汇编语言程序设计章节中,首先介绍汇编语言程序及其开发方法、汇编语言源程序的结构、8086/8088汇编语言源程序的结构、8086/8088汇编语言常用伪指令等,然后简要介绍ARM汇编语言(上述介绍ARM指令和ARM汇编语言的原则是确保学生能够理解后续课程中相关例子,如汇编语言程序设计章节中的例子、基于ARM7结构的STR710F处理器的串行接口例子)。在基本结构程序设计中,顺序、分支、循环结构中的例子分别以8086/8088汇编语言和ARM汇编语言来实现。这样处理,使学生不仅掌握了8086指令系统及汇编语言程序设计,而且对ARM汇编语言的应用也有了较为系统的了解和认识。更重要的是通过对比、比较,学生对汇编语言程序设计方法有了更深层次的理解和掌握。
在接口技术章节中添加的基于ARM7结构的STR710F处理器中的串行模块介绍,一方面是用来说明片内接口的使用方法,另外也是ARM处理器的一个综合应用实例,是对ARM处理器结构、汇编语言程序设计、接口等内容的一个理解和总结。
四、融入先进的设计理念
目前实际使用的CPU在设计理念方面有了不小的变化,所以在课程内容中需要适当引入微机最新的发展状况、趋势,以及CPU最新的设计理念。
但考虑到授课学时限制及整体内容的协调与精炼,教学实施中仅增加了指令流水线、精简指令集以及哈佛结构的介绍,并且这些内容并没有单独占据一章节的篇幅,而是融合在了第一章微处理器的概述中。简要给出复杂指令集计算机与精简指令集计算机两种体系结构及其特点。对指令流水线的介绍也是从传统的指令的串行执行引入指令流水线及CPU执行效率的提高问题,接着给出8086/8088 CPU是采用二级流水线处理方式,取指令与执行指令同时进行;ARM7TDMI核则是采用了3级流水线,取指令、译码指令、执行指令3个阶段同时进行。这样处理后,既给了学生概念,又与后续内容可以很好地衔接。同时是在原来内容基础上略微延伸后引入的新概念,容易接受,并且没有增加较多的篇幅。
[责任编辑:文和平]