Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
37 Cards in this Set
- Front
- Back
What 3 stages make up a compiler? |
Front end, middle and back end |
|
What does the compiler front end do? |
Checks the syntax using a lexical analyzer ("lexer" and parser), this seperates each word into tokens and enforces rules of the language. |
|
What does the compiler middle stage do? |
Analyzes and optimizes the program, cuts out unnecessary parts of the program |
|
What does the compiler backend do? |
Translates the intermediate program representation into machine code. |
|
What are other tools the compiler often uses? |
Linkers and assemblers |
|
What are linkers? |
Tools that combine parts of programs and libraries into a single file |
|
What are assemblers? |
A tool that translates from assembly language to machine code. |
|
What separates the input source code into tokens? |
Lexical analyzer (lexer) |
|
What are all parts of the compilation process? |
Linking, syntax analysis, optimization, lexical analysis |
|
What is the function of the middle stage in the compilation process? |
To perform program analysis and optimization |
|
What combines partial programs and libraries into a single executable file? |
Linker |
|
What is the function of a linker in the compilation process? |
To combine partial programs and libraries into a single executable file |
|
What is the CPU (central processing unit)? |
Controls the entire system and performs central operations |
|
What is the datapath? |
Performs arithmetic operations |
|
What is the control unit? |
Controls flow of data and ALU |
|
What is the memory module? |
Stores instructions and data |
|
What are the peripherals |
Input modules (takes input and writes to memory), output modules (reads from memory and delivers output) |
|
What are all the parts of a micro computer? |
Processor, datapath, ALU, registers, bus, input/output, memory, control unit |
|
What is an instruction |
A command or "word" of machine language |
|
What is an instruction set? |
A machine language, set of all instruction words |
|
What is an instruction class |
A subset of instructions that share common features |
|
What is an instruction count? |
Number of instructions in a particular program |
|
What is an accumulator? |
A temporary place to put the results of info |
|
What is the stack architecture? |
Allows you to either "push" data items on or "pop" them off a data stack |
|
What is memory to memory architecture? |
All memory is directly connected to the ALU |
|
What is the load-store architecture? |
Instructions that allow memory to store things to a register (temporary memory storage) whic allow for a specific points in it to connect to the ALU |
|
What are compound architectures? |
An architecture that mixes and matches different types already mentioned |
|
What does the hardware organization affect? |
The program size and performance |
|
What coordinates the flow of info around the processor? |
Control unit |
|
What in the CPU stores a small number of pieces of info, commonly the temporary results of calculations? |
Registers |
|
What is an IO or peripherals? |
A tool that acts as an interface between the processor and the outside world, including long term storage and user interfaces? |
|
What is the bus? |
A tool that carries data between the ALU registers, memory and peripherals |
|
What hardware is active during the Decode Stage of the instruction cycle? |
Data memory and control unit |
|
How do you calculate the amount of time needed to process instructions given the amount of instructions, cycles to complete and the clock rate? |
1) Convert the clock rate from MHz to Hz 2) Find the cycle period with the formula 1/(clock rate in Hz) 3) Find the total amount of instructions that need processing by multiplying the amount of instructions by the amount of cycles 4) multiply the cycle period bt the total amount of instructions 5) convert it to microseconds by moving the decimal 6 places to the right |
|
What are the stages in the instruction cycle? |
Store, fetch, decode and execute |
|
What hardware is active during the store stage of the instruction cycle? |
Program counter and data memory |
|
What hardware is active during the execute stage of the instruction cycle? |
ALU |