47 research outputs found
Special Libraries, September 1976
Volume 67, Issue 9https://scholarworks.sjsu.edu/sla_sl_1976/1007/thumbnail.jp
A coprocessor design for the architectural support of non-numeric operations
Computer Science is concerned with the electronic manipulation of information. Continually increasing amounts of computer time are being expended on information that is not numeric. This is represented in part by modem computing requirements such as the block moves associated with context switching and virtual memory management, peripheral device communication, compilers, editors, word processors, databases, and text retrieval. This dissertation examines the traditional support of non-numeric information from a software, firmware, and hardware perspective and presents a coprocessor design to improve the performance of a set of non-numeric operations. Simple micro-coding of operations can provide a degree of performance improvement through parallel execution of instructions and control store access speeds. New special purpose parallel hardware algorithms can yield complexity improvements. This dissertation presents a parallel hardware regular expression searching algorithm which requires linear time and quadratic space compared to software uniprocessor algorithms which require exponential time and space. A very large scale integration (VLSD implementation of a version of this algorithm was designed, fabricated, and tested. The hardware. searching algorithm is then combined with other special purpose hardware to implement a set of operations. Simulation is then used to quantify the performance improvement of the operations when compared to software solutions. A coprocessor approach allows the optional addition of hardware to accelerate a set of operations. This is appropriate from a complex instruction set computer (CISC) perspective since hardware acceleration is being utilized. It is also appropriate from a reduced instruction set computer (RISC) perspective since the operations are distributed away from the central processing unit (CPU)
Recommended from our members
The distributed computer system
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University
Theory and practice in the construction of efficient interpreters
Various characteristics of a programming language, or of the hardware on which it is to be
implemented, may make interpretation a more attractive implementation technique than compilation
into machine instructions. Many interpretive techniques can be employed; this thesis is mainly
concerned with an efficient and flexible technique using a form of interpretive code known as
indirect threaded code (ITC). An extended example of its use is given by the Setl-s implementation
of Setl, a programming language based on mathematical set theory. The ITC format, in which pointers
to system routines are embedded in the code, is described and its extension to cope with
polymorphic operators. The operand formats and some of the system routines are described in detail
to illustrate the effect of the language design on the interpreter.
Setl must be compiled into indirect threaded code and its elaborate syntax demands the use of a
sophisticated parser. In Setl-s an LR(1) parser is implemented as a data structure which is
interpreted in a way resembling that in which ITC is interpreted at runtime. Qualitative and
quantitative aspects of the compiler, interpreter and system as a whole are discussed.
The semantics of a language can be defined mathematically using denotational semantics. By setting
up a suitable domain structure, it is possible to devise a semantic definition which embodies the
essential features of ITC. This definition can be related, on the one hand to the standard
semantics of the language, and on the other to its implementation as an ITC-based interpreter. This
is done for a simple language known as X10. Finally, an indication is given of how this approach
could be extended to describe Setl-s, and of the insight gained from such a description. Some
possible applications of the theoretical analysis in the building of ITC-based interpreters are
suggested
Special Libraries, August 1975
Volume 66, Issue 8https://scholarworks.sjsu.edu/sla_sl_1975/1006/thumbnail.jp
Human error data retrieval for U.S. commercial nuclear power plants
http://www.worldcat.org/oclc/472921
Stylistic atructures: a computational approach to text classification
The problem of authorship attribution has received attention both in the academic world (e.g. did Shakespeare or Marlowe write Edward III?) and outside (e.g. is this confession really the words of the accused or was it made up by someone else?). Previous studies by statisticians and literary scholars have sought "verbal habits" that characterize particular authors consistently. By and large, this has meant looking for distinctive rates of usage of specific marker words -- as in the classic study by Mosteller and Wallace of the Federalist Papers.
The present study is based on the premiss that authorship attribution is just one type of text classification and that advances in this area can be made by applying and adapting techniques from the field of machine learning.
Five different trainable text-classification systems are described, which differ from current stylometric practice in a number of ways, in particular by using a wider variety of marker patterns than customary and by seeking such markers automatically, without being told what to look for. A comparison of the strengths and weaknesses of these systems, when tested on a representative range of text-classification problems, confirms the importance of paying more attention than usual to alternative methods of representing distinctive differences between types of text.
The thesis concludes with suggestions on how to make further progress towards the goal of a fully automatic, trainable text-classification system
Recommended from our members
A real time garbage collection algorithm
This paper describes a real time garbage collection algorithm. It allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A garbage collection algorithm is considered to be real time if the amount of work to be done can be controlled each time the garbage collector is called. Since objects with short lifetimes account for a large portion of storage use. it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. A reference count scheme in cooperation with compaction for reclaiming storages for young objects, and a linearizing, compacting, copying scheme to collect self-referential structures and reorganize storage for old objects at the users discretion are proposed.Keywords: garbage collection, storage management, real time, virtual memory1989 best estimate for issue date based on available information
Issues in the design and implementation of a real-time garbage collection architecture
This dissertation proposes a new garbage-collected memory module architecture for hard real-time systems. The memory module is designed for compatibility with standard workstation architectures, and cooperates with standard cache consistency protocols. Processes read and write garbage- collected memory in the same manner as standard memory, with identical performance under most conditions. Occasional contention between user processes and the garbage collector results in delays to the user process of at most six memory cycles. Thus the proposed architecture guarantees real-time performance at fine granularity. This dissertation investigates the viability of the proposed architecture in two senses. First, it demonstrates that a fundamental component of the architecture, the object space manager, can be produced at a reasonable cost. Second, this dissertation reports the results of experiments that measure the performance of the proposed architecture under real workloads. Results of these experiments show that the architecture currently performs more slowly than traditional schemes; but this appears to be correctable by employing a more efficient function call mechanism that caches heap- allocated activation frames. Finally, this dissertation reports on some simple extensions to the C++ programming language to support slice objects. Slice objects, which are supported by the garbage collection architecture, are useful for implementing fragmentable arrays, i.e., arrays in which subarrays may be retained while unused elements become garbage and are collected. Experimental evidence demonstrates that slice objects can be used to implement strings more efficiently than at least some popular class libraries