These chips are known for being thought of as comparable to the neural networks being marketed for the number of "synapses" and "neurons". Minimal instruction set computers MISC Minimal instruction set computers MISC is a processor architecture with a very small number of basic instruction operations and corresponding opcodes. Explicitly parallel instruction computing EPIC Explicitly parallel instruction computing EPIC is an instruction set that permits microprocessors to execute software instructions in parallel by using the compiler , rather than complex on-die circuitry, to control parallel instruction execution.
One instruction set computer OISC One instruction set computer OISC is an abstract machine that uses only one instruction obviating the need for a machine language opcode. Zero instruction set computer ZISC Zero instruction set computer ZISC is a computer architecture based on pattern matching and absence of micro- instructions in the classical sense.
Share this. Standards published by U. These standards are intended to be binding only upon federal agencies. Communications systems that use optical fibers for transmission. See: optical fiber. A field is a component of a record. A record is a component of a database. Syn: data set. ANSI The activity of keeping a file up to date by adding, changing, or deleting data. See: Kermit, Xmodem, Ymodem, Zmodem. IEEE The combination of a hardware device; e.
Such software cannot be modified by the computer during processing. See: embedded software. IEEE A variable that is set to a prescribed state, often "true" or "false", based on the results of a process or the occurrence of a specified condition. Syn: indicator. A data file that does not physically interconnect with or point to other files. Any relationship between two flat files is logical; e. Syn: flow diagram. See: block diagram, box diagram, bubble chart, graph, input-process-output chart, structure chart.
IEEE The test, inspection, or analytical process by which a group of configuration items comprising a system is verified to have met specific contractual performance requirements. Contrast with code review, design review, requirements review, test readiness review. Intended primarily for use in solving technical problems in mathematics, engineering, and science.
IEEE Verifies that each safety-critical software requirement is covered and that an appropriate criticality level is assigned to each software element. IEEE An audit conducted to verify that the development of a configuration item has been completed satisfactorily, that the item has achieved the performance and functional characteristics specified in the functional or allocated configuration identification, and that its operational and support documents are complete and satisfactory.
See: physical configuration audit. IEEE 1 The process of defining the working relationships among the components of a system. See: architectural design. IEEE A requirement that specifies a function that a system or system component must be able to perform. Approximately one billion bytes; precisely or 1,,, bytes. See: kilobyte, megabyte. IEEE A diagram or other representation consisting of a finite set of nodes and internode connections called edges or arcs.
Contrast with blueprint. See: block diagram, box diagram, bubble chart, call graph, cause-effect graph, control flow diagram, data flow diagram, directed graph, flowchart, input-process-output chart, structure chart, transaction flowgraph. Transmissions [communications] which occur in only one direction at a time, but that direction can change.
An interlocked sequence of signals between connected components in which each component waits for the acknowledgement of its previous signal before proceeding with its action, such as data transfer.
Hardware used to read from or write to a hard disk. See: disk, disk drive. ISO Physical equipment, as opposed to programs, procedures, rules, and associated documentation. Contrast with software. A technique used to identify conceivable failures affecting system performance, human safety or other required characteristics. DOD The aggregate probability of occurrence of the individual events that create a specific hazard. DOD An assessment of the consequence of the worst credible mishap that could be caused by a specific hazard.
The base 16 number system. This is a convenient form in which to examine binary data because it collects 4 binary digits per hexadecimal digit; e. A programming language which requires little knowledge of the target computer, can be translated into several different machine languages, allows symbolic naming of operations and addresses, provides features designed to facilitate expression of data structures and program logic, and usually results in several machine instructions for each program statement.
Contrast with assembly language. The process of translating a design into hardware components, software components, or both.
See: coding. IEEE The period of time in the software life cycle during which a software product is created from design documentation and debugged.
IEEE A requirement that specifies or constrains the coding or construction of a system or system component. A structured reformation of the program module by module or function by function with an integration test being performed following each addition.
Methods include top-down, breadth-first, depth-first, bottom-up. Contrast with nonincremental integration. IEEE A software development technique in which requirements definition, design, implementation, and testing occur in an overlapping, iterative [rather than sequential] manner, resulting in incremental completion of the overall software product. Contrast with rapid prototyping, spiral model, waterfall model.
QA Procedures and criteria recognized as acceptable practices by peer professional, credentialing, or accrediting organizations. NBS A sequence of program statements that can never be executed. Syn: dead code. The practice of "hiding" the details of a function or structure, making them inaccessible to other parts of the program. See: abstraction, encapsulation, software engineering. Each microprocessor and each computer needs a way to communicate with the outside world in order to get the data needed for its programs and in order to communicate the results of its data manipulations.
IEEE A diagram of a software system or module, consisting of a rectangle on the left listing inputs, a rectangle in the center listing processing steps, a rectangle on the right listing outputs, and arrows connecting inputs to processing steps and processing steps to outputs. See: block diagram, box diagram, bubble chart, flowchart, graph, structure chart.
A structured software design technique; identification of the steps involved in each process to be performed and identifying the inputs to and outputs from each step. A refinement called hierarchical input-process-output identifies the steps, inputs, and outputs at both general and detailed levels of detail.
A manual testing technique in which program documents [specifications requirements, design , source code or user's manuals] are examined in a very formal and disciplined manner to discover errors, violations of standards and other problems. Checklists are a typical vehicle used in accomplishing this technique. See: static analysis, code audit, code inspection, code review, code walkthrough. ANSI The phase in the system life cycle that includes assembly and testing of the hardware and software of a computerized system.
Installation includes installing a new computer system, new software or hardware, or otherwise modifying the current system. IEEE The period of time in the software life cycle during which a software product is integrated into its operational environment and tested in this environment to ensure that it performs as required. Institute of Electrical and Electronic Engineers.
An organization involved in the generation and promulgation of standards. IEEE standards represent the formalization of current norms of professional practice through the process of obtaining the consensus of concerned, practicing professionals in the given field. See: computer instruction set. NBS The insertion of additional code into a program in order to collect information about program behavior during program execution.
Useful for dynamic analysis techniques such as assertion checking, coverage analysis, tuning. Small wafers of semiconductor material [silicon] etched or printed with extremely small electronic switching circuits. Syn: chip. A standard interface for hard disks which provides for building most of the controller circuitry into the disk drive to save space. IDE controllers are functionally equivalent to ST standard controllers.
IEEE Pertaining to a system or mode of operation in which each user entry causes a response from or action by the system. See: conversational, on-line, real time. The concept involves the specification of the connection of two devices having different functions.
IEEE Evaluation of: 1 software requirements specifications with hardware, user, operator, and software interface requirements documentation, 2 software design description records with hardware, operator, and software interface requirements specifications, 3 source code with hardware, operator, and software interface design documentation, for correctness, consistency, completeness, accuracy, and readability.
Entities to evaluate include data items and control items. IEEE A requirement that specifies an external item with which a system or system component must interact, or sets forth constraints on formats, timing, or other factors caused by such an interaction.
International Electrotechnical Commission. Geneva, Switzerland. An organization that sets standards for electronic products and components which are adopted by the safety standards agencies of many countries. International Organization for Standardization.
An organization that sets international standards. It deals with all fields except electrical and electronics which is governed by IEC. Syn: International Standards Organization. International Standards Organization. See: International Organization for Standardization. An international organization for communications standards. IEEE To translate and execute each statement or construct of a computer program before translating and executing the next.
Contrast with assemble, compile. IEEE A computer program that translates and executes each statement or construct of a computer program before translating and executing the next. The interpreter must be resident in the computer each time a program [source code file] written in an interpreted language is executed. Contrast with assembler, compiler. The device sends a signal, called an interrupt, to the processor.
The processor interrupts its current program, stores its current operating conditions, and executes a program to service the device sending the interrupt. After the device is serviced, the processor restores its previous operating conditions and continues executing the interrupted program.
A method for handling constantly changing data. Contrast with polling. A software tool which analyzes potential conflicts in a system as a result of the occurrences of interrupts. IEEE A user-defined unit of work that is to be accomplished by a computer.
For example, the compilation, loading, and execution of a computer program. See: job control language.
IEEE A language used to identify a sequence of jobs, describe their requirements to an operating system, and control their execution. An asynchronous file transfer protocol developed at Columbia University, noted for its accuracy over noisy lines. Several versions exist. Contrast with Xmodem, Ymodem, Zmodem. One or more characters, usually within a set of data, that contains information about the set, including its identification.
QA An individual step in an critical control point of the manufacturing process. Approximately one thousand bytes. This symbol is used to describe the size of computer memory or disk storage space.
Because computers use a binary number system, a kilobyte is precisely or bytes. A graphical, problem oriented, programming language which replicates electronic switching blueprints. A classification of ICs [chips] based on their size as expressed by the number of circuits or logic gates they contain. ISO The time interval between the instant at which a CPU's instruction control unit initiates a call for data and the instant at which the actual transfer of the data starts.
Syn: waiting time. The use of any one of several structured methods to plan, design, implement, test. See: waterfall model. IEEE A computer program that creates a single load module from two or more independently translated object modules or load modules by resolving cross references among the modules and, possibly, by relocating elements.
May be part of a loader. Syn: link editor, linker. A program which copies other [object] programs from auxiliary [external] memory to main [internal] memory prior to its execution. A communications network that serves users within a confined geographical area. It is made up of servers, workstations, a network operating system, and a communications link.
IEEE Evaluates the safety-critical equations, algorithms, and control logic of the software design. IEEE A system of error control based on the formation of a block check following preset rules. See: assembly language. The advantage of assembly language is that it provides bit-level control of the processor allowing tuning of the program for optimal speed and performance.
For time critical operations, assembly language may be necessary in order to generate code which executes fast enough for the required operations. The disadvantage of assembly language is the high-level of complexity and detail required in the programming. This makes the source code harder to understand, thus increasing the chance of introducing errors during program development and maintenance.
All source code, regardless of the language in which it was programmed, is eventually converted to machine code.
Syn: object code. IEEE In software engineering, a predefined sequence of computer instructions that is inserted into a program, usually during assembly or compilation, at each place that its corresponding macroinstruction appears in the program. IEEE A source code instruction that is replaced by a predefined sequence of source instructions, usually in the same language as the rest of the program and usually during assembly or compilation.
A non-moving storage device utilizing one of a number of types of electronic circuitry to store information. IEEE A software component that is called by the operating system of a computer and that usually calls other software components.
See: routine, subprogram. IEEE The ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment. Syn: modifiability. QA Activities such as adjusting, cleaning, modifying, overhauling equipment to assure performance in accordance with requirements. Maintenance to a software system includes correcting software errors, adapting software to a new environment, or making enhancements to software.
See: adaptive maintenance, corrective maintenance, perfective maintenance. A measure of the reliability of a computer system, equal to average operating time of equipment between failures, as calculated on a statistical basis from the known failure rates of various components of the system. A measure of reliability, giving the average time before the first failure.
A measure of reliability of a piece of repairable equipment, giving the average time between repairs. IEEE A quantitative assessment of the degree to which a software product or process possesses a given attribute. The process of determining the value of some quantity in terms of a standard unit. Approximately one million bits. Precisely K bits, bits, or 1,, bits. Approximately one million bytes. Precisely K Bytes, bytes, or 1,, bytes. See: kilobyte.
Any device or recording medium into which binary data can be stored and held, and from which the entire original data can be retrieved. The two types of memory are main; e. See: storage device. A computer display listing a number of options; e. Sometimes used to denote a list of programs.
One of two major categories of chip design [the other is bipolar]. It derives its name from its use of metal, oxide and semiconductor layers. Common type of transistor fabricated as a discrete component or into MOS integrated circuits.
NBS The process of generating test sets for structural testing based upon use of complexity metrics or coverage metrics. IEEE A quantitative measure of the degree to which software possesses a given attribute which affects its quality. Communications network that covers a geographical area such as a city or a suburb. Permanent memory that holds the elementary circuit operations a computer must perform for each instruction in its instruction set.
Frequently synonymous with a microcomputer. Execution speed of a computer. MIPS rate is one factor in overall performance.
Bus and channel speed and bandwidth, memory speed, memory management techniques, and system software also determine total throughput. DOD An unplanned event or series of events resulting in death, injury, occupational illness, or damage to or loss of data and equipment or property, or damage to the environment.
Syn: accident. A symbol chosen to assist human memory and understanding; e. Construction of programs used to model the effects of a postulated environment for investigating the dimensions of a problem for the effects of algorithmic processes on responsive targets. ISO A functional unit that modulates and demodulates signals.
One of the functions of a modem is to enable digital data to be transmitted over analog transmission facilities. The term is a contraction of modulator-demodulator.
Using a modem to communicate between computers. MODEM access is often used between a remote location and a computer that has a master database and applications software, the host computer.
A structured software design technique, breaking a system into components to facilitate design and development. Syn: functional decomposition, hierarchical decomposition. See: abstraction. IEEE Software composed of discrete parts. See: structured design. IEEE The degree to which a system or computer program is composed of discrete components such that a change to one component has minimal impact on other components.
Varying the characteristics of a wave in accordance with another wave or signal, usually to make user equipment signals compatible with communication facilities. Contrast with demodulate. Converting signals from a binary-digit pattern [pulse form] to a continuous wave form [analog]. Contrast with demodulation. See: unit. A table which provides a graphic illustration of the data elements whose values are input to and output from a module. IEEE A mode of operation in which two or more processes [programs] are executed concurrently [simultaneously] by separate CPUs that have access to a common main memory.
Contrast with multi-programming. See: multi-tasking, time sharing. Syn: parallel processing. Contrast with multi-tasking. See: time sharing. IEEE A mode of operation in which two or more tasks are executed in an interleaved manner.
See: multi-processing, multi-programming, time sharing. Myers A test coverage criteria which requires enough test cases such that all possible combinations of condition outcomes in each decision, and all points of entry, are invoked at least once.
Contrast with branch coverage, condition coverage, decision coverage, path coverage, statement coverage. A device which takes information from any of several sources and places it on a single line or sends it to a single destination. IEEE Computer systems that perform more than one primary function or task are considered to be multipurpose. In some situations the computer may be linked or networked with other computers that are used for administrative functions; e. NBS A method to determine test set thoroughness by measuring the extent to which a test set can discriminate the program from slight variants [mutants] of the program.
Contrast with error seeding. National Bureau of Standards. Now National Institute for Standards and Technology. National Institute for Standards and Technology.
Gaithersburg, MD A federal agency under the Department of Commerce, originally established by an act of Congress on March 3, as the National Bureau of Standards. The Institute's overall goal is to strengthen and advance the Nation's science and technology and facilitate their effective application for public benefit. The National Computer Systems Laboratory conducts research and provides, among other things, the technical foundation for computer related policies of the Federal Government.
A type of microelectronic circuit used for logic and memory chips. A database organization method that allows for data relationships in a net-like form. A single data element can point to multiple data elements and can itself be pointed to by other data elements.
Contrast with relational database. A junction or connection point in a network, e. IEEE 1 Examines software elements that are not designated safety-critical and ensures that these elements do not cause a hazard. Generally, safety-critical code should be isolated from non-safety-critical code. This analysis is to show this isolation is complete and that interfaces between safety-critical code and non-safety-critical code do not create hazards.
A reformation of a program by immediately relinking the entire program following the testing of each independent module. Integration testing is then conducted on the program as a whole.
Syn: "big bang" integration. Contrast with incremental integration. A high priority interrupt that cannot be disabled by another interrupt. It can be used to report malfunctions such as parity, bus, and math co-processor errors. IEEE A value whose definition is to be supplied within the context of a specific operating system. This value is a representation of the set of no numbers or no value for the operating system in use. IEEE Data for which space is allocated but for which no value currently exists.
IEEE A string containing no entries. Note: It is said that a null string has length zero. In object oriented programming, A self contained module [encapsulation] of data and the programs [services] that manipulate [process] that data. NIST A code expressed in machine language ["1"s and "0"s] which is normally an output of a given translation process that is ready to be executed by a computer. Syn: machine code. Contrast with source code. See: object program.
IEEE A software development technique in which a system or component is expressed in terms of objects and connections between those objects. IEEE A programming language that allows the user to express a program in terms of objects and messages between those objects. A technology for writing programs that are made up of self-sufficient modules that contain all of the information needed to manipulate a given data structure. The modules are created in class hierarchies so that the code or methods of a class can be passed to other modules.
New object modules can be easily created by inheriting the characteristics of existing classes. See: object, object oriented design. IEEE A computer program that is the output of an assembler or compiler.
IEEE Pertaining to a system or mode of operation in which input data enter the computer directly from the point of origin or output data are transmitted directly to the point where they are used. For example, an airline reservation system. See: conversational, interactive, real time. Usually, operating systems are predominantly software, but partial or complete hardware implementations are possible. IEEE The period of time in the software life cycle during which a software product is employed in its operational environment, monitored for satisfactory performance, and modified as necessary to correct problems or to respond to changing requirements.
IEEE An exception that occurs when a program encounters an invalid operation code. An information processing technology that converts human readable data into another medium for computer input.
An OCR peripheral device accepts a printed document as input, to identify the characters by their shape from the light that is reflected and creates an output disk file. For best results, the printed page must contain only characters of a type that are easily read by the OCR device and located on the page within certain margins.
When choosing an OCR product, the prime consideration should be the program's level of accuracy as it applies to the type of document to be scanned. Thin glass wire designed for light transmission, capable of transmitting billions of bits per second.
Unlike electrical pulses, light pulses are not affected by random radiation in the environment. NIST Modifying a program to improve performance; e. A relational database programming system incorporating the SQL programming language.
A registered trademark of the Oracle Corp. ISO In a calculator, the state in which the calculator is unable to accept or process the number of digits in the entry or in the result. See: arithmetic overflow. IEEE An exception that occurs when the result of an arithmetic operation exceeds the size of the storage location designated to receive it. Contrast with serial. IEEE A constant, variable or expression that is used to pass values between software modules. Syn: argument.
An error detection method in data transmissions that consists of selectively adding a 1-bit to bit patterns [word, byte, character, message] to cause the bit patterns to have either an odd number of 1-bits [odd parity] or an even number of 1-bits [even parity].
ISO A binary digit appended to a group of binary digits to make the sum of all the digits, including the appended binary digit, either odd or even, as predetermined. ISO A redundancy check by which a recalculated parity bit is compared to the predetermined parity bit. Contrast with check summation, cyclic redundancy check [CRC].
A high-level programming language designed to encourage structured programming practices. ISO A character string that enables a user to have full or limited access to a system or to a set of data. IEEE A change made directly to an object program without reassembling or recompiling from the source program.
IEEE A sequence of instructions that may be performed in the execution of a computer program. IEEE Analysis of a computer program [source code] to identify all possible paths through the program, to detect incomplete paths, or to discover portions of the program that are not on any path. IEEE Software maintenance performed to improve the performance, maintainability, or other attributes of a computer program. Contrast with adaptive maintenance, corrective maintenance.
IEEE A requirement that imposes conditions on a functional requirement; e. Equipment that is directly connected a computer. A peripheral device can be used to input data; e.
Syn: peripheral equipment. Synonymous with microcomputer, a computer that is functionally similar to large computers, but serves only one user. IEEE An audit conducted to verify that a configuration item, as built, conforms to the technical documentation that defines it.
See: functional configuration audit. IEEE A requirement that specifies a physical characteristic that a system or system component must posses; e. IEEE 1 In image processing and pattern recognition, the smallest element of a digital image that can be assigned a gray level.
This term is derived from the term "picture element". The hardware and software which must be present and functioning for an application program to run [perform] as intended. A technique a CPU can use to learn if a peripheral device is ready to receive data or to send data. In this method each device is checked or polled in-turn to determine if that device needs service. The device must wait until it is polled in order to send or receive data. This method is useful if the device's data can wait for a period of time before being processed, since each device must await its turn in the polling scheme before it will be serviced by the processor.
Contrast with interrupt. A type of microelectronic circuit in which the base material is positively charged. The relative degree of repeatability, i. It is the result of resolution and stability. See: accuracy, bias, calibration. IEEE 1 The process of analyzing design alternatives and defining the architecture, components, interfaces, and timing and sizing estimates for a system or component.
See: detailed design. IEEE A review conducted to evaluate the progress, technical adequacy, and risk resolution of the selected design approach for one or more configuration items; to determine each design's compatibility with the requirements for the configuration item; to evaluate the degree of definition and assess the technical risk associated with the selected manufacturing methods and processes; to establish the existence and compatibility of the physical and functional interfaces among the configuration items and other items of equipment, facilities, software and personnel; and, as applicable, to evaluate the preliminary operational and support documents.
A flat board that holds chips and other electronic components. The board is "printed" with electrically conductive pathways between the components. The computer file that contains the establishment's current production data. Processing may include the use of an assembler, a compiler, an interpreter, or another translator to prepare the program for execution.
The instructions may include statements and necessary declarations. IEEE A specification language with special constructs and, sometimes, verification protocols, used to develop, analyze, and document a program design. IEEE A computer program that has been purposely altered from the intended version to evaluate the ability of program test cases to detect the alteration. See: testing, mutation. A programmable logic chip. See: programmable logic device. A logic chip that is programmed at the user's site.
Contrast with PROM. A chip which may be programmed by using a PROM programming device. It can be programmed only once. It cannot be erased and reprogrammed. Each of its bit locations is a fusible link.
An unprogrammed PROM has all links closed establishing a known state of each bit. Programming the chip consists of sending an electrical current of a specified size through each link which is to be changed to the alternate state. This causes the "fuse to blow", opening that link. IEEE A language used to express computer programs. See: computer language, high-level language, low-level language. IEEE Analysis to ensure that all portions of the program follow approved programming guidelines.
See: code audit, code inspection. NIST A management document describing the approach taken for a project. The plan typically describes work to be done, resources required, methods to be used, the configuration management and quality assurance procedures to be followed, the schedules to be met, the project organization, etc.
Project in this context is a generic term. Some projects may also need integration plans, security plans, test plans, quality assurance plans, etc. See: documentation plan, software development plan, test plan, software engineering.
The taxonomy of ISA is given below. ISAs differ based on the internal storage in a processor. Accordingly, the ISA can be classified as follows, based on where the operands are stored and whether they are named explicitly or implicitly:. Such architectures are in fact also called load — store architectures, as only load and store instructions can have memory operands.
In the register memory ISA, One operand has to be moved into any register and the other one can be a memory operand. In the register — register ISA, both operands will have to moved to two registers and the ADD instruction will only work on registers. The memory — memory ISA permits both memory operands. So you can directly add. So you can see from these examples that you have different ways of executing the same operation, and it obviously depends upon the ISA. We shall now look at what are the different features that need to be considered when designing the instruction set architecture.
They are:. First of all, you have to decide on the types of instructions, i. The tasks carried out by a computer program consist of a sequence of small steps, such as multiplying two numbers, moving a data from a register to a memory location, testing for a particular condition like zero, reading a character from the input device or sending a character to be displayed to the output device, etc..
A computer must have the following types of instructions:. Data transfer instructions perform data transfer between the various storage places in the computer system, viz. Since, both the instructions as well as data are stored in memory, the processor needs to read the instructions and data from memory.
After processing, the results must be stored in memory. Therefore, two basic operations involving the memory are needed, namely, Load or Read or Fetch and Store or Write. The Load operation transfers a copy of the data from the memory to the processor and the Store operation moves the data from the processor to memory. Data manipulation instructions perform operations on data and indicate the computational capabilities for the processor. These operations can be arithmetic operations, logical operations or shift operations.
Arithmetic operations include addition with and without carry , subtraction with and without borrow , multiplication, division, increment, decrement and finding the complement of a number. Similarly, you can perform different types of shift and rotate operations. We generally assume a sequential flow of instructions. That is, instructions that are stored in consequent locations are executed one after the other.
However, you have program sequencing and control instructions that help you change the flow of the program. This is best explained with an example. Consider the task of adding a list of n numbers. A possible sequence is given below. After all the numbers have been added, the result is placed in memory location SUM. Instead of using a long list of Add instructions, it is possible to place a single Add instruction in a program loop, as shown below:. The loop is a straight-line sequence of instructions executed as many times as needed.
During each pass through this loop, the address of the next list entry is determined, and that entry is fetched and added to R0. The address of an operand can be specified in various ways, as will be described in the next section.
For now, you need to know how to create and control a program loop. Assume that the number of entries in the list, n, is stored in memory location N. Register R1 is used as a counter to determine the number of times the loop is executed. Hence, the contents of location N are loaded into register R1 at the beginning of the program. Then, within the body of the loop, the instruction, Decrement R1 reduces the contents of R1 by 1 each time through the loop.
The execution of the loop is repeated as long as the result of the decrement operation is greater than zero. You should now be able to understand branch instructions. This type of instruction loads a new value into the program counter. As a result, the processor fetches and executes the instruction at this new address, called the branch target, instead of the instruction at the location that follows the branch instruction in sequential address order.
The branch instruction can be conditional or unconditional. An unconditional branch instruction does a branch to the specified address irrespective of any condition.
A conditional branch instruction causes a branch only if a specified condition is satisfied. If the condition is not satisfied, the PC is incremented in the normal way, and the next instruction in sequential address order is fetched and executed.
This means that the loop is repeated as long as there are entries in the list that are yet to be added to R0. At the end of the n th pass through the loop, the Decrement instruction produces a value of zero, and, hence, branching does not occur.
Instead, the Move instruction is fetched and executed. It moves the final result from R0 into memory location SUM. Some ISAs refer to such instructions as Jumps. The processor keeps track of information about the results of various operations for use by subsequent conditional branch instructions.
This is accomplished by recording the required information in individual bits, often called condition code flags. These flags are usually grouped together in a special processor register called the condition code register or status register. Individual condition code flags are set to 1 or cleared to 0, depending on the outcome of the operation performed. Some of the commonly used flags are: Sign, Zero, Overflow and Carry.
The call and return instructions are used in conjunction with subroutines. A subroutine is a self-contained sequence of instructions that performs a given computational task.
During the execution of a program, a subroutine may be called to perform its function many times at various points in the main program. Each time a subroutine is called, a branch is executed to the beginning of the subroutine to start executing its set of instructions.
After the subroutine has been executed, a branch is made back to the main program, through the return instruction. Interrupts can also change the flow of a program. A program interrupt refers to the transfer of program control from a currently running program to another service program as a result of an external or internally generated request.
Control returns to the original program after the service program is executed. The interrupt procedure is, in principle, quite similar to a subroutine call except for three variations: 1 The interrupt is usually initiated by an internal or external signal apart from the execution of an instruction 2 the address of the interrupt service program is determined by the hardware or from some information from the interrupt signal or the instruction causing the interrupt; and 3 an interrupt procedure usually stores all the information necessary to define the state of the CPU rather than storing only the program counter.
Therefore, when the processor is interrupted, it saves the current status of the processor, including the return address, the register contents and the status information called the Processor Status Word PSW , and then jumps to the interrupt handler or the interrupt service routine.
Upon completing this, it returns to the main program. Suppose you are designing an embedded processor which is meant to be performing a particular application, then definitely you will have to bring instructions which are specific to that particular application. Examples of specialized instructions may be media and signal processing related instructions, say vector type of instructions which try to exploit the data level parallelism, where the same operation of addition or subtraction is going to be done on different data and then you may have to look at saturating arithmetic operations, multiply and accumulator instructions.
0コメント