Busy. Please wait.

Forgot Password?

Don't have an account?  Sign up 

show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.

By signing up, I agree to StudyStack's Terms of Service and Privacy Policy.

Already a StudyStack user? Log In

Reset Password
Enter the email address associated with your account, and we'll email you a link to reset your password.

Remove ads
Don't know (0)
Know (0)
remaining cards (0)
To flip the current card, click it or press the Spacebar key.  To move the current card to one of the three colored boxes, click on the box.  You may also press the UP ARROW key to move the card to the "Know" box, the DOWN ARROW key to move the card to the "Don't know" box, or the RIGHT ARROW key to move the card to the Remaining box.  You may also click on the card displayed in any of the three boxes to bring that card back to the center.

Pass complete!

"Know" box contains:
Time elapsed:
restart all cards

Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how


Computer Systems Architecture

What does the address bus carry? The location of what we want to access or store.
What does the data bas carry? The data that we are accessing or storing.
What does the control bus carry? The signal to say what is happening.
Describe the parallel wire configuration: This is the fastest way to send data electronically. The bytes are broken up into several bits and sent along many wires.
Describe the serial wire configuration: Bits are sent one at a time along a single wire.
What is the canonical representation? Every boolean function can be represented using And, Or and Not.
What is the order of precedence for the logical operators? NOT binds the most tightly, then AND, then OR.
What is an electronic circuit that represents a logic function called? A gate.
What is a Hardware Description Language (HDL)? Allows us to describe a circuit as if it were a computer program, using a language, expressing how the various gates connect. The software generates the necessary NAND gates for a Programmable Logic Device.
What is the sign and magnitude negative representation? The most significant bit is used to represent the sign. 1 is negative, and 0 is positive.
What is the excess-n negative representation? The position of zero is given at the '-n' number.
What is the one's complement negative representation? Negative numbers have their positive equivalents inverted.
What is the two's complement negative representation? This is the same as one's complement, except that 1 is added to the binary number after it is inverted.
What is the Arithmetic Logic Unit (ALU)? The heart of the CPU that performs all the arithmetic and logic operations of the CPU. It has two inputs, and one output (multi-bit).
Why is it desirable to have an efficient ALU? Less logic gates = fewer transistors = less space. This means that chips are cheaper, and have a smaller propagation delay (time taken for the signal to move along the chip).
The functionality of the ALU is dynamic, what does this mean? The functionality can change. First it may add, then it could be used to subtract. The functionality being used is chosen using a set of control pins.
What is the CPU constructed out of? Logic gates and flip flops.
What is the job of the CPU? It talks to the rest of the system by sending logic signals on it's various pins.
Describe the process of the CPU writing to memory: CPU puts the address of where to store the data on to the address bus. The signal on the control bus is set to read/write. The data is then placed on the data bus and sent.
Why does the system need to decode the address on the address bus? To ensure data is sent to and from the right place. This is done using standard boolean logic. Bits from the address lines are combined to form chip select signals.
Where does the CPU get it's instructions from? The computers memory. They are encoded as a binary pattern known as an opcode. Each CPU family usually has it's own unique instruction set.
Describe Von Neumann Architecture: Memory is shared between programs and data, with a single address space. Some address contain program opcodes, and others contain data.
Describe Harvard Architecture: There are separate memory spaces for programs and data.
Describe the architecture of Modern CPUs: They are a blend of both Von Neumann and Harvard architecture.
What cycle does the CPU sit in? Fetching an instruction, decoding an instruction and executing an instruction.
What is the Program Counter? A register that sits in the CPU, containing the address of the current/next instruction.
How does the Program Counter move to the next instruction? The current address is placed on the address us to fetch this instruction. It is then incremented to point at the next.
What are registers used for? They store a single value inside the CPU, allowing access to be faster.
Where does the CPU get it's start up code from? There is usually some ROM mapped into the memory space for when the CPU starts up.
What type of Chip is the ARM CPU? A Reduced Instruction Set Computer
What is a RISC chip? It implements only the most commonly used instructions, which can be used to form the other, more complicated instructions. This means the chip is faster and uses less power.
Why is assembly language useful? It gives english-like mnemonics that relate the machine code instructions.
What is an assembler? Converts assembly language to binary by generating the correct bit patters according to the instructions that were used.
What does the 'B' Mnemonic do? It causes the execution to jump to a new location in memory, by changing the PC register.
What does the "ADR" mnemonic do? It puts the address of a label into R0.
Every instruction is 32-bits wide in ARM. This includes the immediate value and the bit used to describe the instruction, leaving only 12-bits being available for the immediate value. How does ARM encode the immediate value with this space? It is encoded as an 8-bit value (0-255) and a 4-bit rotation value. The rotation shifts the 32-bits around the register to give larger values.
What register does a conditional branch alter? The Current Program Status Register (CPSR). It changes the state of flags stored in this register, depending on the result of a calculation.
What does an overflow bit show? That an invalid result was generated when adding signed numbers. Either greater than 2^^31, or less than 2^^-31. This flips the sign and produces an invalid result.
What does the "CMP" mnemonic do? It calculates Rm - Rn, and updates the status registers.
The instruction LDR can only load from a fixed address, what is this called? Absolute addressing, it must be the same address every time.
What is a pseudo-instruction? An instruction the assembler has generated based on the programs context. It automatically selects whether to use a MOV or to load an address from memory. (depending on the size).
What is a literal pool? Part of the program designated by the assembler to store the constants. It must be within ±4kb of the PC.
ADR assumes that the address to be loaded is near the PC. If the address is in range, what can be done? An offset can be added/subtracted to the value in the PC.
ARM only supports indirect addressing, what is this? A register contains the address to look the value up in. The CPU gets the value in memory at the address in the register.
The instruction layout for LDR and STR includes space for a 12-bit unsigned offset. What are two other controls that may be added? A further bit controls whether this is added or subtracted from the address in the register. A further bit controls whether this happens before, or after the address is used to access memory.
What does Indirect with offset allow the assembler to simulate? Absolute addressing.
What is bitshifting? Moving bits left or right, with the effect of multiplying.dividing by a power of 2.
Describe shifting left: Zero's are inserted from the right to keep it at 32-bits.
Describe Arithmetic Shift Right: A copy of the sign bit is shifted in, to keep the sign of the number the same.
Describe Logical shift right: A zero is shifted in regardless of the sign bit.
What is write back? The calculated address can be written back into the base register using LDR and STR. This means we can auto-update the address register without an extra instruction. LDRB or STRB.
Describe the Big Endian method of laying out data across a number of bytes: The MSB is put into address 'zero' and then moves along the data to the right.
Describe the Little Endian method of laying out data across a number of bytes: The LSB is put into address 'zero' and then moves along the data to the left.
What is a function? A small block of code that can be called and re-used. It should return a value.
What happens a procedure is called? The caller is suspended, control is passed to the callee, callee performs the requested task and then returns control to the caller.
How do we caller a procedure in the same way in ARM assembly language? Put the address into the program counter, changing what function will be executed next.
What does the "BL" mnemonic do? It automatically puts the address into the link register, allowing the subroutine to return to the original function with ease.
What is a stack? A data structure. It is use to store values, providing a Last In First Out (LIFO) storage.
How is data moved to and from a stack? Data is pushed TO the stack, and popped FROM it.
What register is used as a stack pointer in the ARM assembler? R13. It points to the top of the stack.
What happens after a value is popped from a stack? The value stays in memory, but the stack pointer is moved so that the top of stack changes.
What do the mnemonics LDM and STM do? Load and store registers in a block.
What happens to the variables after a procedure exits, and why? Local variables disappear as when a procedure exits, everything it put on the stack must be popped.
What does the mnemonic "MLA" do? Multiplies then adds. R0 = (R1 * R2) + R3
What is GREP? A command-line utility for searching plain text data sets for line matching a regular expression.
How does GREP work? Each character should be compared until: It gets to one that doesn't match, or the end of the string is reached.
How does GREP work if the string is in the middle of a line? A string will return true if the first string is longer, and the string is then compared at every possible position.
Created by: Sparksy