Emulation - a useful tool in the development of computer systems

F. A. Salomon, D. Tafuri
{"title":"Emulation - a useful tool in the development of computer systems","authors":"F. A. Salomon, D. Tafuri","doi":"10.5555/800063.801235","DOIUrl":null,"url":null,"abstract":"Emulation is playing a key role in the development of a BELLMAC-32A microprocessor-based computer system at Bell Telephone Laboratories. The emulation is used for the development of the operating system for the new computer system to permit both hardware and software development to proceed in parallel. The emulation's goal is to permit the operating system to be developed before the hardware is available. This is aimed at reducing the time and effort required in the hardware/software integration interval to permit a more rapid introduction of a computer system - both hardware and operating system. Emulation is one of several software/hardware models being used in the development of the computer system. There are also functional, gate-level, manufacturing-model simulations used in the development of the BELLMAC-32A microprocessor. Several steps are used in verifying the emulation as well as cross-verification of the BELLMAC-32A microprocessor portion of the different models. Both the BELLMAC-32A microprocessor and the computer system were emulated. The emulation model includes an emulation of the memory mapping, interrupt structure, memory management and peripherals of the real processor. It is an instruction-level compatible emulation that provides high throughput for software debugging. Since the bit layouts of the software that runs on the emulation and the real machine are identical, code that runs on the emulation will run on the real machine except for time dependent code. Since the emulator is a form of software, it can be instrumented for additional debugging capabilities. The emulator went through a rigorous development methodology of requirements, design, implementation and testing phases. Each phase had reviews and/or walk-throughs. Further, the testing phase was done by personnel other than the emulator developers to ensure that the product met external specifications as seen by the customers of the emulation. The emulator development environment includes both microcode development tools and lab environment debugging tools. Both sets of tools run on the UNIX [1] operating system. The microcode development tools include an assembler, pre- and post-processors for generation of microcode, and a microcode simulator for testing the microcode. Both a pre- and post-processor were developed to aid in generating microcode for the emulator developers. Additional pre-processors were taken from other standard UNIX software to further aid the developers with conditional assemblies and symbolic references. The lab environment for the emulation makes use of a UNIX software based front-end lab support processor that interfaces to the emulation processor. A powerful debugging tool is available to the emulator developers on the front-end processor to permit single stepping at both the micro and macro level, display and modification of internal registers, give microinstruction traces, provide breakpointing capabilities, provide microcode and object code download capabilities and to maintain control of the emulation machine.","PeriodicalId":186490,"journal":{"name":"Annual Simulation Symposium","volume":"39 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1982-03-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Annual Simulation Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5555/800063.801235","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Emulation is playing a key role in the development of a BELLMAC-32A microprocessor-based computer system at Bell Telephone Laboratories. The emulation is used for the development of the operating system for the new computer system to permit both hardware and software development to proceed in parallel. The emulation's goal is to permit the operating system to be developed before the hardware is available. This is aimed at reducing the time and effort required in the hardware/software integration interval to permit a more rapid introduction of a computer system - both hardware and operating system. Emulation is one of several software/hardware models being used in the development of the computer system. There are also functional, gate-level, manufacturing-model simulations used in the development of the BELLMAC-32A microprocessor. Several steps are used in verifying the emulation as well as cross-verification of the BELLMAC-32A microprocessor portion of the different models. Both the BELLMAC-32A microprocessor and the computer system were emulated. The emulation model includes an emulation of the memory mapping, interrupt structure, memory management and peripherals of the real processor. It is an instruction-level compatible emulation that provides high throughput for software debugging. Since the bit layouts of the software that runs on the emulation and the real machine are identical, code that runs on the emulation will run on the real machine except for time dependent code. Since the emulator is a form of software, it can be instrumented for additional debugging capabilities. The emulator went through a rigorous development methodology of requirements, design, implementation and testing phases. Each phase had reviews and/or walk-throughs. Further, the testing phase was done by personnel other than the emulator developers to ensure that the product met external specifications as seen by the customers of the emulation. The emulator development environment includes both microcode development tools and lab environment debugging tools. Both sets of tools run on the UNIX [1] operating system. The microcode development tools include an assembler, pre- and post-processors for generation of microcode, and a microcode simulator for testing the microcode. Both a pre- and post-processor were developed to aid in generating microcode for the emulator developers. Additional pre-processors were taken from other standard UNIX software to further aid the developers with conditional assemblies and symbolic references. The lab environment for the emulation makes use of a UNIX software based front-end lab support processor that interfaces to the emulation processor. A powerful debugging tool is available to the emulator developers on the front-end processor to permit single stepping at both the micro and macro level, display and modification of internal registers, give microinstruction traces, provide breakpointing capabilities, provide microcode and object code download capabilities and to maintain control of the emulation machine.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
仿真-计算机系统开发中的一个有用工具
仿真在贝尔电话实验室基于BELLMAC-32A微处理器的计算机系统的开发中起着关键作用。仿真用于新计算机系统的操作系统开发,以允许硬件和软件开发并行进行。仿真的目标是允许在硬件可用之前开发操作系统。其目的是减少硬件/软件集成间隔所需的时间和精力,以便更快地引入计算机系统-硬件和操作系统。仿真是计算机系统开发中使用的几种软件/硬件模型之一。在BELLMAC-32A微处理器的开发中也使用了功能,门级,制造模型仿真。在验证仿真以及不同型号的BELLMAC-32A微处理器部分的交叉验证中使用了几个步骤。对BELLMAC-32A微处理器和计算机系统进行了仿真。仿真模型包括对实际处理器的内存映射、中断结构、内存管理和外设的仿真。它是一种指令级兼容仿真,为软件调试提供了高吞吐量。由于在模拟和真实机器上运行的软件的位布局是相同的,因此在模拟上运行的代码将在真实机器上运行,除了与时间相关的代码。由于模拟器是软件的一种形式,因此可以对其进行检测以获得额外的调试功能。仿真器经历了需求、设计、实现和测试阶段的严格开发方法。每个阶段都有回顾和/或演练。此外,测试阶段由仿真器开发人员以外的人员完成,以确保产品符合仿真客户所看到的外部规范。仿真器开发环境包括微码开发工具和实验室环境调试工具。这两套工具都运行在UNIX[1]操作系统上。微码开发工具包括一个汇编器,用于生成微码的前处理器和后处理器,以及用于测试微码的微码模拟器。开发了预处理器和后处理器,以帮助模拟器开发人员生成微码。额外的预处理器取自其他标准UNIX软件,以进一步帮助开发人员使用条件程序集和符号引用。仿真的实验室环境使用了一个基于UNIX软件的前端实验室支持处理器,该处理器与仿真处理器接口。仿真器开发人员可以在前端处理器上使用强大的调试工具,以允许微观和宏观级别的单步执行,显示和修改内部寄存器,提供微指令跟踪,提供断点功能,提供微码和目标代码下载功能,并保持对仿真机的控制。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Why we STILL Don't Know How to Simulate Networks Cloning Parallel Simulation Programs Parallel Simulation: Past, Present, and Future Model verification in λΣ: a type inference approach Simulation-based approach to design a multi-stage flow-shop in steel works
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1