Notes Unza23 Ict1110 Lecture 16
Notes Unza23 Ict1110 Lecture 16
● Introduction
● MIPS Architecture
● QtSpim R3000 Processor Simulator
● QtSpim: Installation and Configuration
● QtSpim: Interface
● QtSpim: Loading Assembly Programs
● QtSpim: Executing Assembly Programs
● QtSpim: Interpreting Program Output
● Elements of MIPS Assembly Programs
https://www.gsmarena.com/lenovo_tab_7-8941.php
Input/ Central
Memory
Output Processing Unit
Input/Output
Control Unit
ALU
Registers
Abstraction
Memory Unit
[Instructions]
[Data]
Cache
Main Memory
RAM
ROM
Virtual
Secondary
Memory
September 20, 2023 ICT 1110 (2022/23) L16 - 6
Abstraction is Crucial to Understanding
Computing (3/6)
Central
Processing Unit
Input/Output
DECODE
Control Unit Instruction
ALU
Registers
EXECUTE
Instruction
Memory Unit
STORE
Instruction
00100000000010000000011111010000001000000000100100000000
00010010001000000000101000000111111001010000000100001001
010110000010000000000001010010110110000000100010
00100000000010000000011111010000001000000000100100000000
00010010001000000000101000000111111001010000000100001001
010110000010000000000001010010110110000000100010
00100000000010000000011111010000001000000000100100000000
00010010001000000000101000000111111001010000000100001001
010110000010000000000001010010110110000000100010
http://rivoire.cs.sonoma.edu/cs351/wemips
● QtSpim is an R2000/R3000
processor simulator
○ Implements the MIPS32
assembler-extended
instruction set
○ QtSpim operating system
functionality through
system calls
○ QtSpim 9.1.21 will be
used
QtSpim 9.1.21
September 20, 2023 ICT 1110 (2022/23) L16 - 28
QtSpim MIPS Simulator
● QtSpim is an R2000/R3000
processor simulator
○ Implements the MIPS32
assembler-extended
instruction set
○ QtSpim operating system
functionality through
system calls
○ QtSpim 9.1.21 will be
used
QtSpim 9.1.21
September 20, 2023 ICT 1110 (2022/23) L16 - 29
QtSpim MIPS Simulator: Reference Text
http://www.egr.unlv.edu/~ed/mips.html
http://www.egr.unlv.edu/~ed/mips.html
http://spimsimulator.sourceforge.net
http://spimsimulator.sourceforge.net
http://spimsimulator.sourceforge.net
http://spimsimulator.sourceforge.net
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 37
QtSpim Interface: Menu Items (3/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 38
QtSpim Interface: Menu Items (4/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 39
QtSpim Interface: Menu Items (5/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 40
QtSpim Interface: Menu Items (6/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 41
QtSpim Interface: Menu Items (7/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 42
QtSpim Interface: Menu Items (8/8)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 43
QtSpim Interface: Toolbar
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 44
QtSpim Interface: Panels (1/6)
● QtSpim main
application window
have three panels
○ Register panel
○ Memory panel
○ Messages panel
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 45
QtSpim Interface: Panels (2/6)
Memory address of
instruction in
hexadecimal format.
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 48
QtSpim Interface: Panels (3/6)
Contents of memory in
hexadecimal format.
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 49
QtSpim Interface: Panels (3/6)
Assembly language
instruction using
hardware register
numbers
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 50
QtSpim Interface: Panels (3/6)
Assembly language
program showing
symbolic register and
memory locations.
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 51
QtSpim Interface: Panels (4/6)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 52
QtSpim Interface: Panels (5/6)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 53
QtSpim Interface: Panels (6/6)
Console is used to
view output from
programs that
return values
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 54
Loading Source Programs
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 56
Executing Source Programs (2/2)
QtSpim 9.1.20
September 20, 2023 ICT 1110 (2022/23) L16 - 57
Assembly Source Programs
Kate 17.12.3
Kate 17.12.3
Kate 17.12.3
Kate 17.12.3
Kate 17.12.3
Kate 17.12.3
Kate 17.12.3
● MIPS Architecture
● QtSpim R3000 Processor Simulator
● QtSpim: Installation and Configuration
● QtSpim: Interface
● QtSpim: Loading Assembly Programs
● QtSpim: Executing Assembly Programs
● QtSpim: Interpreting Program Output
● Elements of MIPS Assembly Programs