Sei sulla pagina 1di 3

First Vocabulary list for EECE 431 accumulator: A register in the CPU.

Its content can be used as an operand of an arithmetic or logical instruction. The result of such an operation is usually replaces its original value. The HCS08 has a single 8-bit accumulator referred to as register A. address space: The entirety of the memory locations that can be specified by the instruction set. The HCS08 (with its 16-bit address) has a 64K (216) address space. algorithm: a deterministic procedure (set of operations) for solving a specific problem. ALU: Arithmetic and Logic Unit the circuits that manipulate the bits of the operands of arithmetic and logical operations to form the bits of the result. architecture: The organization of a CPU including the register set and the instruction set. assembler: A software program that translates programs written as assembly language statements into machine instructions that can be executed by the computer hardware. assembly language: A low-level language that generally produces one machine instruction for each line of code. It improves on machine language by using instruction mnemonics and symbolic operands. base (number system): The radix or number which is raised to powers from 0 up (right to left) to find the weight of the corresponding digit in a positional numbering system. Our decimal system has a base of 10, binary is base 2, and hexadecimal is base 16. big-endian: This is the (colloquial sounding) technical term for the byte ordering in memory of multibyte values where more-significant bytes exist at lower memory addresses than do the less-significant bytes. The HCS08 is a big-endian microcontroller even though there are only a few instructions that deal with 2-byte data. binary: Two valued. But it extends to anything made up of a collection of two-valued parts such as an 8-bit binary number. byte: An 8-bit group of binary values. CCR: Condition Code Register. The HC11 has an 8-bit CCR. complement: An inverse. Something and its complement add to a specific value. An angle and its complement always add to 90. A bit and its complement always add to 1. An n-bit number and its 1's complement always add to 2n-1. An n-bit number and its 2's complement always add to 2n (which is zero when truncated to n bits which shows why it is convenient to used 2's complements to represent negative values). CPU: Central Processing Unit. It is the brain of a computer or microcontroller. It contains the registers, the circuitry to perform the fetch-execute cycle that makes the computer run, and the ALU to perform the mathematical operations. hexadecimal: Base 16 high-order: Most significant. The high-order byte of a 32-bit value consists of the left-most 8 bits. IDE: Interactive Development Environment - a master program providing a (usually graphical) user interface to all the tools needed for program development. These tools include a source code editor, an assembler, a simulator, a chip programmer, and in-circuit debugger. We use Freescales CodeWarrior IDE in EECE 431. index register (IX): A CPU register which has the main purpose of supporting the indexed addressing mode. In the HCS08 it is actually a pair of 8-bit registers, the H:X pair. These registers can be loaded as a pair, but most other operations work on only one at a time. In all forms of indexed addressing they are always used together as a 16-bit value.

instruction format: A template that indicates the role of each byte of an instruction. The HCS08 has 15 different instruction formats. instruction set: The set of all operations (along with their addressing modes) that a given CPU is able to perform. kilobyte (1K): 1024 bytes. little-endian: This is the (colloquial sounding) technical term for less-significant bytes of a multibyte value existing at lower memory addresses than do the more-significant bytes. See big-endian in the list above for the opposite convention. low-order: Least significant. The low-order byte of a 32-bit value consists of the right-most 8 bits. LSB (bit or byte): Least Significant Bit or Byte depending on context. The right-most bit or byte. machine language: The binary (usually expressed in hexadecimal) codes that will (do) exist in memory to be processed by the CPU as instructions. Each machine language statement consist of the binary (hex) digits for both the operation and the operand of a single instruction. main memory: The memory referenced by memory addresses as opposed to named registers. memory content: The value contained in a given memory location or a given section of memory. memory location: A position in memory. Often used synonymously with memory address, but I make the distinction that the address specifies the location. A street address tell the location of a building, but the location itself is more than just its address. memory mapped I/O: An I/O scheme where the CPU communicates to an I/O device through registers that appear as memory locations within the memory address space of the CPU. An advantage is that no special I/O instructions are needed the programmer just uses the normal load/store (and other) instructions. The HCS08 uses only memory mapped I/O. microcontroller: A small single chip computer system containing not only a microprocessor but I/O and other peripheral devices as well. The HCS08 is a microcontroller. It contains a CPU, many I/O ports for parallel I/O, an A/D converter, a serial communication interface, and a complex timer subsystem. microprocessor: A small single chip CPU. mnemonic: A memory aid. Specific to computers it is a symbolic form of machine instructions. The HCS08 uses 3- to 5-letter mnemonics for the instructions in the CPUs instruction set. MSB (bit or byte): Most Significant Bit or Byte depending on context. The left-most bit or byte. nibble: Four bits. One hexadecimal digit. Half a byte (from whence cometh its name). opcode: Operation code. The part of a machine or assembly language instruction that specifies what operation the CPU will perform during the execution of the instruction. operand: The field of a machine or assembly language instruction that specifies where to obtain the data values to be manipulated by the CPU during the execution of the instruction. It can also mean the data values that are being operated on by an ALU without regard to the instruction that is causing the operation. program counter (PC): The CPU register that always contains the address of the next instruction to be executed by the CPU. Its name refers to the fact that it always points somewhere in the program, and behaves like a counter most of the time as it is incremented to follow (or perhaps lead is more appropriate) the normal sequential flow of instruction execution.

pseudo-op: An assembler directive that has the same form as an opcode, but gives information to the assembler program rather than causing a machine instruction to be generated. RAM: Random Access Memory, but it implies more than that. It means it is read/write memory. registers: A small set of high-speed memory bytes that are each wired directly into the CPU instead of being part of the main memory system that is connected to the CPU through address and data buses. The CPU always has access to all of the values of the registers. Often we use the term to refer only to the programming model registers. The HCS08 has eight bytes of memory in its programming model registers. ROM: Read-Only Memory. A type of memory that can be read but not changed. The content of ROM is set when it is manufactured, or modified by special programming circuitry that are not available during normal use. The HCS08 uses reprogrammable flash memory as it onboard ROM. simulator: A program that can mimic the operation of a given computer or microcontroller. The CodeWarrior IDE we are using in this class has an elaborate HCS08 simulator built in. single step (trace): A debugging tool utilized either on a simulator or with the help of a debugging controller program that executes one machine instruction at a time so that the exact effect of each instruction can be seen and the point at which a program misbehaves can be located. twos complement number: An n-bit binary number where half of the possible combinations of bit values are assigned to represent negative values. The complement of such a number can be found using the twos complement operation. See complement for more information. twos complement operation: The operation that will find the negative of any twos complement value. It can also be used on unsigned numbers to perform subtraction by adding the twos complement. There are several methods for producing the twos complement. The easiest to perform on paper is to start at the least significant bit and copy bit values until a 1 has been copied, then append (on the left) the inverse of the remaining bits. unsigned number: An n-bit number where all possible combinations of bits are assigned to represent nonnegative values. variable: A memory location (named if in assembly or high-level language) used to hold a value that is expected to change during the execution of the program. word: For a memory system it means the number of bits at one memory address. The IAS memory had 40-bit words, the HCS08 has 8-bit words. However, the assembler we are using uses a .b qualifier for one byte of memory, a .w (which stands for Word) for a two-bytes section of memory, and .l (which stands for Long word) for a four-bytes section of memory.

Potrebbero piacerti anche