Glossary |
386 | CPU chips in IBM compatible computers are typically numbered 086, 186, 286, 386, 486, 586, Pentium Etc. 086 chips are now regarded as old fashioned and slow. To run Windows, a 32 bit 386 chip was the minimum recommended. | ||||||
8 Bit CPU | The CPU has registers and connections to the outside world that are 8 bits wide. 16 bit and 32 bit CPUs are now more common, more powerful and more expensive. 64 bit CPUs exist but are not common (2003) | ||||||
80x86 | The family of Intel chips numbered 8086, 80186, 80286, 80386, 80486 and Pentium. | ||||||
Accelerator Key | Improves your productivity. For example Alt+F4 closes the current window and is quicker to press than the equivalent mouse or menu actions. | ||||||
Analogue | Electronic systems that deal with continuously varying signals. Radio, TV and HiFi systems are all analogue. CD Players are digital but the digital signals must be converted to analogue before being sent to the HiFi system. | ||||||
ANSI | American National Standards Institute | ||||||
Architecture | CPU designs are more complex than typical building designs. Computer architecture is equivalent to building architecture. To make best use of a computer, it is useful to know something about the computer design or architecture. | ||||||
ASCII | The American Standard Code for Information Interchange. This is an eight bit code. There are 128 characters which are standard. There are a further 128 characters that vary depending on the country and the graphics symbols required by printers. American ASCII is being replaced by International Unicode. | ||||||
ASM | The usual file extension for assembly code programs | ||||||
Assembler Assembly code |
Human readable commands like MOV AL,33 correspond closely to CPU machine codes. The assembler program translates the human readable codes into machine codes readable by the CPU | ||||||
Author | C Neil Bauers can be E Mailed on the internet at nbauers@samphire.demon.co.uk | ||||||
Backup copy | Copies of files kept in case of disaster. These should be kept in a secure place away from the computer system they belong to. Important files should be backed up in more than one place. Sod's law applies to back up files. The file you really need is the one you have failed to back up. | ||||||
Base Address | The start address of an object stored in memory. For example : The original IBM PC VGA screen base address is B800:0000 followed by 4000 more bytes. | ||||||
Binary | Base two numbers used by digital systems. Count with two symbols [ 0 1 ] Binary numbers are composed of noughts and ones. Electronically this is achieved by circuits that are switched off or on. | ||||||
Bit Masks | Patterns of noughts and ones used with AND, OR and XOR to extract or inserts bits into bytes. | ||||||
Bits | Binary digits. Single digits that are nought or one. | ||||||
Byte | Eight Bits. The data in a byte can have many different meanings depending on the context. A byte can represent a CPU command, an ASCII character, a decimal number, a graphics pattern or anything you have programmed it to represent. | ||||||
Carriage Return | ASCII code 13 used to move the printer carriage or head to the left of the page. The screen cursor performs in the equivalent way. See also - Line Feed | ||||||
Case Sensitive | Upper and lower case are taken to be different. This simulator is not case sensitive. | ||||||
Chip | Shorthand for microchip or integrated circuit. The CPU is often referred to as the CPU Chip. | ||||||
Click | Usually the left mouse button being pressed when the mouse is pointing at a screen object. | ||||||
Clock | The CPU clock steps the computer and CPU at regular time intervals keeping all parts of the computer in step. Typical clock speeds range between 1 to 500 Megahertz. 200 MHz was typical for a PC in 1997. | ||||||
Comments | These begin with ';' and are used to explain what the program is doing. Good comments explain why things are being done. Bad comments simply repeat what is obvious by looking at the code. | ||||||
Conditional Jumps | These jumps either take place or not depending on the flags in the status register. See JS, JNS, JO, JNO, JZ, JNZ, JMP. | ||||||
Control Key | This is used to give keys special meanings. For example the combination of the control key with the F4 function key will close a window in some software packages. | ||||||
Control Systems | Industrial and domestic equipment is frequently controlled by a small microcomputer called a microcontroller. The control system is programmed once for life so a TV remote controller can not be re-programmed as a washing machine controller. | ||||||
CPU | Central Processing Unit. The part of the computer that does the computations. Usually this is a single microchip. | ||||||
Cursor | A flashing symbol that indicates position within text. Alternatively the mouse cursor indicates the mouse position. Special purpose cursors are used in some software. | ||||||
Data tables | These store numbers, text or pointers to other data objects. It is easier to look after data in a table than data scattered throughout a program. It is good style to use data tables. | ||||||
Decimal Base 10 numbers. | Count and do arithmetic with ten symbols. [ 0 1 2 3 4 5 6 7 8 9 ] | ||||||
Digital Electronic | Systems that use binary. Computers use binary numbers and are digital. HiFi systems do not use binary and are not digital. (A HiFi remote control system is digital) See analogue. | ||||||
Directory or Folder | File systems are organised into directories in much the same way that filing cabinets are organised into draws and folders. Your files should be stored in a directory that you have created. This keeps your files from getting muddled up with all the other files on the computer. | ||||||
Divide by zero | This will cause an error. Any number divided by zero is infinitely big. This can not be calculated. | ||||||
End Of File | ASCII code 26 is used to indicate the end of MS DOS text files. | ||||||
Escape ASCII code 27 | This character is often interpreted in a special way by programs, VDUs and printers. | ||||||
Executable Code | Non human readable program code executed by the CPU. | ||||||
Explorer | See File Manager | ||||||
Extension | The MS DOS file extension is zero or more characters after the dot in the file name. Word processor files often have .DOC on the end. Assembly code files end in .ASM | ||||||
F1 Key | Commonly this accesses the on line help. | ||||||
File | Data stored on disk or tape. When the data is loaded from the file into RAM, it could consist of a program or data used by the program. | ||||||
File Manager or Explorer | A windows program that enables you to manage your files. Copying, renaming and deleting files and directories are typical file management tasks. | ||||||
Flags | The Interrupt, Sign, Zero and Overflow flags in the status register indicate the outcome of the previous calculation. See S Flag, O flag and Z flag. | ||||||
Floppy disk | Used to store files. 3.5 inch disks have a hard rectangular plastic casing to protect the thin floppy disk inside. Older disks are actually floppy. The case is bendy cardboard. | ||||||
Folder | See Directory | ||||||
Function keys | F1, F2 ... F10. These keys have special purposes depending on the software in use. F1 usually activates help. F10 usually activates the menu. | ||||||
General Purpose Registers | AL, BL, CL and DL are used to store data and perform calculations. | ||||||
Gigahertz | 1000 Megahertz. CPU Clock speeds are now measured in gigahertz. | ||||||
Graphics | Images, pictures and geometrical shapes are examples of graphics. Windows displays everything as graphics. This gives good looking displays but a lot of processing is needed to achieve it. | ||||||
Hard disk | A disk that can not normally be removed from the computer. Most computer files are stored on the hard disk. There should also be backup copies stored elsewhere in case the hard disk fails. | ||||||
Hexadecimal | Base 16 numbers. Count and do arithmetic with 16 symbols. [ 0 1 2 3 4 5 6 7 8 9 A B C D E F ] Hexadecimal and Binary are easily converted which is why hexadecimal is used. | ||||||
Hot Keys | Ctrl+S and Ctrl+O are examples of hot keys. These give quick access to menu options. Ctrl+S gives the File Save command. Ctrl+O gives the File Open command. | ||||||
I Flag | The I or interrupt flag in the status register indicates if the CPU will accept or ignore hardware interrupts. The commands CLI and STI clear and set this flag. Hardware interrupts are used to signal events like "Key pressed", "Disk Ready".or "Printer out of paper." A hardware timer can generate an interrupt at regular time intervals. | ||||||
Immediate | The instruction MOV AL,25 is an example of an immediate instruction. See also : Register, Indirect, Register indirect and MOV. | ||||||
Indirect Indirection |
This is where data in RAM is referred to with a pointer. For example MOV AL,[20] moves the data from RAM location 20 into the AL register. [20] is a pointer to the RAM location. The technique is called indirection. See MOV, Immediate, Register, Register indirect | ||||||
Instruction Pointer | IP points to the instruction being executed. When the instruction is complete, the IP is moved onto the next instruction. In the RAM displays, the instruction pointer is highlighted red with yellow text. | ||||||
Instruction Set | The set of instructions that are recognised by a CPU. Typical instructions are Move, Add and Subtract. | ||||||
interrupt code interrupt handler Interrupt routine |
A program fragment designed to be activated at any time that an interrupt occurs. The fragment is stored at an address pointed to by an interrupt vector. Interrupts can be triggered by hardware. For example a key press or the printer running out of paper cause a hardware interrupt. The CPU switches to the code that handles the interrupt. When finished, the CPU continues with its earlier task. | ||||||
Interrupt Vector | A pointer stored in a table. The pointer points at the interrupt handler. See INT. | ||||||
IO | Short for Input Output. See IN and OUT | ||||||
Least significant bit | LSB. The right hand bit in a byte which is worth 0 or 1. MSB. The left hand bit in a byte which is worth 0 or 128. Least and Most significant bits. |
||||||
LIFO | See Stack. | ||||||
Line Feed | ASCII code 10 used to start a new line on the printed page or screen. See also - Carriage Return. | ||||||
List File | This is generated by the simulator assembler. It contains the program written by the programmer. It also contains the machine codes generated by the assembler. | ||||||
Low level | Low level programming is done using the CPU machine code or mnemonics the are close to the machine codes. | ||||||
LSB | LSB. The right hand bit in a byte which is worth 0 or 1. MSB. The left hand bit in a byte which is worth 0 or 128. Least and Most significant bits. |
||||||
Machine codes | Machine codes are executed by the CPU See Assembly codes. Human readable commands look like this MOV AL,55 The hexadecimal equivalent looks like this D0 00 55 The binary machine code looks like this 110100000000000001010101 |
||||||
A Megabyte | 224 bytes to be precise or a million bytes approximately | ||||||
Megahertz | MHz. Million clock cycles per second. A 33 MHz clock means that the CPU performs 33 million steps per second. These sorts of speeds are needed to fill screens with high resolution graphics quickly. | ||||||
Memory Mapped | Memory mapped hardware is controlled by writing data into memory locations occupied by that hardware device. This simulator has a memory mapped screen so each screen position corresponds to a memory location. | ||||||
Microchip | Complex electronic circuits miniaturised onto a single wafer or chip of silicon | ||||||
Microcontroller | Usually a single chip microcircuit containing a CPU, RAM and ROM. Microcontrollers are used in TV remote controllers, washing machines, digital clocks, microwave ovens, industrial plant controllers, car engine management systems and computer games. | ||||||
Microprocessor | A single chip CPU. | ||||||
Mnemonic | A memorable and human readable item like MOV that corresponds to a non memorable item like 11010000 that means the same thing. | ||||||
Most significant bit MSB | LSB. The right hand bit in a byte which is worth 0 or 1. MSB. The left hand bit in a byte which is worth 0 or 128. Most Significant Bit. The left hand bit in a byte. It has a value of 128 decimal or 80Hex if the byte is unsigned (positive numbers only). It has a value of -128 if the byte is signed (positive and negative numbers). The MSB has a value that depends on how wide in bits the data storage location is. |
||||||
Multiplexing | Combining two or more data flows onto a single carrying medium. For example a thousand telephone calls can be carried on a single cable. De-multiplexing separates the channels and routes them to their correct destinations. | ||||||
NULL | ASCII code zero used to mark the end of text strings. | ||||||
O Flag | The O or overflow Flag in the status register indicates if the previous calculation overflowed its register. | ||||||
Off Line | The network is disconected. However resources, can be made available locally (off-line) even when the network is not available. When the network is re-connected, the data files are synchronised so everyone gets the most up-to-date information. | ||||||
On Line | The network is connected. Computer resources are connected and available and can be accessed with a negligible or short time delay. On line resources usually involve interaction with the user. | ||||||
OP Code | A binary code that the CPU can interpret as a command. These correspond to commands like MOV and ADD. | ||||||
Operand | Essential data that comes after the op code.
|
||||||
Overflow Flag | This is set if the result of the previous calculation was too big to fit the register. | ||||||
Parameters | Data passed into procedures of functions. Parameters can be passed using registers (very fast), RAM locations (good for big data items) or the Stack (useful if recursion is needed). | ||||||
Peripherals | Hardware plugged into the computer. Anything from a keyboard or mouse to a power station or chemical works. | ||||||
Pointers | In the command MOV AL,[25] the 25 is a pointer to the RAM location with address 25. See indirection. | ||||||
Ports | Input Output Ports. Peripherals are connected to ports. The IN and OUT machine instructions are used to communicate with the peripherals. | ||||||
Procedures | Small, modular, self contained, easily tested, code fragments that can be used many times during the execution of a program. See CALL and RET in the instruction set. | ||||||
Process | A program that is running or loaded ready to run. Processes can be running, ready to run or waiting. Waiting processes are usually queueing up for disk or printer access. A waiting process might be waiting for its share of CPU time. | ||||||
Programs | Instructions executed by a computer to perform tasks. | ||||||
RAM | Random access memory. Electronic memory that stores bytes. Normal RAM forgets what it was storing when switched off. | ||||||
Recursion | A powerful technique where a procedure or function re-uses itself to achieve a task. | ||||||
Register | A location in the CPU where data is stored. This simulator has four general purpose registers called AL, BL, CL and DL. It has special purpose registers called IP, SR and SP. | ||||||
Register | In the instruction CMP AL,BL registers are being compared. See also : Immediate, Indirect, Register indirect. | ||||||
Register indirect | In the instruction MOV AL,[BL] the BL register contains a pointer to a RAM location. The data in this RAM location is moved into AL. This is a register indirect move. See also : Immediate, Indirect and Register. | ||||||
Repetition | This is achieved by using jump commands to make the program jump back and repeat instructions. | ||||||
Reset CPU | Reset the CPU to its switch on state. Clear the general purpose registers to zero. Set IP to zero. Set the flags to Zero. Set the stack pointer to BF. The stack grows downwards from address FB. | ||||||
Return address | The address stored on the stack that the program returns to when a procedure or interrupt is complete. | ||||||
Run | Run a program. Programs are collections of stored instructions that are usually inactive. To run a program, it must be copied from disk into RAM and the CPU is given the address of the first instruction in the program so it can run it. A running program is often called a process. | ||||||
S Flag | The S or sign flag in the status register indicates if the previous calculation gave a negative result. | ||||||
Save a file | Copy processed data from RAM onto disk. | ||||||
Seven segment | displays are used in digital clocks, watches, calculators and so on. Numbers are built up by illuminating combinations of the seven segments. | ||||||
Scheduler | The scheduler is a process that manages all the other processes in a computer. It aims to make best use of the hardware resources and to minimise delays to processes and users. | ||||||
Sign bit | The leftmost bit in a binary number that is used to indicate if the number is positive or negative. | ||||||
Sign Flag | This is set if a calculation gives a negative result. | ||||||
Signed Numbers | Numbers where the left most bit is the sign bit. | ||||||
Simulator | Computer software that models reality in some way. Virtual reality aims to make the simulation so realistic that it seems real. Most simulations are designed to be useful rather than realistic. | ||||||
Source Code | The human readable program code typed into the computer. See executable code. | ||||||
SP | The stack pointer register. In the RAM displays, the stack pointer is highlighted blue with yellow text. | ||||||
SR | The status register. This contains flags that are set as a result of the most recent calculation. A zero result will set the Z (zero) flag. A negative result will set the S (sign) flag. A result too big to fit in a register will set the O flag (overflow). If the I flag is clear (not set) interrupts will be ignored. | ||||||
Stack | An area of memory used for temporary storage according to the LIFO rule. Last in First out. The stack is used to save register contents for later restoration, pass parameters into procedures and return results, reverse the order in which data is stored, save addresses so procedures can return to the right place and there are other uses including doing postfix arithmetic. | ||||||
Stack Pointer | Points to the next free location on the stack. In the RAM displays, the stack pointer is highlighted blue with yellow text. The stack is memory organised as LIFO last in first out. It is used to store return addresses, the CPU state, parameters passed to procedures, results returned from procedures, arithmetic data being processed and data whose order is to be reversed. | ||||||
Status Flags Status Register |
The status Register contains status flags that indicate the outcome of the previous calculation. The flags are Sign, Zero and Overflow. See SR. | ||||||
Stepper motor | A special motor that rotates in small controlled angular movements. It is used commonly in printers, plotters and medical instruments and disk drives. | ||||||
Task Switching | Use Alt Tab to task switch manually. Operating systems also task switch automatically. For example when word processing, the clock display continues to work because from time to time the operating system switches tasks to keep both going. | ||||||
Thermostat | A temperature controlled switch. On when too cold. Off when too hot. | ||||||
Token List | When programs are translated into machine code, one of the first steps is to convert the source code of the program into tokens. These are not usually human readable. The tokens are designed to occupy minimal memory. This simulator converts source code to tokens but does not bother to code them to save memory. This is because the programs are too small use much memory. | ||||||
Twos complement | Binary numbers where the left most bit determines whether the number is positive or negative. | ||||||
Unicode | A 16 bit character code with 65536 text characters for all the languages in the world including most dead (disused) languages. This code is replacing ASCII. | ||||||
Unsigned numbers | Numbers without a sign bit. These are always positive. | ||||||
USERINFO.REG | Simulator registration information is contained in this file. It is a text file and has nothing to do with the Windows registry. The same file format was used under Windows 3 which did not have a registry. | ||||||
VDU | Visual display unit. Computer output is commonly displayed on the VDU. There are several VDU display technologies. | ||||||
Write | A simple Windows word processor. Data is saved to disk in a format unique to the Write program. | ||||||
Z Flag | The Z or zero flag is set it the previous calculation result was zero. |
© C Neil Bauers 2003