{"title":"计算机算术——一个程序员的视角","authors":"R. Brent","doi":"10.1109/ARITH.1999.10005","DOIUrl":null,"url":null,"abstract":"Advances in computer hardware often have little impact until they become accessible to programmers using high-level languages. For example, the IEEE floating-point arithmetic standard provides various rounding modes and exceptions, but it is difficult or impossible to take advantage of these from most high-level languages, so the full capabilities of IEEE-compatible hardware are seldom used. When they are used by writing in machine or assembly language, there is a high cost in program development and testing time, lack of portability, and difficulty of software maintenance.In this talk we discuss several areas in which computer hardware, especially arithmetic hardware, can or should significantly influence programming language design. These include: vector units, floating-point exception handling, floating-point rounding modes, high/extended precision registers/arithmetic, and use of unusual number systems. Relevant application areas include interval arithmetic, high-precision integer arithmetic for computer algebra and cryptography, and testing of hardware by comparison with software simulations.","PeriodicalId":6526,"journal":{"name":"2015 IEEE 22nd Symposium on Computer Arithmetic","volume":"23 1","pages":"2-"},"PeriodicalIF":0.0000,"publicationDate":"1999-04-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Computer Arithmetic - A Programmer's Perspective\",\"authors\":\"R. Brent\",\"doi\":\"10.1109/ARITH.1999.10005\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Advances in computer hardware often have little impact until they become accessible to programmers using high-level languages. For example, the IEEE floating-point arithmetic standard provides various rounding modes and exceptions, but it is difficult or impossible to take advantage of these from most high-level languages, so the full capabilities of IEEE-compatible hardware are seldom used. When they are used by writing in machine or assembly language, there is a high cost in program development and testing time, lack of portability, and difficulty of software maintenance.In this talk we discuss several areas in which computer hardware, especially arithmetic hardware, can or should significantly influence programming language design. These include: vector units, floating-point exception handling, floating-point rounding modes, high/extended precision registers/arithmetic, and use of unusual number systems. Relevant application areas include interval arithmetic, high-precision integer arithmetic for computer algebra and cryptography, and testing of hardware by comparison with software simulations.\",\"PeriodicalId\":6526,\"journal\":{\"name\":\"2015 IEEE 22nd Symposium on Computer Arithmetic\",\"volume\":\"23 1\",\"pages\":\"2-\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-04-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 IEEE 22nd Symposium on Computer Arithmetic\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ARITH.1999.10005\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE 22nd Symposium on Computer Arithmetic","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ARITH.1999.10005","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Advances in computer hardware often have little impact until they become accessible to programmers using high-level languages. For example, the IEEE floating-point arithmetic standard provides various rounding modes and exceptions, but it is difficult or impossible to take advantage of these from most high-level languages, so the full capabilities of IEEE-compatible hardware are seldom used. When they are used by writing in machine or assembly language, there is a high cost in program development and testing time, lack of portability, and difficulty of software maintenance.In this talk we discuss several areas in which computer hardware, especially arithmetic hardware, can or should significantly influence programming language design. These include: vector units, floating-point exception handling, floating-point rounding modes, high/extended precision registers/arithmetic, and use of unusual number systems. Relevant application areas include interval arithmetic, high-precision integer arithmetic for computer algebra and cryptography, and testing of hardware by comparison with software simulations.