• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/26

Click to flip

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;

26 Cards in this Set

  • Front
  • Back

Program Counter

Purpose: Holds the address of (i.e. points at) the next instruction to execute




Operation: Loads the next address on a clock transition or resets to the defaultaddress, based on the value of the reset input.

Instruction Memory

Purpose: provides the next processor operation




Operation: Usually, the program counter’s value is used as an address to retrieve the next operation from memory. In the simple model below, this happens asynchronously.

Data Memory

Purpose: provide storage for data not in registers, i.e. permanent storage ofinformation or temporary storage if information that doesn’t fit in the registers.




Operation: The address specifies the location to read or write from. Data is onlywritten when enabled, and if memories can store byte, halfword, or wordinformation, select lines control how much data is written. Writes are synchronizedto a clock edge, but reads often occur asynchronously.

Register File

Purpose: Provides read access to programming registers. If several registers maybe read at the same time, the register file is multi-ported. On instructions that writeto a register, it also accepts a new register value and updates the correspondingregister on a clock transition.

ALU

Purpose: Perform arithmetic and logical operations on inputs.

Extender

Purpose: increase the number of bits. Value may be extended as either a signed or unsigned value.

Single Cycle Approach

One instruction is executed in one clock cycle. The maximum clock speed is limited be the slowest possible instruction.




However, there is no state information needed, so the designs tend to require fewer resistors, and it is still a decent choice for smaller, embedded processors.




Most simple, executes complete instruction every clock cycle.

Multicycle Approach

Each instruction is broken down into simpler steps, with complex instructions requiring more steps than simpler ones.




This allows expensive chunks of hardware, such as adders, to be used in multiple clock cycles for difference phases of the same instruction.




Possibly different # of clock cycles per instruction. May be smaller than single cycle.

Pipelined Approach

Different pieces of hardware execute different steps of instructions, like anassembly line. This requires significantly more hardware/transistors than the othertwo approaches, but it can drastically improve performance. This is the approachused by all high-end processors.

32kB

2^15

32bytes

2^5

Multiplexer

Purpose: In electronics, a multiplexer (or mux) is a device that selects one of several analog or digital input signals and forwards the selected.

Spatial Locality

Likely to need data in address that is close to the accessed item.

Temporal Locality

Likely to reuse data again soon

Sequential Locality

Code is likely to be accessed in increasing addresses.

Explain the differences in the three reasons for cache misses.

Compulsory - First time a "cache line" is accessed.




Conflict - Each cache line limited to certain slots and 2 or more cache lines keep evicting each other.




Capacity - The working set > cache size.




Coherence - Data is inconsistent in another cache.

6 Things about interrupt-capable devices

Cause


Flag-bit


Enable-bit


Priority


Configuration


Vector Address

Cause

Event that triggers interrupt. Maybe caused by software such as divide by 0, illegal opcode or hardware message received on port.

Flag-bit

Device specific event indicating the event happened (raised hand)

Enable-bit

allows device to take control of CU

Priority

Determines the order that the device is handled

Configuration

device options as to what is "interesting" or the cause

Vector address

holds address of devices interrupt service routine (ISR)

Port-Mapped I/O

Different opcodes than memory access in/out vs load/store

Memory-Mapped I/O

All instructions are load/stores


Some addresses assigned to I/O devices.

Orders of a processor's memory hierarchy

Registers


L1 Cache


L2 Cache


L3 Cache


Main Memory


SSD


Magnetic Disk