科学网

 找回密码
  注册

tag 标签: 微体系结构

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

温故而知新
热度 1 accsys 2017-11-14 21:28
温故而知新 姜咏江 本学期选择微体系结构课程的研究生一下子多了起来。这些学生将来都是要搞计算机设计的,任务重大,我自然也马虎不得。自从我设计出第一个真正意义上的计算机,屈指一算也有十二个年头了。现在再回头看看我最早设计自作的一台二进制层面上的计算机,自己都感到有些不可思议。一个用 8 个开关输入数据和程序,用发光二极管和数码管做为输出,用按钮和开关作人机交互控制的,巴掌大小的计算机竟然能够运行用户程序。不仅如此,这台小小的计算机,还能够进行输入数据编辑浏览等项工作。更有,能够在虚拟存储空间上运行超长程序的功能。当年结合教学写了一本叫《 PMC 计算机的设计与应用》由清华出版社出版,那里面详细地介绍了这台通用计算机所能够干事情。所有计算机最基本的东西,那台小小的计算机都体现出来了。 PMC 计算机采用了动态核心结构,在多品种处理器同处一个芯片的情况下,可以实现程序自主调动执行,不用所谓的操作系统管理。这种动态计算机最简单的就是单处理器的情况,即一个处理单位和一个存储单位,通过总线通断控制链接的情况。从器件的构成来讲,似乎与其它结构的计算机没有更多的不同,关键是在处理设备和存储设备的构成上,分化独特。独特的地方是将一般 CPU 内的程序计算器、通用寄存器、状态寄存器、累加器等,一系列过去放在 CPU 内存储设备都放到了存储器一边,在处理器一端只留下了指令寄存器和运算前端寄存器。这样的设备称为处理单位,用 PU 来记。进而将规整到一起的存储设备叫存储单位,用 MU 表示。 这种结构不仅可以实现程序执行的自我调动,调动之时无需保留和回复现场,因而程序转移只要一个节拍就能够完成,不用象进程调度那样要由操作系统的原语帮忙。动态计算机结构设计最适合多种类型、多个处理单位的情况,能够实现指令级并行执行。甚至可以设计同类处理器个,对多个程序间的指令交叉执行,互不妨碍。 当年的那种雄心壮志,不能说一点没有了,只是年过七十,有些力不从心了。翻翻我曾经的计算机设计制作,怎样能够以最简单的方法,将我的体验、经验、理论和方法传授给我的学生,应该是我现在优先考虑的问题了。 2017-11-14
个人分类: 教学笔记|2457 次阅读|2 个评论
类脑计算若过分追求脑结构会让我们裹足不前
热度 9 accsys 2016-4-17 09:17
类脑计算若过分追求脑结构会让我们裹足不前 姜咏江 计算机的发展从一开始就是出于仿真脑功能,而不是制造一个脑。这是因为从始至今电子器件的物质构成与生物脑的物质构成有着根本性的区别。做为生物学的脑科学无疑应该将脑的物质结构研究放在第一位,而做为类脑计算的计算机科学界来说,应该将用计算机如何实现脑功能仿真放在首位。 现在计算机的使用是靠程序执行来完成的。而任何应该程序都是人脑劳动的结果,具体地说,就是编程人员的辛苦脑力劳动的结果。程序运行中出现的各种情况,编程人员都要预先设计好,搞不清楚无法处理的,往往归结为“异常处理”完事。程序执行的过程实际上是反映了程序员人脑的再次思考过程。因而我们可以说,电脑能够替代人脑那些能够用编程的方法解决的重复性劳动。在这种人机关系当中,所谓电脑一类的计算机还仅仅是人类脑力劳动的工具而已,不能够真正替代人脑的原始思维劳动。 这样说来,似乎人类创造的计算机永远不会真正替代人脑进行工作了?当然并非如此。如今世界各国正在如火如荼展开的脑工程,正是象这方面进军的庞大运动。这一运动的的焦点,毫无疑问应该是如何让人造的机器(多数指网络,也有生物的仿真脑)能够自主地进行“思考和决策”,从而完成人脑所要完成的那些艰苦复杂的、也包括简单的思维方面的劳动。如果这种创造成功了,人还干什么且不说,但仅就这一伟大创造的震撼,就足以让科学家们奋死追求! 谁创造了人,自然界怎样产生了那些有头脑的生物?这其中的复杂构造演变难以理解的程度是可想而知的。我们是具有高等智慧的人,我们虽然不能够掌握这一切,但我们能够体会到我们自己所拥有的脑的神奇功能。我们是否可以用我们掌握的方法去构造能够模仿人脑进行工作的“人造脑”?科学界已经到了肯定的程度,因而多国都在开展“造脑”工程。从现代科学技术的发展来看,生物工程无疑要创造那种“自然脑”。而计算机数学方面的专家无疑要用计算机科学的方法来实现人脑的功能。如果生物工程能够将人脑的物质构造和功能实现过程完全搞清楚了,那么电子计算机界只要设法制造出脑的基础部件,再将这些部件按照生物工程揭示的结构组织这些部件就可以完成任务了。实际上,生物工程学远没有达到如此清楚的程度,那么电子界、计算机界无疑没有这种确定的目标可循。因此,电子、计算机界将用已有的计算机器件技术来创造能够仿真大脑功能器件,才是切实可行的途径。 如果要仿真大脑,标志性的东西就是让计算机能够自主“思考”,让它在问题面前具有自主思考、判断和决策的能力。为了做到这一点,我们可以将周围可能发生的事件尽可能详细地分解成基础部分,然后将各基础部分的功能做成基本程序。将众多的基本程序放到同一个计算机内部,对现代电子工程技术来说已经不成问题,但如何让这些基础程序能够在外部或内部事件发生到时候,相关各程序及时执行?这一点,现在流行的计算机和网络体系结构理论和方法是做不到的。这种问题的巨大障碍是将程序做为被动的对象来调度的思想,并在实际当中形成规模宏大的计算机体系结构所造成的。其中,用操作系统或网络协议统一调度程序运行的方式,从根本上说是程序顺序执行的处理方式,而人脑除了顺序处理的形式之外,还大量地存在着并行处理的方式。因而要让计算机工程能够实现脑功能,首先要设计出程序能够自主关联执行的微体系结构,用超大规模集成电路技术来实现。只有这样,计算机界的类脑计算才会有得以发展的巨大空间。 2016-4-17
个人分类: 机器计算|8373 次阅读|17 个评论
研究生微体系结构课程
热度 1 accsys 2015-11-3 08:18
研究生微体系结构课程 真正将计算机弄懂弄通,需要学习 CPU 设计原理与方法的知识,计算机微体系结构就是这样的一门课。在航天二院研究生院讲这门课程有七八年了,感觉越讲越红火。今年听课的研究生增加到了 23 人,说实话,感到人数多了点,个别指导起来就不会太细致。 我的微体系结构讲的是 CPU 的设计理论和方法,并且在 68 学时中让学生设计出一个完整的计算机出来,难度很大。我自制的控制矩阵生成器和输入缓冲区结构帮了大忙,使在有限的学时内,学生能够独立完成 cpu 设计,并能够在专用开发板上完成整机运行,实现汇编程序的执行。 微体系结构是计算机完整的一门课程,涉及到计算机原理、 CPU 设计方法、汇编程序设计、操作系统等计算机基础体系的内容,是深刻理解计算机,研究计算机设计必需要掌握的理论和方法。实践证明这种边讲边做的的教学方法很有成效,很受学生欢迎的原因是能够实际地解决学生的理论和方法问题。几年下来一直受到了学生好评,反映出独特的教学内容组织和知识选择的实用性。 从去年开始,将动态计算机的设计方法贯穿在教学中了,只可惜没有课时能够全面设计,只能将 PU 、 MU 的结构设计出来,多处理器多存储器结构还无法实现。 2015-11-3
个人分类: 教学笔记|2280 次阅读|2 个评论
晒晒微体系结构2014级试题,探讨微体系结构教学
accsys 2015-1-24 11:12
微体系结构2014级试题 学号: 姓名: 成绩: 一、解释下列概念(每题 3 分) 1. 信息: 2. 通用计算机: 3. 微指令: 4. 机器指令: 5. 核: 6. 动态核: 7. 限位数: 8. 对称制: 9. 溢出: 10. 汇编程序: 二、 限位数 计算求值 ( 10 分) 5401-0734 ó 三、 核结构 如图所示,设计出 Add 、 Out 、 Call 、 Lda 、 Jz 指令 的控制矩阵。 (20 分 ) 四、本机指令系统如下:写出本机最小核心操作系统( 10 分)。 序号 指令 编码 功能 序号 指令 编码 功能 1 Add 000001 X+da-da 10 Call 010000 调用子程序 2 Sub 000010 Da-x-da 11 Ret 010001 返回 3 Addc 000011 Da+x+carry-da c-carry 12 Lyu 010010 与 4 Subc 000100 Da-x+carry-da c-carry 13 Lhuo 010011 或 5 Out 000101 Da-o 14 Lfei 010100 非 6 Dal 000110 数 -dal 15 Lyh 010101 异或 7 Dah 000111 数 -dah 16 Inl 010110 输入到 da 低 8 位 8 Xda 001000 x-da 17 Inh 010111 输入到 da 高 8 位 9 Dax 001001 Da-x 18 Jk 011000 缓冲区空跳转 A Lda 001010 Dram-da 19 Incp 011001 Ptr+1 B Str 001011 Da-dram 1a Decp 011010 Ptr-1 C Jmp 001100 跳转 1b Srei 011011 输入到 iram D Jz 001101 Da=0 跳转 1c Datp 011100 Da-ptr E Jn 001110 Da0 跳转 1d Jend 011101 程序输入结束 F Jo 001111 溢出跳转 1e Inp 011110 输入到 ptr 指示 iram 五、用本机指令系统编输入 5 个数,输出最大数的汇编程序,并进行编译( 30 分)。 地址 标号 汇编程序 二进制编译 16 进制 变量分配 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23
个人分类: 教学笔记|2977 次阅读|0 个评论
动态计算机理论研究的朋友
accsys 2010-5-29 04:33
为了能够深入地探讨计算机核心技术,力争尽快改变我国计算机核心技术落后的面貌。我再次在科学网上征询对动态计算机感兴趣的朋友。 国内,从根本上研究探讨计算机核心理论和设计技术的人实在太少,希望我们能够建立长期相互交流的关系。我已经用FPGA在2006年设计出动态计算机PMC362,并下载到开发板上运行,以6程序自动调度执行,演示了没有操作系统干预情况下程序并行自动调度执行的可行性。此是开创性研究,自然目前人数不多。因财力微薄,加之年龄已是六十有五,又不想将研究成果付之东流,遂出此下策征集研究的朋友。国内,真正能够进入动态计算机领域研究的朋友,愿将相关技术方法无偿传授。 有兴趣的朋友,请跟我联系。我的邮箱是:accsys@126.com 姜咏江 2010-5-29 为使有心者能够了解动态计算机设计,特附三篇文供批评。 《限位数理论与运算器设计》 《动态计算机核心PMC362成功设计》 《动态计算机的思想方法》 限位数理论与运算器设计 动态计算机的思想方法 动态计算机核心PMC362成功设计
个人分类: 计算机核|4586 次阅读|5 个评论
计算机体系结构的圈子
accsys 2009-12-8 08:02
参加了中国计算机2009年大会,目的是寻找同行讨论自己研究的动态计算机问题。最关心的是多核技术分会场,希望能够听到真知灼见的发言。然而,给我的印象是距离计算机体系结构的深层次太远。多数发言者都没有深入到操作系统以下的层面讨论多核,更不要说对片上多核结构提出更有价值的观点。举例来说,某教授演讲,将多个操作系统同时放在一个虚拟计算机上,在虚拟机的下方连接上许多核。会下,我问:如何将多核与虚拟机连接?没有回答。且不说多操作系统同处一机如何协调带来的软件复杂度,这样做不违背操作系统的精神吗?不要因为国外有此类修补之作,我们就一定要跟上,这样会浪费许多宝贵的时间。 片上多核最重要的是结构问题,当前,多核结构设计之所以讨论热烈,是因为结构直接关系到多处理器的充分调动,关系到并行程序设计,关系到如何能够让更多的程序,在一机的多个处理器上自由地同时执行,从而高效大量地完成任务。人们不断地重复着存储墙任务墙功耗墙并行编程墙这些挑战性的课题,然而没有听到一点关于多核技术在这方面的破解之术,哪怕是设想也好,叫人感到遗憾。 对功耗墙我没有研究,因而没有发言权,但我的动态计算机可以解决其他三墙。由于我未能进入计算机体系结构的圈子,自然没有我的发言权。在提问的环节中我提出了希望,希望这个计算机界重要的圈子,能够将理论研究放在一个重要的位置,其次是增强硬件方面的研究(主要指微体系结构方面),硬件结构决定着操作系统。 无论如何,这次计算机大会能一改全盘软件研究为中心的特点,就已经叫人感到安慰和振奋了。 总的感觉,体系结构的圈子,要加快向更深层次的计算机体系结构进军的脚步。 2009-12-8
个人分类: 随笔|4330 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-17 13:09

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部