Home
Subjects
Textbook solutions
Create
Study sets, textbooks, questions
Log in
Sign up
Upgrade to remove ads
Only $35.99/year
Science
Computer Science
Computer Architecture
Assembly 1
STUDY
Flashcards
Learn
Write
Spell
Test
PLAY
Match
Gravity
Terms in this set (67)
What does any computer system have?
CPU, memory & I/O
What do modern digital computer systems also rely on?
buses (datapaths) & clock/interrupts
What do buses do?
connection between components, allow them to communicate, sets of wires
What does the clock do?
gives a time system for components to stick to, makes sure components are in sync
What are interrupts?
events that require immediate attention e.g. something has/is about to go wrong
What is the CPU like?
Driving force of the fetch, decode, execute cycle
2 principle parts: datapath, control unit
What is the datapath?
consists of an ALU & data storage units (registers) that are connected to each other & to memory by a data bus- puts data in the right place as needed
What are registers?
(specialised form of memory- has a specific kind of data it stores) hold data that can be readily accessed by the CPU- very quick
What does the ALU do?
ALU carries out logical & arithmetic operations as directed by the control unit
What does the control unit do?
control unit sends signals to activate the various components within the CPU to perform operations- determines which actions should be carried out according to values in the program counter register & status register
What does computer memory consist of?
computer memory consists of a linear array of addressable storage cells
What are storage cells size?
storage cells are a regular & fixed size called a word
What can memory be?
word-addressable or byte-addressable
What does memory being word-addressable mean?
processor identifies a particular word (storage cell) in memory when it wants to read/write data
What word size do modern PC architectures have?
modern PC architectures have a word size of 32-bit or 64-bit
What are RAM chips like?
(can have multiple)- referred to in terms of length x width e.g. word size of 16 bits —> 4M (M is 2^20) x 16 RAM gives 4 x 2^20 16 bit memory locations
How do CPU's use addresses?
CPU uses (unique) addresses to refer to particular locations in memory e.g. 4 x 2^20 = 2^22 words, 2^22 - 1 (numbering starts from 0)= 4,194,303 words & addresses
What does byte addressable mean?
double addresses for 16 bit (2 byte) word system
What is the I/O subsystem like?
how a computer interacts with the outside world
connected to the CPU through various interfaces: memory mapped where device behaves like main memory (section of memory is reserved for I/O devices- CPU just sees a particular memory location), instruction mapped where the CPU has specific instructions for controlling the device (CPU knows directly how to use the devices- less flexible, more specialised)
What are buses like?
used by the CPU to share data with other system components
is an array of wires that simultaneously convey a single bit along each line
0 = no active signal, 1 = active signal
2 types: point-to-point & multi-point
What is a point-to-point bus?
connects just 2 components
What is a multi-point bus?
connect many components to talk to any other components on that bus e.g. data bus
What does a bus consist of?
data lines, control lines & address lines
What do data lines do?
convey bits from 1 device to another (sends data or instructions)
What do control lines do?
determine the direction of data flow & when each device can access the bus
What do address line do?
(for multi-point buses)- determine the data source or destination location (unique address of components), from CPU to component as CPU addresses components
What are some approaches to decide which component can send data through a bus?
1. if components send data whenever they need to the 2 components write data to the bus at the same time—> data collisions = data is lost- slows down computation
2. priority ordering of components determining when components can access the bus- highest priority can access bus whenever
3. separate component on bus determining which component can have access to the bus using logic
What are clocks like?
1. Every computer has at least 1- synchronises the activities of its components
2. fixed number of clock cycles are required to carry each data movement or computation- each instruction has a set number of clock cycles they take to complete- ensures components are synchronised
3. clock frequency (hertz) determines the speed at which all operations are carried out
4. clock cycle time is the reciprocal of clock frequency t_c = 1/f_c
What is the cycle time of a 800MHz clock?
A 800 MHz clock has a cycle time of 1.25 ns (operations take multiples of cycle time e.g. 1.25, 2.5 ns)
What is clock speed not the same as?
clock speed ≠ CPU performance
How do you calculate the time required to run a program?
T = seconds/program = instructions/program x avg cycles/instruction x seconds/cycle
How can you improve CPU throughput?
reduce
1. the number of instructions per program (by changing the type of instructions available)
2. the number of cycles per instruction
3. the number of seconds per clock cycle
What do interrupts do?
allow the normal flow of execution of a program to be altered when an event of higher priority occurs- alter the CPU behaviour to such events (interrupt fetch, decode execute cycle). Each interrupt is associated with a procedure that directs the actions of the CPU to handle the event
What are some triggers for interrupts?
1. I/O requests- e.g. user provides an input, pauses cycle so user can interact with the system immediately
2. arithmetic errors (e.g. division by 0, overflow, underflow)
3. encountering invalid instructions- instruction is not something the CPU understands
What does MARIE stand for?
Machine Architecture that is Really Intuitive & Easy
What is MARIE like?
1. binary two's complement format
2. uses a stored program architecture ( Von Neumann), with a fixed word length for data & instructions
3. 4K words of word-addressable main memory (4K cells which are 16 bits wide)
4. 16-bit word size
5. 16-bit instructions(4 for op code, 12 for address)
6. 16-bit ALU
7. 7 registers for control & data movement
What is the op code for?
uniquely identifies the operation being undertaken
What is the rest of the instruction not including the op code?
address for cell with the data the operation is being applied to
What are the 7 registers MARIE uses?
1. Accumulator (AC)
2. Memory Address Register (MAR)
3. Memory Buffer Register (MBR)
4. Program Counter (PC)
5. Instruction Register (IR)
6. Input Register (IN)
7. Output Register (OUT)
What is the AC like?
1. accumulator
2. 16-bit multi-purpose register
3. holds data the CPU will proccess
What is the MAR like?
1. memory address register
2. 12-bit register (doesn't store op code)
3. holds the memory address of the data being referenced
What is the MBR like?
1. memory buffer register
2. 16-bit register
3. holds data just read from memory or data to be imminently written to memory
What is the PC register like?
1. program counter
2. 12-bits (no op code)
3. holds the address of the next instruction to be executed
What is the IR like?
1. instruction register
2. 16 bits
3. holds an instruction immediately preceding its execution
What is the IN like?
1. input register
2. 8 bit
3. holds data read from an input device
What is the OUT register like?
1. output register
2. 8 bit
3. holds data to be written to an output device
How are the registers connected?
All registers are connected with each other & with main memory through a common data bus
How is each device on the bus identified?
Each device on the bus is identified by a unique number- set on the control lines whenever the corresponding device is required to carry out an operation
What separate connections are provided?
separate connections are provided between:
1. the AC & MBR
2. the ALU, AC & MBR
Why are these separate connection provided?
point-to-point as communication is regular & need to happen quickly (do not want them to be delayed)
What is an ISA?
instruction set architecture (ISA)- specifies the format of its instructions & the primitive operations the machine can perform
What are ISAs like?
1. interface between the computer's hardware & software
2. some include 100s of different instructions for processing data & controlling program execution
3. MARIE's ISA consists of 13 instructions (can do any computation of modern computers)
What 9 fundamental operations does MARIE have?
1. Load X
2. Store X
3. Add X
4. Subt X
5. Input
6. Output
7. Halt
8. Skipcond
9. Jump X
What does load X do?
load contents of address X into AC
What does store X do?
store the contents of AC at address X
What does add X do?
add the contents of address X to AC
What does subt X do?
subtract the contents of address X from AC
What does input do?
input a value from input device into AC
What does output do?
output the value in AC to output device
What does halt do?
terminate the program
What does skipcond do?
skip the next instruction on condition
What does jump X do?
load the value of X into PC
How does skipcond work?
condition to skip on id defined by the first 2 bits of the address
00 skips if AC < 0
01 skips if AC =0
10 skips if AC > 0
What do each of MARIE's instructions consist of?
each of MARIE's instructions consist of a sequence of micro-operations (physical operations): data movements between registers & arithmetic & logic operations
How can the sequence of micro-operations be specified?
the exact sequence of micro-operations that are carried out by an instruction can be specified using register transfer language (RTL)
What is RTL like?
use notation M[X] to indicate the actual data value stored in memory location X
← indicates the transfer of bytes to a register or memory location
What is RTL for LOAD X?
MAR ← X
MBR ← M[MAR]
AC ← MBR
Sets found in the same folder
Essentials of Computer Systems
48 terms
Binary 1
33 terms
Binary 2
23 terms
Binary 3
42 terms
Other sets by this creator
ambassador script
44 terms
9 Making the most of models
14 terms
8 Agile Software Development
84 terms
10 Sorting Algorithms
21 terms