Course Info | Lecture Notes | Homeworks | Programming Assignments
Tests | MIPS | C++ Help | Quizzes | Tutorial Session


Course Information

Teacher: Solomone Pule
Email: spule@tihe.org

Meeting Times:
Tue & Thur 5-7pm

Synopsis: An introductory glance at computer hardware and architecture, covering a wide range of topics dealing with computer internals.

Topics Covered: Grading Assessment:

Tests

Test NameTest DateTopics Covered Avg. Grade
Midterm

Lecture Notes

TIHE Lecture NameFile (PowerPoint)
IntroductionCourse Information
Lecture1 - Intro.ppt
Data RepresentationLecture2-DataRepresentation.ppt
Memory and Bitwise OperationsLecture3-MemoryBitOperations.ppt
Instruction Set ArchitectureLecture4-ISA.ppt
MIPS Assembly Language 1Lecture5-MIPSAssemblyI.ppt
Online MIPS Tutorial
MIPS Assembly Language 2Lecture6-MIPSAssemblyII.ppt
MIPS Explanation.doc - English
Logic and Boolean GatesLecture7-Logic.ppt
Computer ArithmeticLecture8-ComputerArithmetic.ppt
Processor: DatapathLecture9-ProcessorDatapath.ppt
Processor: ControlLecture10-ProcessorControl.ppt
MemoryLecture11-Memory.ppt
Virtual MemoryLecture12-VirtualMemory.ppt
Translation Lookaside Buffer Reading
Input and OutputLecture13-InputOutput.ppt


Tutorial Sessions

Programming Instructions:
C++
1. Open Microsoft Visual Studio
2. Go to file New -> New Project
3. Click on projects tab and select "Win32 Console Application"
4. Type a name for the project
5. Change the location of the project to be your network drive (P drive)
6. Press OK
7. Choose a simple application
8. Click on file view, and then go to the source folder. Open the right file
9. You are now ready to program

Java
1. Open JCreatorLE
2. Make a new workspace
3. Start programming

How to submit program: Because your teacher needs to grade your work, this is how you should submit. The program should be no more than 2 or 3 files. I want you to email those files to me, at cbf@tihe.org. You will put your name and assignment number in the subject line. Then go to attachment and attach the files. The assignment must be submitted on the day it is due. If it is submitted after 11:59 PM on that day, it will not recieve full credit.

MIPS

As we all well know, MIPS is one of the most common assembly languages in the wild. Although not used by Intel for their processor, MIPS is employed in a number of other systems. When we program with MIPS this semester we will use PCSpim, which is located on the lab computers. You may use any text editor to edit your program file, but I suggest HTML-Kit, which is also installed on the lab computers. You can then save the file and load it with PCSpim.

To make sure PCSpim works with the file there are a few things to make sure you do.
Important:
1) When you open a file, make sure to select All files in the File Type box. Your file might not end in the right file extension.

2) After you open the file, it might say, "Cannot find trap.handler file. Would you like to go to settings to locate it?" Click yes. You need this file. Then at the bottom it will say "Trap handler" and it will have the location of the file, but it will be wrong. You must search for the trap.handler file. First click on browse, then type in c:\. Make sure you get to the root directory (make sure you are at c:\). Then go to Program Files, then go to PCSpim and trap.handler should be there. If you cannot find it still, go to search for files on your computer from the start menu and type in trap.handler. Find the location, and type it into the settings box in PCSpim. Your program will not run without trap.handler.

MIPS Instruction Guide
PCSpim instruction guide

MIPS CheatSheet (list of all MIPS commands)

MIPS Sample programs
  • hanoi.s - Program that does the Hanoi Towers
  • loop.s - Program that does a loop
  • addlist.s - Program that adds the elements of a list together
  • echo.s - Program that will read in integer and output integer (as well as string)
  • addtwonumbers.s - Program that adds two numbers
  • subroutine.s - Program that uses a subroutine
  • recursion.s - Program that uses recursion

    The following are internet resources on learning MIPS
  • Very Good MIPS Tutorial
  • Complete MIPS Programming Guide (long)
  • Programmed Introduction to MIPS Assembly Language
  • MIPS Architecture
  • Introdution to MIPS Assembly

    C++ Help

    In case your C++ skills have declined over the break, and you need help to remember certain things, here is a list of online tutorial for learning C++.

    C++ Language Tutorial
    Online C++ Tutorial
    C++ Programming Language Tutorials

    Course Info | Lecture Notes | Homeworks | Assignments | MIPS