论文部分内容阅读
摘要:分析了国内外CPU设计教学的现状,介绍了我校CPU设计教学的改革过程,提出了将FPGA引入到CPU设计教学中的改革措施。
关键词:CPU设计;教学改革;开放式实验平台;FPGA RISC架构;MIPS指令集
中图分类号:G642文献标识码:A文章编号:1009-3044(2011)28-7050-02
Design of CPU Based on the on-line Programming
ZHOU Jian-guo, WANG Xin-ting, WANG Xiao-lan
(School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China)
Abstract: This paper analyzed the present situation of CPU design teaching in the internal and external. Introduced the reform process of the CPU design teaching in our university.The improvement was givenin with the FPGA was applied.
Key words: CPU design; teaching reform; opening experiment platform; FPGA; RISC architecture; MIPS set
随着数字信息技术的高速发展,采用EDA(电子设计自动化)平台进行数字电路系统设计及计算机系统的设计已成为硬件设计和实践的基本方法。数字信息技术高速发展的IT时代,对计算机硬件系统的学习、设计也提出了愈来愈高的要求。为此,我们将EDA技术也引入了华中科技大学计算机学院的组成原理课程设计(CPU设计)中。
1 国内现状
计算机组成原理是计算机科学与技术各专业的核心专业基础必修课,是接口技术和系统结构的前导课,课程的目的是通过学习和实践,使学生掌握计算机硬件系统中各部件的功能、组成原理以及设计思路和逻辑实现方法;使学生建立整机概念,掌握计算机单机系统硬件组织和结构原理,培养学生对计算机硬件系统的分析和设计能力,并为后续课程的学习奠定基础。实验教学是计算机组成原理课程教学体系的重要组成部分,是培养学生对计算机硬件系统分析和设计能力不可缺少的环节。在组成原理中,CPU硬件系统设计又成为重中之重,显然,如果只会使用计算机而不会设计CPU和计算机,只能永远依赖别人的硬件平台,这绝非我国的办学宗旨。随着科学技术的发展,核心技术已经愈来愈集中在集成电路芯片和软件这两项技术之中,其中CPU和OS设计技术是最核心的两项技术。美国、日本和西欧的一些国家不断加大这方面的资助力度,美国的许多高校本科计算机专业中都安排了CPU设计方面的课程和实验内容。例如:麻省理工学院的学生在实验课中,需要自主完成ALU、单指令周期CPU(Single-cycle CPU)、多指令周期CPU(Multi-cycle CPU),乃至实现流水线32位MIPS CPU和CACHE的设计;斯坦福大学计算机的本科生在实验中,要求学生以各自独立的形式,用VHDL语言自主实现CPU、VGA显示控制模块等接口,最后实现于FPGA中,并完成软硬件调试。
然而我国在CPU和计算机系统设计方面十分落后,具有成熟的自主知识产权的8位/16位CPU产品基本没有,高端的32位到64位高性能处理器更是空白。国产装备中的微处理器几乎全部采用进口的国际流行的通用或专用微处理器,这种受制于人的状况对于我国的IT产业、国家重要的经济军事战略乃至国家安全都十分不利。从我国高校教学方面来看同样不容乐观,虽然计算机组成原理和计算机体系结构是计算机专业的核心课程,且从这两门课的内容来说,理应肩负这一重任。但实际情况并非如此,调研表明,国内除诸如中国科技大学、复旦大学、哈尔滨工业大学等少数高校十分重视计算机系统设计课程群建设,深入广泛地采用EDA技术与硬件描述语言完成实验和设计训练,并将计算机组成原理和计算机体系结构课的实验明确为CPU设计外,其他大多数学校仅将计算机组成原理定位为“计算机科学导论”和计算机模型认知层面上。而在实践方面:计算机组成原理的实验是在一些由分离元件构成的实验平台,完成简单的、验证式的单个功能的实验(如运算器、存储器、程序计数器、寄存器、时序发生器、数据传输方式)等,最多是完成简单模型CPU的验证性实验。基本谈不上设计,更没有国外高校的自主创新型CPU设计实验任务。这显然难以满足教育部在《关于加强高等学校本科教学工作,提高教学质量的若干意见》中关于“高等学校要重视本科教学的实践环节,保证实验课的开出率达到本科教学合格评估标准,并开出一批新的综合性、设计性实验”的要求。
2 设计应用
基于以上问题的考虑,华中科技大学计算机学院从2001年开始进行计算机组成原理设计性实验教学模式研究与实验课题的研究,我们对清华、北大、复旦、南大、北邮、北航、上海交大等知名高校组成原理理论与实践教学的现状、实验环境等进行了调查分析。并两次进行了计算机组成原理课程设计和实验开发平台的改革。第一次的改革是在2001年,是将“用单片机实现一最小系统”改为由大规模集成电路芯片(TTL器件)实现“简单计算机系统的设计与实现”,在我们自己设计的第一代开放式实验平台“SLJZ-1型数字逻辑、计算机组成原理实验仪”上完成,学生自己设计运算器位数、自行挑选存储器芯片、自己设计CPU模式—微指令方式还是硬布线方式等,虽然有一定的难度,但学生通过亲自设计、模拟仿真实现一台计算机,计算机不再具有神秘感,计算机的组成不再不透明,计算机的工作过程不再是“黑匣子”。第二次的改革是在2007年,由于前次改革方案CPU的设计是纯硬件的,在实验中,经常存在着插线虚接、连线折断、器件不断损坏以及每个人的实验结果不能长久保存等问题。对于设计正确的逻辑线路,常常也因为导线老化、虚接或器件损坏等问题而花费很长时间去寻找问题所在,使实验者不能把主要精力放在系统的功能设计上。随着在线编程技术的发展和普及,结合我们的科研成果并借鉴国内外将在线编程应用到组成原理实践教学的经验,我们再次到北京、上海调研,探索将FPGA技术应用到我校组成原理实践教学的可能性,并参加了Altera公司在北京主办的组成原理实践教学研讨班。2007年我们将研制的支持在线可编程的第二代开放式实验平台“JZYL-Ⅱ型计算机组成原理实验平台”投入到组成原理实践教学中,计算机05级、06级、07级的CPU设计就是在第二代实验平台上完成的。而利用EDA平台进行CPU设计,其实质是利用运行在计算机上的软件所提供的虚拟硬件环境,在该环境中进行计算机硬件系统的设计及系统测试。在进行计算机CPU的设计、实现过程中,如同用真实器件做实验一样,每个人可以根据需要选择相应的器件及芯片,按照自己设计出的邏辑电路在所选择的器件、芯片、输入输出引脚及电源等之间进行连线(画线);线路一旦连接好,不必再担心连线折断、导线虚接等问题,并且可以随时保存自己未做完的实验,在此基础上,针对设计出的部件或系统进行编译、功能仿真、波形仿真等测试,以验证逻辑设计的正确性,然后下载到FPGA中,进行简单的连线及硬件测试。最后可对设计出的部件进行封装.。
这种方式非常灵活,即保持了原有的设计的风格,又可以随意改变,因为你可以选择你设计的CPU下载到FPGA芯片的内容:可以全部下载,称纯软件实现,甚至用Verilog HDL语言进行编写;可以部分硬件、部分软件实现,用原理图输入的方式实现,连线多的地方用软件画图下载到FPGA中,进行功能仿真,然后进行软、硬件聯调,完成设计;也可以全部用硬件实现,这就是第一代实验平台的CPU的设计方式。与改进后的第一代实验平台、实验方法、实验手段相比较,第二代平台的开放性更好。从已经完成的CPU设计的效果看:设计方案的多样性、实现方法的多样性得到了更充分的体现,同时也能更好地利用现代化工具、技术和方法分析和解决CPU设计中遇到的问题。在本科教学评估期间,评估专家对我们所实施的CPU设计性实验教学模式、开放式实验平台产生了浓厚的兴趣,并给予高度评价。
2010年,我们正在进行第三次改革,MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),
MIPS 架构是一种一流的、优化的、高度可升级的 RICS 架构。该技术的基本特点是包括大量的寄存器、指令数和字符、可视的流水线延迟间隙。而在RISC中,由于指令比较简单,指令执行的步骤较少,可以比较容易地采用流水线技术,流水技术的应用使得计算机的性能得到成倍提高! 因此,我们也想将MIPS的理念和设计方向、方法引入,在我们所设计的平台上实现。
07、08年,在实验技术研究项目和教学改革项目的资助下,我们已成功研制开发了支持可在线编程的“JZYL--Ⅱ型计算机组成原理实验平台”,投入使用了三年多,充分发挥了FPGA在计算机组成原理教学和实验中的作用。 结合计算机的发展方向,MIPS现在是世界上很流行的一种RISC处理器,从计算机组成原理实验教学和培养学生能力的需要,以自行已开发出的在线可编程实验平台为基础,研究EDA工具功能仿真和时序分析工具在组成原理实验中应用的方法,开发出基于FPGA的组成原理单元实验和流水线模型机,在此基础上探索课内、课外相结合的组成原理实验模式,其机制是尽量利用软件办法避免流水线中的数据相关问题,我们想在所设计的第三代实验平台上,实现“支持MIPS指令集的模型机设计”。
3 结束语
无疑,教学中的多数内容能与发达国家许多高校计算机本科相关教学内容和实验模式相吻合是好的,以致我们的学生也有可能像国外学生那样,带上自己的设计芯片、系统设计HDL程序、整机网表文件和功能仿真结果、时序仿真结果去应聘,其结果或许比普通的成绩单更能说明问题。当然,仅就目前国内多数传统实验模式来说是难以实现的,因为我们无法将学生所有的创新思想、创新成果、和自主能动性仅用一个网表文件来表达并封装,并实现于一块Altere公司最新推出的Cyclone/Ⅱ系列芯片---FPGA中。
参考文献:
[1] 白中英.计算机组成原理[M].2版.北京:科学出版社,2000.
[2] 薛宏熙,胡秀珠.计算机组成与设计[M].北京:清华大学出版社,2007.
[3] 江国强.PLD在电子电路设计中的应用[M].北京:清华大学出版社,2007.
关键词:CPU设计;教学改革;开放式实验平台;FPGA RISC架构;MIPS指令集
中图分类号:G642文献标识码:A文章编号:1009-3044(2011)28-7050-02
Design of CPU Based on the on-line Programming
ZHOU Jian-guo, WANG Xin-ting, WANG Xiao-lan
(School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China)
Abstract: This paper analyzed the present situation of CPU design teaching in the internal and external. Introduced the reform process of the CPU design teaching in our university.The improvement was givenin with the FPGA was applied.
Key words: CPU design; teaching reform; opening experiment platform; FPGA; RISC architecture; MIPS set
随着数字信息技术的高速发展,采用EDA(电子设计自动化)平台进行数字电路系统设计及计算机系统的设计已成为硬件设计和实践的基本方法。数字信息技术高速发展的IT时代,对计算机硬件系统的学习、设计也提出了愈来愈高的要求。为此,我们将EDA技术也引入了华中科技大学计算机学院的组成原理课程设计(CPU设计)中。
1 国内现状
计算机组成原理是计算机科学与技术各专业的核心专业基础必修课,是接口技术和系统结构的前导课,课程的目的是通过学习和实践,使学生掌握计算机硬件系统中各部件的功能、组成原理以及设计思路和逻辑实现方法;使学生建立整机概念,掌握计算机单机系统硬件组织和结构原理,培养学生对计算机硬件系统的分析和设计能力,并为后续课程的学习奠定基础。实验教学是计算机组成原理课程教学体系的重要组成部分,是培养学生对计算机硬件系统分析和设计能力不可缺少的环节。在组成原理中,CPU硬件系统设计又成为重中之重,显然,如果只会使用计算机而不会设计CPU和计算机,只能永远依赖别人的硬件平台,这绝非我国的办学宗旨。随着科学技术的发展,核心技术已经愈来愈集中在集成电路芯片和软件这两项技术之中,其中CPU和OS设计技术是最核心的两项技术。美国、日本和西欧的一些国家不断加大这方面的资助力度,美国的许多高校本科计算机专业中都安排了CPU设计方面的课程和实验内容。例如:麻省理工学院的学生在实验课中,需要自主完成ALU、单指令周期CPU(Single-cycle CPU)、多指令周期CPU(Multi-cycle CPU),乃至实现流水线32位MIPS CPU和CACHE的设计;斯坦福大学计算机的本科生在实验中,要求学生以各自独立的形式,用VHDL语言自主实现CPU、VGA显示控制模块等接口,最后实现于FPGA中,并完成软硬件调试。
然而我国在CPU和计算机系统设计方面十分落后,具有成熟的自主知识产权的8位/16位CPU产品基本没有,高端的32位到64位高性能处理器更是空白。国产装备中的微处理器几乎全部采用进口的国际流行的通用或专用微处理器,这种受制于人的状况对于我国的IT产业、国家重要的经济军事战略乃至国家安全都十分不利。从我国高校教学方面来看同样不容乐观,虽然计算机组成原理和计算机体系结构是计算机专业的核心课程,且从这两门课的内容来说,理应肩负这一重任。但实际情况并非如此,调研表明,国内除诸如中国科技大学、复旦大学、哈尔滨工业大学等少数高校十分重视计算机系统设计课程群建设,深入广泛地采用EDA技术与硬件描述语言完成实验和设计训练,并将计算机组成原理和计算机体系结构课的实验明确为CPU设计外,其他大多数学校仅将计算机组成原理定位为“计算机科学导论”和计算机模型认知层面上。而在实践方面:计算机组成原理的实验是在一些由分离元件构成的实验平台,完成简单的、验证式的单个功能的实验(如运算器、存储器、程序计数器、寄存器、时序发生器、数据传输方式)等,最多是完成简单模型CPU的验证性实验。基本谈不上设计,更没有国外高校的自主创新型CPU设计实验任务。这显然难以满足教育部在《关于加强高等学校本科教学工作,提高教学质量的若干意见》中关于“高等学校要重视本科教学的实践环节,保证实验课的开出率达到本科教学合格评估标准,并开出一批新的综合性、设计性实验”的要求。
2 设计应用
基于以上问题的考虑,华中科技大学计算机学院从2001年开始进行计算机组成原理设计性实验教学模式研究与实验课题的研究,我们对清华、北大、复旦、南大、北邮、北航、上海交大等知名高校组成原理理论与实践教学的现状、实验环境等进行了调查分析。并两次进行了计算机组成原理课程设计和实验开发平台的改革。第一次的改革是在2001年,是将“用单片机实现一最小系统”改为由大规模集成电路芯片(TTL器件)实现“简单计算机系统的设计与实现”,在我们自己设计的第一代开放式实验平台“SLJZ-1型数字逻辑、计算机组成原理实验仪”上完成,学生自己设计运算器位数、自行挑选存储器芯片、自己设计CPU模式—微指令方式还是硬布线方式等,虽然有一定的难度,但学生通过亲自设计、模拟仿真实现一台计算机,计算机不再具有神秘感,计算机的组成不再不透明,计算机的工作过程不再是“黑匣子”。第二次的改革是在2007年,由于前次改革方案CPU的设计是纯硬件的,在实验中,经常存在着插线虚接、连线折断、器件不断损坏以及每个人的实验结果不能长久保存等问题。对于设计正确的逻辑线路,常常也因为导线老化、虚接或器件损坏等问题而花费很长时间去寻找问题所在,使实验者不能把主要精力放在系统的功能设计上。随着在线编程技术的发展和普及,结合我们的科研成果并借鉴国内外将在线编程应用到组成原理实践教学的经验,我们再次到北京、上海调研,探索将FPGA技术应用到我校组成原理实践教学的可能性,并参加了Altera公司在北京主办的组成原理实践教学研讨班。2007年我们将研制的支持在线可编程的第二代开放式实验平台“JZYL-Ⅱ型计算机组成原理实验平台”投入到组成原理实践教学中,计算机05级、06级、07级的CPU设计就是在第二代实验平台上完成的。而利用EDA平台进行CPU设计,其实质是利用运行在计算机上的软件所提供的虚拟硬件环境,在该环境中进行计算机硬件系统的设计及系统测试。在进行计算机CPU的设计、实现过程中,如同用真实器件做实验一样,每个人可以根据需要选择相应的器件及芯片,按照自己设计出的邏辑电路在所选择的器件、芯片、输入输出引脚及电源等之间进行连线(画线);线路一旦连接好,不必再担心连线折断、导线虚接等问题,并且可以随时保存自己未做完的实验,在此基础上,针对设计出的部件或系统进行编译、功能仿真、波形仿真等测试,以验证逻辑设计的正确性,然后下载到FPGA中,进行简单的连线及硬件测试。最后可对设计出的部件进行封装.。
这种方式非常灵活,即保持了原有的设计的风格,又可以随意改变,因为你可以选择你设计的CPU下载到FPGA芯片的内容:可以全部下载,称纯软件实现,甚至用Verilog HDL语言进行编写;可以部分硬件、部分软件实现,用原理图输入的方式实现,连线多的地方用软件画图下载到FPGA中,进行功能仿真,然后进行软、硬件聯调,完成设计;也可以全部用硬件实现,这就是第一代实验平台的CPU的设计方式。与改进后的第一代实验平台、实验方法、实验手段相比较,第二代平台的开放性更好。从已经完成的CPU设计的效果看:设计方案的多样性、实现方法的多样性得到了更充分的体现,同时也能更好地利用现代化工具、技术和方法分析和解决CPU设计中遇到的问题。在本科教学评估期间,评估专家对我们所实施的CPU设计性实验教学模式、开放式实验平台产生了浓厚的兴趣,并给予高度评价。
2010年,我们正在进行第三次改革,MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),
MIPS 架构是一种一流的、优化的、高度可升级的 RICS 架构。该技术的基本特点是包括大量的寄存器、指令数和字符、可视的流水线延迟间隙。而在RISC中,由于指令比较简单,指令执行的步骤较少,可以比较容易地采用流水线技术,流水技术的应用使得计算机的性能得到成倍提高! 因此,我们也想将MIPS的理念和设计方向、方法引入,在我们所设计的平台上实现。
07、08年,在实验技术研究项目和教学改革项目的资助下,我们已成功研制开发了支持可在线编程的“JZYL--Ⅱ型计算机组成原理实验平台”,投入使用了三年多,充分发挥了FPGA在计算机组成原理教学和实验中的作用。 结合计算机的发展方向,MIPS现在是世界上很流行的一种RISC处理器,从计算机组成原理实验教学和培养学生能力的需要,以自行已开发出的在线可编程实验平台为基础,研究EDA工具功能仿真和时序分析工具在组成原理实验中应用的方法,开发出基于FPGA的组成原理单元实验和流水线模型机,在此基础上探索课内、课外相结合的组成原理实验模式,其机制是尽量利用软件办法避免流水线中的数据相关问题,我们想在所设计的第三代实验平台上,实现“支持MIPS指令集的模型机设计”。
3 结束语
无疑,教学中的多数内容能与发达国家许多高校计算机本科相关教学内容和实验模式相吻合是好的,以致我们的学生也有可能像国外学生那样,带上自己的设计芯片、系统设计HDL程序、整机网表文件和功能仿真结果、时序仿真结果去应聘,其结果或许比普通的成绩单更能说明问题。当然,仅就目前国内多数传统实验模式来说是难以实现的,因为我们无法将学生所有的创新思想、创新成果、和自主能动性仅用一个网表文件来表达并封装,并实现于一块Altere公司最新推出的Cyclone/Ⅱ系列芯片---FPGA中。
参考文献:
[1] 白中英.计算机组成原理[M].2版.北京:科学出版社,2000.
[2] 薛宏熙,胡秀珠.计算机组成与设计[M].北京:清华大学出版社,2007.
[3] 江国强.PLD在电子电路设计中的应用[M].北京:清华大学出版社,2007.