科学网

 找回密码
  注册

tag 标签: 软件设计

相关帖子

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

没有相关内容

相关日志

有感软件基地和软件园
accsys 2018-6-10 13:38
有感软件基地和软件园 姜咏江 现在到处还可以看到计算机软件基地和软件园之类的招牌。当初起这些名称的时候,一定认为非常非常 “高科技”,其实这体现了当初人们对计算机科学的肤浅认识。“软件什么都能做”,这是一些当时国内顶尖计算机专家的认识。这种肤浅的认识不仅使国人对计算机设计制造这个行业放弃了,更重要的是影响到了中华民族在世界上的生存能力。严厉地说,他们对中华民族的强盛负有不可推卸的罪责。如今我们如此受美国在计算机这个高科技领域欺负,跟这些所谓权威的肤浅认识直接相关。 不论现在的计算机软件做得如何复杂,其最基本的支撑仍然是硬件结构的设计。计算机硬件结构决定着计算机所能完成的任务。在计算机硬件结构确定的情况下,可以设计出适合任务需要的指令系统。一种结构的计算机虽然可以根据需要设计出不同的指令系统,然而不同设备结构的计算机,一定有不同的指令系统存在。从这一点不难体会到 “硬件决定软件”这个最基本的道理。不可否认,有些硬件的工作可以通过软件程序来完成,但其基础仍然要有相应的硬件设计来保证。 不可否认,计算机的指令集的设计有很高的艺术性和科学性。如此,有些人就想设计出一种包罗万象的计算机指令系统,这是一种幼稚。从计算机发展的角度来看,这是徒劳的工作。计算机功能在不断地扩展,这种扩展必然带来计算机硬件结构的复杂化,势必会有更多全新的指令格式出现。只有具备了计算机架构发展设计能力的科学家,才能够认识到这方面问题。为了能够在人工智能领域我国不被落下,在重视软件设计的同时,不放松对计算机核心硬件系统的研究,从根本上完成对人工智能基理的认识,这样我们才不会总是跟在别人的屁股后面跑,同时自欺欺人的呼喊 “成为世界第一”。 现在看看国内的大学计算机课程内容,仍然是混乱一片的不痛不痒的肤浅, 多少教学内容涉及到了计算机核心设计与制造?在现今个人就可以设计制作特色计算机的时代,大学的计算机课程内容仍然距离硬件很远,设立的计算机专业仍然只了解一些硬件的皮毛,而没有切实地将计算机软硬件理论、方法和技术有机地结合在一起,谈什么 “赶超世界先进水平”,恐怕只是一句空话。
个人分类: 随笔|3036 次阅读|0 个评论
[转载]设计软件产品的5步骤
chinapubmed 2018-5-24 20:50
1,开始时数据长什么样,最终数据长什么样? 2,从起始数据到最终数据需要经历哪些步骤? 3,执行每步的组件叫什么,它们如何工作? 4,如何整合这些组件? 5,UI组件 以 中文PubMed 为例, 起始数据为2800w篇论文,最终数据是感兴趣的子集。需要经历搜索,聚合步骤,利用python整合mysql和ES,并使用css,html设计UI,打造了生物医学论文搜索服务,助力祖国科研。 www.chinapubmed.net
个人分类: 生物信息|1399 次阅读|0 个评论
SCI/EI文献数据融合软件设计与实现
PSLibrarian 2015-1-12 18:30
SCI/EI文献数据融合软件设计与实现 Design and Application of Data Fusion Software on Papers Indexed By SCI and EI 摘要 设计一款具有SCI/EI数据库文献数据查重和数据融合功能的软件. 帮助分析人员获得来自SCI/EI数据库的文献融合数据集, 更好地满足微观学科情报分析对灵活构建多来源期刊文献数据集的需求. 利用两种自动算法和一种半自动算法实现SCI/EI文献数据的准确查重, 在对两者的全记录字段进行深入微观文本分析的基础上实现数据融合. 可自动标记SCI/EI文献数据的重复记录并生成查重后的融合数据表. 有效解决两个不同期刊文献数据源的统一分析数据集构建问题. 关键词 : 查重 , 融合 , EI , SCI , 软件设计 Abstract : A software is designed to implement duplication checking and data fusion of the papers indexed by SCI and by EI. The software can help paper analysts obtain a dataset in the same format and meet demand of micro-analysis of subject information. Two automatic algorithms and one semi-automatic algorithm are used to complete accurate data duplicate checking on the papers indexed by SCI and EI. Data fusion is based on detailed analysis of text features of data fields of SCI and EI. It can mark papers which are duplicated between SCI papers and EI papers and create a de-duplicated data fusion sheet. The construction problem of the dataset from different data sources is solved effectively and its design ideas also can be applied to other databases. Key words : Duplicate checking Data fusion EI SCI Software design 基金资助: 本文系中国科学院文献情报中心青年人才领域前沿项目学科化知识服务辅助工具优化设计(项目编号:青1209)的研究成果之一. 通讯作者: 于健 E-mail: yuj@mail.las.ac.cn E-mail: yuj@mail.las.ac.cn 全文pdf下载链接:http://www.infotech.ac.cn/CN/abstract/abstract3977.shtml
个人分类: 数据分析工具|4075 次阅读|0 个评论
SCI论文作者甄别软件设计及应用
PSLibrarian 2014-6-19 00:28
SCI论文作者甄别软件设计及应用 于健1, 吴霞2, 赵春梅2 1. 中国科学院国家科学图书馆 北京 100190; 2. 中国科学院高能物理研究所 北京 100049 Design and Application of Author Discrimination Software on Papers Indexed by SCI Yu Jian1, Wu Xia2, Zhao Chunmei2 1. National Science Library, Chinese Academy of Sciences, Beijing 100190, China; 2. Institute of High Energy Physics, Chinese Academy of Sciences, Beijing 100049, China 摘要 结合机构产出SCI论文统计需求,设计一款自动甄别目标机构作者和实验室的软件。 可辅助论文统计部门快速准确识别机构论文作者和实验室(部门),进而获得机构作者和实验室的论文产出分布情况。 从技术上实现综合利用相同研究单元内作者合作较多的科研特点、自定义作者唯一关键词或合作者字段以及SCI数据库作者相关字段的文本特征来甄别目标机构作者。 允许用户通过目标机构人员名单维护来实现SCI论文作者甄别的自动化和高准确度。 有效解决SCI论文中文作者因拼音写法多样且易重名而造成作者相关论文数据难以准确统计的问题,其设计思路也适用于EI及其他数据库论文作者甄别。 该软件在实现甄别功能的同时也具有清理机构论文数据的功能, 排除用户目标机构名称唯一标识词输入不全的因素, 提取不到目标机构作者信息的论文很 可能不是目标机构所发表的论文。 关键词 : 论文统计 , 作者甄别 , SCI , 软件设计 Abstract : The software to discriminate one scientific institute's authors of scientific papers is designed to meet demands of the statistics of papers indexed by SCI. It can be used to help the department of statistical analysis on papers in SCI to determine Chinese characters for the Chinese author name belong to their institute and its corresponding lab. Author discrimination is implemented technically by the comprehensive utilization of one characteristics of scientific research that people from the same research units are more likely to co-author papers, custom unique keywords or co-authors and text features of author fields in SCI. Automation and high accuracy of author discrimination can be achieved based on maintenance of a personnel list of one scientific institute. It effectively solves the duplication problem of Chinese names during the analysis of papers in SCI and its design ideas also apply to other databases such as EI and Inspec. Key words : Papers statistics Author discrimination SCI Software design 致谢基金资助: 本文系中国科学院研究所情报分析可持续服务能力建设子项目“中科院高能所情报分析可持续服务能力建设”(项目编号:院1105)和中国科学院国家科学图书馆青年人才领域前沿项目“学科化知识服务辅助工具优化设计”(项目编号:Q1209)的研究成果之一。 致谢 中科院高能所文献信息部于润升主任的选题 鼓励 和 指导 。感谢现代图书情报技术编辑部的多次专业修改建议! 全文pdf下载链接: http://www.infotech.ac.cn/CN/Y2014/V30/I4/78 通讯作者: 于健 E-mail:yuj@mail.las.ac.cn E-mail: yuj@mail.las.ac.cn
个人分类: 论文交流|6118 次阅读|0 个评论
2013蓝桥杯全国软件人才软件设计与创业大赛决赛获奖分析分
求新 2013-7-27 20:25
1、2013蓝桥杯全国软件人才软件设计与创业大赛决赛各省市获奖数据统计 省份 特等总数 一等总数 二等总数 三等总数 优秀总数 总数 江苏 2 15 78 137 58 290 北京 1 16 53 81 37 188 湖北 1 15 73 99 66 254 浙江 1 12 32 36 16 97 广东 1 11 54 81 29 176 河南 0 8 33 48 18 107 辽宁 0 7 35 45 29 116 四川 0 7 28 49 27 111 福建 0 6 22 24 11 63 山东 0 5 29 44 36 114 广西 0 4 27 43 41 115 黑龙江 0 4 18 35 22 79 天津 0 4 15 25 13 57 湖南 0 4 14 17 7 42 安徽 0 3 19 22 17 61 陕西 0 2 16 35 42 95 江西 0 2 7 15 8 32 河北 0 1 15 30 27 73 重庆 0 1 3 16 6 26 山西 0 0 15 13 13 41 上海 0 0 11 22 4 37 吉林 0 0 8 7 5 20 甘肃 0 0 3 7 6 16 宁夏 0 0 3 4 3 10 海南 0 0 2 6 8 16 内蒙古 0 0 2 5 3 10 南宁 0 0 1 3 2 6 新疆 0 0 0 4 5 9 青海 0 0 0 3 1 4 贵州 0 0 0 1 3 4 西藏 0 0 0 1 2 3 云南 0 0 0 1 0 1 其中本科类获奖数据统计: 省份 本特等数 本一等数 本二等数 本三等数 本优秀数 本总数 江苏 2 11 43 81 46 183 北京 1 15 52 79 27 174 浙江 1 6 17 18 8 50 湖北 0 9 56 83 62 210 辽宁 0 7 31 38 23 99 河南 0 7 29 44 17 97 四川 0 7 20 25 17 69 福建 0 6 21 24 9 60 广西 0 4 20 35 40 99 黑龙江 0 4 16 33 19 72 湖南 0 4 10 11 4 29 山东 0 3 23 39 30 95 广东 0 3 22 35 19 79 天津 0 3 15 25 11 54 陕西 0 2 12 29 34 77 江西 0 2 6 10 6 24 安徽 0 1 4 7 13 25 山西 0 0 12 11 10 33 河北 0 0 11 24 23 58 上海 0 0 11 20 4 35 吉林 0 0 8 4 3 15 重庆 0 0 2 10 6 18 甘肃 0 0 2 6 5 13 海南 0 0 2 5 6 13 宁夏 0 0 2 4 3 9 内蒙古 0 0 1 3 3 7 新疆 0 0 0 4 4 8 青海 0 0 0 3 1 4 贵州 0 0 0 1 2 3 西藏 0 0 0 1 2 3 云南 0 0 0 1 0 1 专科类获奖数据统计: 省份 专特等数 专一等数 专二等数 专三等数 专优秀数 专总数 广东 1 8 32 46 10 97 湖北 1 6 17 16 4 44 浙江 0 6 15 18 8 47 江苏 0 4 35 56 12 107 安徽 0 2 15 15 4 36 山东 0 2 6 5 6 19 河北 0 1 4 6 4 15 河南 0 1 4 4 1 10 重庆 0 1 1 6 0 8 北京 0 1 1 2 10 14 天津 0 1 0 0 2 3 四川 0 0 8 24 10 42 广西 0 0 7 8 1 16 辽宁 0 0 4 7 6 17 陕西 0 0 4 6 8 18 湖南 0 0 4 6 3 13 山西 0 0 3 2 3 8 黑龙江 0 0 2 2 3 7 江西 0 0 1 5 2 8 南宁 0 0 1 3 2 6 内蒙古 0 0 1 2 0 3 甘肃 0 0 1 1 1 3 福建 0 0 1 0 2 3 宁夏 0 0 1 0 0 1 吉林 0 0 0 3 2 5 上海 0 0 0 2 0 2 海南 0 0 0 1 2 3 贵州 0 0 0 0 1 1 新疆 0 0 0 0 1 1 2、湖北省各学校获奖数据统计 学校 特等总数 一等总数 二等总数 三等总数 优秀总数 总数 华中科技大学文华学院(高职) 1 0 0 0 0 1 武汉软件工程职业学院 0 2 5 1 0 8 三峡大学 0 2 2 5 1 10 荆州职业技术学院 0 2 0 2 0 4 华中科技大学 0 1 9 13 8 31 中南民族大学 0 1 7 5 1 14 华中师范大学 0 1 3 2 1 7 武汉科技大学 0 1 2 4 7 14 湖北师范学院 0 1 2 1 2 6 江汉大学 0 1 2 1 1 5 武汉职业技术学院 0 1 1 2 0 4 华中农业大学 0 1 0 1 1 3 黄冈职业技术学院 0 1 0 1 0 2 湖北国土资源职业学院 0 0 4 2 0 6 湖北工业大学 0 0 3 6 6 15 中国地质大学江城学院 0 0 3 3 0 6 华中科技大学软件学院 0 0 3 2 3 8 武汉东湖学院 0 0 3 1 0 4 武汉工程大学 0 0 2 4 2 8 湖北经济学院 0 0 2 3 3 8 武汉理工大学 0 0 2 3 2 7 中南财经政法大学 0 0 2 3 2 7 湖北理工学院 0 0 2 3 1 6 华中科技大学文华学院 0 0 2 2 0 4 湖北工业大学工程技术学院 0 0 1 2 1 4 华中科技大学武昌分校 0 0 1 2 0 3 长江大学 0 0 1 1 0 2 长江职业学院 0 0 1 1 0 2 咸宁职业技术学院 0 0 1 1 0 2 湖北第二师范学院 0 0 1 0 4 5 海军工程大学 0 0 1 0 1 2 湖北经济学院法商学院 0 0 1 0 1 2 湖北文理学院理工学院 0 0 1 0 1 2 武汉大学 0 0 1 0 1 2 鄂东职业技术学院 0 0 1 0 0 1 武昌理工学院 0 0 1 0 0 1 中国地质大学(武汉) 0 0 0 4 1 5 武汉大学珞珈学院 0 0 0 2 2 4 中南财经政法大学武汉学院 0 0 0 2 1 3 黄冈师范学院 0 0 0 2 0 2 荆楚理工学院 0 0 0 2 0 2 湖北大学 0 0 0 1 2 3 湖北工程学院 0 0 0 1 1 2 湖北文理学院 0 0 0 1 1 2 武汉纺织大学 0 0 0 1 1 2 湖北工业大学商贸学院 0 0 0 1 0 1 湖北汽车工业学院 0 0 0 1 0 1 湖北汽车工业学院科技学院 0 0 0 1 0 1 湖北师范学院文理学院 0 0 0 1 0 1 湖北医药学院 0 0 0 1 0 1 荆州理工职业学院 0 0 0 1 0 1 武汉科技大学城市学院 0 0 0 0 2 2 湖北轻工职业技术学院 0 0 0 0 1 1 华中农业大学楚天学院 0 0 0 0 1 1 武昌工学院 0 0 0 0 1 1 武汉长江工商学院 0 0 0 0 1 1 武汉交通职业学院 0 0 0 0 1 1 湖北交通职业技术学院 0 0 0 0 0 0 湖北开放职业学院 0 0 0 0 0 0 其中本科类各学校获奖数据统计 学校 本特等数 本一等数 本二等数 本三等数 本优秀数 本总数 三峡大学 0 2 2 5 1 10 华中科技大学 0 1 9 13 8 31 中南民族大学 0 1 7 5 1 14 华中师范大学 0 1 3 2 1 7 武汉科技大学 0 1 2 4 7 14 湖北师范学院 0 1 2 1 2 6 江汉大学 0 1 2 1 1 5 华中农业大学 0 1 0 1 1 3 湖北工业大学 0 0 3 6 6 15 华中科技大学软件学院 0 0 3 2 3 8 武汉东湖学院 0 0 3 1 0 4 武汉工程大学 0 0 2 4 2 8 湖北经济学院 0 0 2 3 3 8 武汉理工大学 0 0 2 3 2 7 中南财经政法大学 0 0 2 3 2 7 湖北理工学院 0 0 2 3 1 6 湖北工业大学工程技术学院 0 0 1 2 1 4 华中科技大学武昌分校 0 0 1 2 0 3 长江大学 0 0 1 1 0 2 华中科技大学文华学院 0 0 1 1 0 2 湖北第二师范学院 0 0 1 0 4 5 海军工程大学 0 0 1 0 1 2 武汉大学 0 0 1 0 1 2 湖北经济学院法商学院 0 0 1 0 0 1 湖北文理学院理工学院 0 0 1 0 0 1 武昌理工学院 0 0 1 0 0 1 中国地质大学(武汉) 0 0 0 4 1 5 黄冈师范学院 0 0 0 2 0 2 中国地质大学江城学院 0 0 0 2 0 2 湖北大学 0 0 0 1 2 3 武汉大学珞珈学院 0 0 0 1 2 3 湖北工程学院 0 0 0 1 1 2 湖北文理学院 0 0 0 1 1 2 武汉纺织大学 0 0 0 1 1 2 中南财经政法大学武汉学院 0 0 0 1 1 2 湖北工业大学商贸学院 0 0 0 1 0 1 湖北汽车工业学院 0 0 0 1 0 1 湖北汽车工业学院科技学院 0 0 0 1 0 1 湖北师范学院文理学院 0 0 0 1 0 1 湖北医药学院 0 0 0 1 0 1 荆楚理工学院 0 0 0 1 0 1 武汉科技大学城市学院 0 0 0 0 2 2 华中农业大学楚天学院 0 0 0 0 1 1 武昌工学院 0 0 0 0 1 1 武汉长江工商学院 0 0 0 0 1 1 专科类各学校获奖数据统计 学校 专特等数 专一等数 专二等数 专三等数 专优秀数 专总数 华中科技大学文华学院(高职) 1 0 0 0 0 1 武汉软件工程职业学院 0 2 5 1 0 8 荆州职业技术学院 0 2 0 2 0 4 武汉职业技术学院 0 1 1 2 0 4 黄冈职业技术学院 0 1 0 1 0 2 湖北国土资源职业学院 0 0 4 2 0 6 中国地质大学江城学院 0 0 3 1 0 4 长江职业学院 0 0 1 1 0 2 华中科技大学文华学院 0 0 1 1 0 2 咸宁职业技术学院 0 0 1 1 0 2 鄂东职业技术学院 0 0 1 0 0 1 荆楚理工学院 0 0 0 1 0 1 荆州理工职业学院 0 0 0 1 0 1 武汉大学珞珈学院 0 0 0 1 0 1 中南财经政法大学武汉学院 0 0 0 1 0 1 湖北经济学院法商学院 0 0 0 0 1 1 湖北轻工职业技术学院 0 0 0 0 1 1 湖北文理学院理工学院 0 0 0 0 1 1 武汉交通职业学院 0 0 0 0 1 1 3、附件 1)2013湖北决赛得奖分组统计表 2)2013全国决赛得奖分组按学校统计表 3)2013全国决赛得奖按学校总统计表 4)2013全国决赛得奖本科按学校统计表 5)2013全国决赛得奖专科按学校统计表
个人分类: 生活点滴|3288 次阅读|0 个评论
软件设计的思考
shixinyi 2012-8-14 22:09
一、关于给予控制台程序的参数输入问题的考虑 一开始认为,把参数写在程序就好了,需要的时候再改。后来认为,这样很麻烦,每次都要改程序。觉得,把参数写在文件中,然后读入文件的内容获取参数。随着实践的增多,感觉这样也不好,很麻烦。还是使用直接在可执行文件后直接输入参数的方法最方便。 二、关于程序参数输入问题的在思考 程序有时,有会有很多输入参数,每次都手动输入很容易出错。为了防止输入错误,可以在第一次无参运行时,自动生成一个参数设置文件(在当前目录下),文件中把所有需要的参数及相关说明列好,用户只需按要求填好,然后将文件名作为程序参数,再次运行程序,如此获取程序所需的参数。
个人分类: 工作|2 次阅读|0 个评论
北京公交网电子地图改进方案及其网络查询软件设计
geneculture 2011-8-13 15:18
http://www.bjbus.com/home/index.php 演讲嘉宾介绍 Kristof Kloeckner IBM 软件部 Rational 软件总经理 了解更多 Tsutomu (Tom) Kamimura IBM 软件部亚太地区 Rational 首席技术官 了解更多 MEG SELFE 嵌入式系统生命周期管理总监 了解更多 Harish Grama Rational 产品开发与支持副总裁 了解更多 Kevin Stoodley IBM 院士 了解更多 http://www-01.ibm.com/software/cn/rational/innovate2011/agenda.html 北京大会议程 时间:2011年 8月 26日 地点:北京国际饭店会议中心 地址:北京建国门内大街 9号 注册北京大会 主会场 时间 主题/内容 8:00 - 9:00 签到 8:58 - 9:00 “软件无处不在”视频 9:00 - 9:10 致欢迎辞和开幕辞 9:10 - 10:00 主题演讲I (待定) 10:10 - 10:40 主题演讲 II(待定) 10:40 - 11:00 基于 Jazz 平台的 协作生命周期管理演示 11:00 - 11:30 主题演讲 III(待定) 11:30 - 12:00 地方 VIP 客户演讲 12:00 - 12:20 全球客户演讲 12:20 - 12:30 总结 分会场一:协作生命周期管理 时间 主题/内容 13:30 - 14:30 实现高效应用生命周期管理(ALM)的五大要素 14:30 - 15:30 系统和软件交付生命周期管理工具集成 15:30 - 16:00 休息 16:00 - 17:00 协作化应用生命周期管理的加速实现方案 17:00 - 18:00 透明化的项目监控和度量 18:00 - 18:30 互动 分会场二:流程、组合、产品及项目管理和企业架构管理 时间 主题/内容 13:30 - 14:30 模型驱动的软件和系统交付业务优化 14:30 - 15:30 基于 SA 的企业架构管理,实现 IT 和业务一致性 15:30 - 16:00 休息 16:00 - 17:00 建立组织级资产管理,推动知识型组织 17:00 - 18:00 IBM Rational Insight 部署案例研究 分会场三:变更、配置和版本管理 时间 主题/内容 13:30 - 14:30 CCM 主题演讲 14:30 - 15:30 使用 RTC 的大型银行成功案例分享 15:30 - 16:00 休息 16:00 - 17:00 探索 RTC 配置管理 17:00 - 18:00 增强 CC/CQ 以提升企业的配置和变更管理 分会场四:需求定义和管理 时间 主题/内容 13:30 - 14:30 需求定义和管理战略及愿景 14:30 - 15:30 大型应用系统需求管理实践经验分享 15:30 - 16:00 休息 16:00 - 17:00 使用 IBM Rational Requirements Composer 向开发生命周期应用需求管理 17:00 - 18:00 需求管理案例,中国人寿、商飞 分会场五:建模、架构和构造管理 时间 主题/内容 13:30 - 14:30 RSA 8.0 新功能简介 14:30 - 15:30 BOC 案例经验分享 15:30 - 16:00 休息 16:00 - 17:00 利用 Rational Build Forge for Automated Software Development Process 和 WebSphere Infrastructure Management 的最佳实践 17:00 - 18:00 关于敏捷架构和设计 (从敏捷架构设计谈软件开发设计) 分会场六: 系统工程和智慧行业解决方案 时间 主题/内容 13:30 - 14:30 主题演讲 14:30 - 15:30 系统加速器和 PoT 描述 15:30 - 16:00 休息 16:00 - 17:00 基于模型的系统工程和 AD 行业案例研究虚构的客户名称 17:00 - 18:00 基于模型的系统工程解决方案 分会场七:全面质量管理专场 时间 主题/内容 13:30 - 14:30 专题会议启动演讲:质量管理 14:30 - 15:30 Ratoinal 源代码质量解决方案 15:30 - 16:00 休息 16:00 - 17:00 Rational 应用安全和合规性解决方案 17:00 - 18:00 COMM 行业的 RQM 成功案例 分会场八:客户成功案例分享 时间 主题/内容 13:30 - 14:30 Keybridge RTC 成功案例分享 14:30 - 15:30 某银行客户成功案例分享 15:30 - 16:00 休息 16:00 - 17:00 广东电网 Appscan 成功案例分享 17:00 - 18:00 潍坊软件园成功案例分享 分会场九:企业现代化解决方案专场 时间 主题/内容 13:30 - 14:30 EM 主题演讲:企业现代化:突破性地提升多平台应用设计和开发的经济效益 14:30 - 15:30 Rational Enterprise Modernization Accelerator 为大型机应用开发提高效率并降低成本 15:30 - 16:00 休息 16:00 - 17:00 System I 上的协作式银行应用开发 17:00 - 18:00 CMB 案例分享 分会场十: Jazz 解决方案专场 时间 主题/内容 13:30 - 14:30 专题会议启动演讲:IBM Rational Jazz 14:30 - 15:30 生命周期协作式开放服务和 IBM Rational Jazz 15:30 - 16:00 休息 16:00 - 17:00 助力 IBM Rational 协作生命周期管理 17:00 - 18:00 案例分享:如何通过 OSLCJazz 实现大型企业应用开发生命周期多平台多工具的集成和扩展 分会场十一:汽车行业专场 时间 主题/内容 13:30 - 14:30 基于汽车产品研发过程改进框架 ASPICE 建立并实现整车需求管理流程 14:30 - 15:30 IBM 解决方案如何支持汽车电子系统软件架构标准 AUTOSAR 15:30 - 16:00 休息 16:00 - 17:00 DOORS 与 PDM 系统的整合之道 17:00 - 18:00 需求驱动的汽车产品测试管理 分会场十二:敏捷开发专场 时间 主题/内容 13:30 - 14:30 井然有序的敏捷交付 :Agility@Scale 的基础 14:30 - 15:30 Rational 智慧云的解决方案 15:30 - 16:00 休息 16:00 - 17:00 智慧产品和系统介绍 17:00 - 18:00 敏捷项目管理
2 次阅读|0 个评论
用限位数方法设计精确浮点加减法运算器
热度 3 accsys 2011-6-10 15:35
用限位数方法设计精确浮点加减法运算器
用限位数方法设计精确浮点加减法运算器 姜咏江 (对外经济贸易大学信息学院 北京 100013 ) 摘要: 仅用二进制补码制来说明机器如何表示数值运算,存在多方面的缺失,很难说清楚机器计算的理论依据,并带来了设计冗余和资源的浪费。限位数不用书写正负号就可以表示有符号数。只用无符号数做加法就能够进行加减运算。用限位数方法设计浮点运算器,阶码不用引进移码就能够方便进行计算,而且能够方便进行尾数扩充,得到精确的计算结果。 关键词: 计算机体系结构,限位数,硬件设计,软件设计 中图分类号: TP301 , TP311 Design Exact Float’s ADD/SUB with the Fixed-Length Number Jiang Yongjiang (School of Information Technology Management Engineering,UIBE,Beijing 100013) : Abstract : Only use Binary-complement to explain the machine how to represent numerical computation, there are many losses. It is difficult to clarify the theoretical basis for machine-computation and bring the design redundancy and waste of resources. The Fixed-length number can express the value not use the '-' or '+' symbol. Only use unsigned addition will be able to carry out addition and subtraction. Use the Fixed-length number to design the float’s ADD/SUB, Exponent no need to shift and can facilitate the mantissa expansion, get accurate results. Key words : architecture, fixed-length number, hardware, software 1 引言 国际标准化组织给出的单精度 IEEE754 标准(见 图 1 )将 32 位数用一位表示尾数的正负号, 8 位做阶码,尾数 23 位,并且做了如下规定: (1) 如果 阶码 E=0 ,并且 尾数 M= 0 ,这个数是± 0 (和符号位相关); (2) 如果 阶码 E =2 255 - 1 ,并且 尾数 M= 0 ,这个数是± 无穷大 (同样和符号位相关); (3) 如果 阶码 E =2 255 1 ,并且 尾数 M ≠ 0 ,这 不是一个数(NaN ) 。 图 1 IEEE754 浮点数的格式 计算机浮点数是数学“科学记数法”表达的数,一般形式为: M × 2 E ,这种形式可以与定点数通过移动小数点的方法自由转换。 IEEE754 标准的规定不仅使一定长度数码表数范围减少了,而且失去了运用浮点数进行精确计算的可能。 本文根据限位数理论和方法 设计了 32 位可实现精确计算的浮点数加减法运算器,阶码 8 位,尾码 24 位,没有尾码的符号位。阶码 E 的值是 -128 ~ +127 的所有整数,不论 24 位尾码 M 如何, 32 位浮点格式都表示惟一确定的数。 通过保留移出数据的方式,该浮点运算器就能够运用于任意范围的浮点数精确计算。 2 限位浮点数的表示 限位数理论使用数码原样排列的算术运算来完成数值计算,同样也适合浮点数算数运算。 2.1 限位数和对称制 我们将位数固定只用数码表示的数叫“限位数”。为了表示出限位数的长度,无效数码不能够省略。两限位数之和为数的总数,那么一个叫另一个“对称数”。因而 0 和负数没有对称数。两个数码之和为最大数码时,一个叫另一个数码的“反码”。一个限位数的对称数可以用“求反加一”得到。用较大的限位数来表示其对称数的相反数, 0 就是 0 ,这就是比补码制更一般化的“对称制” 。对称制中判断数的正负只要与对称点比较即可。限位数可以直接表示一定范围的正负数,不用在运算过程中转换。保值扩充限位数,正数添“ 0 ”,负数添最大数码。 例如, 3 位十进制的限位数是 000 ~ 999 ,总数是 1000 个,其中较大的一半 501 ~ 999 的每个数都表示较小一半对称数 499 ~ 001 的相反数,对称点 500 的对称数是自身,这种情况规定为负数(基数是奇数时没有这种情况)。 2.2 用限位数表示浮点数 浮点数的限位数表示不必分为单精度或双精度,也不必将阶码用移码表示,数码的直接运算就能得到任何精确度的计算结果。由 y = M × 2 E 函数的性质知,阶码 E 的值越大, 2 E 的值越大。按着我们这里规定的阶码 8 位,尾码 24 位,浮点数直接表数范围应为: -0.838860 8 × 2 127 ~ +0.8388607 × 2 127 ,阶码的变化范围是 -128 ~ +127 的整数 。 需要指出,限位数小数点的左方是不能够随便添加“ 0 ”的,原因是限位数的最高位数码关系到该数的正负,并且小数点左面有数码就会增加限位数的位数。例如, 0.866 和 .866 在限位数表示中是不同值的,前者是一个 4 位正数,而后者是一个 3 位的负数。如果将后者变为 4 位数,左面的最高位应是添最大数码 9 ,那么应有 .866 = 9.866 。因为浮点数尾数的小数点隐含在左边的位置,并且对阶时是将较小阶码的尾数右移进行的,因而不会出现小数点左面添 0 的情况。 3 可精确计算的浮点运算器设计 限位浮点数加减法器的设计要分为对阶和计算两大步骤。对阶不会产生阶码溢出,如果用 24 位加减法器来进行第二步工作,那么设计时要考虑数据位数扩充问题。 3.1 设计思想 计算机浮点运算的不精确来自于单精度或双精度的浮点数不能根据需要进行位数扩充。浮点数在尾数移位的过程中,由于位数限制,阶码小的尾数右移时就会丢失掉一些有效数字。如果将丢失的有效数值随时能够捡回来,那么就可以实现精确的计算。 图 2 所示是两个浮点数精确加减运算的流程,其特点是直接将存储形式的数据 A 、 B 分离阶码和尾码,然后对阶和计算,移出的尾数如果包含有效数字,则将移出部分适当变化后添加到结果的尾部。 图 2 浮点数精确加减运算流程 借助于存储器我们可以将移出的尾数保留起来,这样可以根据计算的需要,改变尾数的长度。当使用固定长度的浮点加减法运算器完成超长尾数的浮点数运算时,只要将超长的尾数进行分段加减运算处理,就可以确保得到精确的运算结果。 3.2 可精确计算的浮点加减法器运算实例 根据前面提到的设计思想,作者设计了浮点数加减运算器。下面给出这个浮点运算器三张仿真图,借此来展示浮点数精确计算设计的可行性。 8 位阶码对阶时,尾码保值移动最大为 255 位。仿真 图 3 的 Name 栏下 sub=1 做减法, sub=0 做加法; f_a 与 f_b 是参加运算的两个 32 位浮点数; remain 显示移位后得到的尾数; f_out 显示加减运算 24 位的结果; 256 位的 space 显示被移出的尾码, mov_f 是移出不为 0 的标志; over 是尾数加减运算溢出标志; osign 显示 f_a 阶码与 f_b 阶码的差,为防止判定大小时溢出定为 9 位编码,最高位为 1 指示差为负。 图 3 阶码最小最大的两数相加减 图 3 中 f_a 阶码是最小数 8’h80 , f_b 阶码是最大数 8’h7F ,因而差是负数 9’h101 ,距离为 9’h0FF ,说明 f_a 的尾数右移了 255 位。也即是 24’h999999 右移了 255 位,因为它是负数,故保值右移应该用“ 1 ”补位,于是 space 的前 231 位都是 1 ,而 space 的最低位保持初始值 0 ,故而我们见到 space 的低十六进制位是 24’h333332 ,其余位全是“ F ”。稳定的运算输出需要 3 个时钟周期,故图中由加变到减运算时, over 出现 3 个节拍的溢出显示,此时的判断和减法运算无关。 如果我们要得到这两数加法运算的精确值,只要将 space 的有效数字添加在结果的后面即可。如果是做减法,并且 space 是 f_b 的移出,那么要“求反加一”,并且这种 space “求反加一”没有向上的进位时,还要将结果 f_out 的尾码减一之后与变化的 space 相连。 图 4 中两浮点数的阶码都是负数, 8’hB0 = -80 , 8’hA3 = -93 ,故 8’hB0 8’hA3 , f_b 的尾码 24’b001100100101010101110111 要右移 13 位,得剩余为 24’b000000000000000110010010=24’h000192 ,移出的部分是 =16’hABB8 。尾码加法的近似结果是 24’h6545AA ,尾码减法的近似结果是 24’h654286 。加法运算的精确结果是 40’h6545AAABB8 ;而减法运算需要先求移出的 16’b1010101110111000 对称码,即有 16’b0101010001000111 + 1’b1 = 16’b0101010001001000 = 16’h5448 ,再连接减法运算的“结果减一”,得到减法运算精确结果 40’h6542855448 。 由于精确计算只考虑移出的有效数字不是 0 ,而不是 0 的限位数对称码不会产生进位,因而当移动的是 f_b 的尾数时,减法运算的精确结果获得必须用尾数差的结果减一后去连接移出部分的对称码。 图 5 验证的是阶码相同正数浮点数加减运算,由于移出到 space 中没有有效数字,故得到的加减运算结果都应该是精确的,但加法运算的结果溢出。要解决溢出,需要将公共阶码提高单位 1 ,也就是要将两数的尾码都右移一位,这用软件的方法就可以完成。 图 4 阶码都是负数的加减运算 图 5 阶码相同的加减运算 4 结论 计算机运算器电路设计当中,一般用所谓的二进制的“补码制”,会用很多种“碰值”的手段来完成运算器的设计,这样常会“漏掉”边界值。这里运用“限位数”进行能精确计算的浮点数电路设计,不仅简单易行,节省器件资源,而且在理论上能够透彻地解释机器数值运算问题,为软硬件结合浮点数运算的精确性提供了可行的方法。 参考文献 姜咏江·计算机设计的基础理论限位数· 2009 中国计算机大会论文集· p362 姜咏江·补码制理论的理解·北京,计算机工程与应用· 2004.5 姜咏江·计算机原理综合课程设计·北京,清华大学出版社· 2009.6 姜咏江 CCF/CIE 高级会员。对外经济贸易大学副教授。主研计算机理论与设计方法,系统结构,操作系统等。 E_mail : accsys@126.com
个人分类: 机器计算|8900 次阅读|12 个评论
[书荐]《软件观念革命》与《交互设计之路》
songshuhui 2008-9-3 15:48
猛犸 发表于2008-04-26 星期六 23:53 分类: 其他 | | 世界上有10种人:懂二进制的和不懂二进制的。 这个冷笑话一定是程序员编出来的,只有程序员才会这样分类。这种古怪的幽默感可能不会受Alan Cooper欢迎,虽然这位老先生本身就是一个程序员。事实上,他可能是第一个为微型计算机编写商业软件的人,并且被称为Visual Basic之父。现在他以倡导人性设计而闻名,并且在这一领域写了四本书,其中包括像是一本快速阅览指南似的《交互设计之路让高科技产品回归人性》和如同一本手册般的《软件观念革命交互设计精髓》。 Alan Cooper同样认为程序员不是正常人。他提出一个逻辑人的名词来描述那些具有程序员特质的人,说他们有着近乎偏执的好奇心、近乎危险的完美主义,以及能够考虑几乎所有可能性的复杂大脑。他们倾向于把一项工作分解成不同的步骤,然后为每一个步骤编写一个功能模块,最后把它们像积木般搭在一起,并且以这些模块可以随意拆换而骄傲。 然而在Alan Cooper眼中,大部分软件愚蠢、霸道而且毫不讲理,它们的设计完全称不上良好。 它们仅仅是按照死板的框架来工作,并且把那些本来应该由计算机完成的工作交给用户来犯难。为什么每次关闭一个文档的时候都问我要不要保存?为什么计算机总是记不住我的文件放在了哪里?为什么计算机的文件管理系统总是像一个分门别类的档案柜,里面塞满了无数的抽屉?为什么任何一个简单到不能再简单的工作,软件总是会弹出无数的窗口,要我一次一次点那个下一步或者确定按钮?为什么我不知所措的时候,软件总是会弹出一个像是错误1030这样绝对正确然而毫无帮助的窗口? 以及最重要的:为什么在计算机面前,我总觉得自己像是个傻瓜? 习惯的力量无比强大。软件设计师和程序员往往认为用户也和自己一样,能够把每个步骤组合起来完成自己的任务,从而达到最终目标。然而这种模块化设计的软件却刚刚好会打断对于用户工作来说最为重要的那种忘我的状态。有多少人像我一样,在写一篇包含了图片或者表格的文章的时候,不得不频繁把手从键盘上挪到鼠标上只为了点击某一个菜单或者按钮?有多少次我们不得不在软件之间相互切换,可能只是为了完成一个简单不过的改变图片大小的操作? 我们为自己能够熟练掌握某个软件的使用而沾沾自喜。我们自称为某软件专家,但是事实上只不过意味着我们已经为这个软件而改变了自己,我们理解计算机那种奇怪的逻辑,而没有让软件适应我们的思考方式。 最好的用户界面就是没有界面。当孩子第一次拿起铅笔的时候,他们像是生来就知道该如何开始。 软件也应该是这样才对。 在这两本书中,Alan Cooper提出了设计师和程序员们往往会犯的一些错误,以及改善基于软件的产品的可用性及提升用户满意度的方法。对于想成为程序员、软件设计师、交互设计师或者用户体验工程师的人士来说,从这两本书起步也许是一个不错的选择。 标签: 用户体验 , 软件设计
个人分类: 其他|1086 次阅读|0 个评论

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

GMT+8, 2024-6-17 07:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部