| OCR Text |
Show CHAPTER 5 INTROSPECTIVE COMPUTER 5.1 Introduction Ideally, we want introspective capabilities to run in a real time or close to the real time, so that the executor is not slowed down. This is impossible to achieve in a pure software implementation, like Dynascope. This chapter describes an introspective computer, a regular computer architecture extended with support for introspection. The introspective computer imposes a minimum overhead on the executor's speed by the use of introspective capabilities. The executor and the director run on separate processors. Although these two processors can be specialized, support for introspection can be designed in a way that there is no difference between the processor for the executor and the processor for the director. Such design provides a flexible way to combine processors. Therefore, this chapter concentrates on the design of a single processor system that can be used as a building block in a multiprocessor introspective system. Support for introspection is divided into sections for monitoring, controlling, and reverse execution. Each of these three parts has some critical issues. Time is the main constraint in monitoring. Monitoring should be performed with the speed that enables uninterrupted execution of the executor. Since monitoring actions can be arbitrary complex, uninterrupted execution of the executor is an ideal case impossible to achieve in practice. At most we can provide a system that can perform a large class of useful monitoring functions in real time. Other monitoring functions require a slowdown in the execution speed of the executor. |