• 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/31

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;

31 Cards in this Set

  • Front
  • Back

Computer Architecture

Specifications of a set of instructions and Specifications of the behavior of hard units to implement these instructions

5 Basic Units of a Computer

Input, Output, Memory, ALU, Control

State the purpose of the PC Register

PC holds the memory address, pointing to the next instruction to be fetched in the execution sequence

State the purpose of the IR Register

IR holds the instruction most recently fetched from memory so that it can feed the control logic that generates appropriate control signals

What is instruction set architecture
Conceptual structure and functional behavior of a computer system as seen by the assembly-language programmer; includes machine instructions and other formats, addressing models, date representation and storage organization

3 conditions for overflow to occur

1. inputs have the same sign

2. addition is performed


3. the output is a different sign than the inputs



Main difference between CISC and RISC style architectures with respect to data operands
RISC has one word instructions and requires arithmetic operands to be in the register



CISC has multi-word instructions and allows operands directly from memory

How many address bits are encoded in a RISC style call

There are 32 bits available.

For a call instruction 6 of these must be allocated to the op-code, which leaves 26 bits allocated to an immediate value that is used to determine the address of the first instruction in the subroutine.


Address truncated to 26 bits by dropping least 2 significant bits and 4 most significant bits.

2 methods of parameter passing
Through the stack or in registers
Using transfer notation specify the first two steps of executing that are common to all risc-style instructions
1. Memory address <- [PC], Read memory, IR <- Memory Data, PC <- [PC] + 4





2. Decode instructions, RA <- [RS], RB <- [RT]

Describe the possible sources of the data contents placed in register RY for instructions that modify a register in the programmer-visible register file

RY is fed by a multiplexer that selects between a return address, a memory address or RZ

What internal hardware elements are necessary in the datapath of a basic processing unit to support the execution of a store instruction?

Since memory access is done in stage 4 for a store operation, another inter-stage register is needed to maintain correct data flow in the multistage structure, Register RM is introduced for this purpose. The data to be stored is moved from RB to RM in step 3, and from there to memory in step 4

How many transistors does an SRAM have?

6

How many transistors does a DRAM have?

1

What does SRAM stand for?

Static- Random Access Memory

What does DRAM stand for?

DYNAMIC RANDOM ACCESS MEMORY

What does EEPROM stand for?

Electrically Erasable Programmable Read-Only Memory

Main different between an EEPROM and a flash type?

In EEPROM it is possible to read and write to individual calls.


Flash is based on EEPROM, but to allow for a higher density the flash cells must be written in larger blocks, not indivudally

Explain the difference in handling of address pins for SRAM and DRAM

SRAM chips have as many pins as there are address bits, all the address bits are provided to the chip at the same time.




DRAM chips have a much larger capacity but to reduce package costs the address pins are multiplexed , first row bits are provided then column bits

Why is the clock input included for synchronous chips

An SRAM chip utilizes an internal column counter that is automatically incremented by the clock cycle input. Older DRAM chips relied on an external memory controller to increment the coulmn counter which is slower.

Identify and explain the different types of locality exploited by caches

Temporal locality: instructions/data that have been recently accessed are likely to be accessed again




Spatial locality: nearby instructions or data are likely to be accessed after current access

Cache memory appears to make memory appear to be __________ than it is.

Faster

Virtual memory makes memory appear to be ________ than it is.

Larger

If 65% of a Programs execution time can be reduced with parallel execution, write unsimplified expressions for the speedup on 4 processors and also the upper limit on the achievable speedup for this program

fenh = 0.65


fenenh = 0.35




4 processor speed up =( 1/fenenh + fenh/p) = 1/(0.35+0.65/4) = 1.95




maximum speed up = 1/(0.35 + 0.65//∞)=1/0.35=2.86 )

Parallel programming involves thread ________ and ______________

Parallel programming involves thread creation andsynchronization.

Cache Coherance

The enforcement of a consistent view of shared data inmultiple caches, typically with a hardware solution for good performance

3 states for a block in a cache

Modified, invalid, shared

Write initial assembler directives

. .text


.global_start


.org 0x0000


_start:

write the Print Char subroutine

subi sp,sp,8


stw r3,4(sp)


stw r4,0(sp)


movia r3,0x10001000


pc_loop: ldwio r4,4(r3)


andhir4,r4,0xFFFF


beqr4,r0,pc_loop


stwior2,0(r3)


ldwr3,4(sp)


ldwr4,0(sp)


addisp,sp,8


ret

Write the getChar subroutine

GetChar: subi sp,sp,8


stwr3,4(sp)


stwr4,0(sp)


moviar3,0x10001000


gc_loop:


ldwio r4,0(r3)


andir2,r4,0x8000


beqr2,r0,gc_loop


andir2,r4,0xFF


ldwr3,4(sp)


ldwr4,0(sp)


addisp,sp,8


ret

Write the getDigit subroutine

GetDigit: subi sp,sp,12


stwr3,8(sp)


stw r4,4(sp)


stw r5,0(sp)


movi r3,0xA


movir4,0x30


movir5,0x39


get_loop:


GetChar


check_loop:


beqr2,r3,carriage_return


blt r2,r4,get_loop


bgt r2,r5,get_loop


subir2,r2,0x30


br gd_exit


carriage_return:


movi r2,0xA


gd_exit:


ldwr3,8(sp)


ldwr4,4(sp)


ldwr5,0(sp)


addisp,sp,12


ret