UNT | University of North Texas

Search form

CSCE 2610: Assembly Language and Computer Organization

Course Number: 
CSCE 2610
Course Name: 
Assembly Language and Computer Organization
Description: 

Principles of computer systems organization, instruction sets, computer arithmetic, data and control paths, memory hierarchies, and assembly language.

Start Date: 
Monday, May 3, 2004
Last Review Date: 
Thursday, April 2, 2015
Prerequisite (should have grade of C or better): 
Credit Hours (Including Labs): 
3.00
UNT Topics: 
  1. Computer Abstractions and Technology
    1. Types of computers
    2. Cloud computing
    3. Factors that influence program performance
    4. Ideas in architecture
    5. Below your program
    6. Components of a computer
    7. Instruction set architecture
    8. Application binary interface
    9. Communicating with other computers
    10. Technologies for building processors and memory
    11. Performance
    12. The Power Wall
    13. Switch from uniprocessors to multiprocessors
  2. Instructions: Language of the Computer
    1. Instruction set
    2. Stored program concept
    3. ARM operands
    4. ARM assembly language
    5. Addresses 
    6. Instructions
    7. Word
    8. Data transfer instruction
    9. Alignment restriction
    10. Registers
    11. Spilling registers
    12. Big-endian and little-endian
    13. Design principles for instruction sets
    14. Signed and unsigned numbers
    15. Representing instructions in the computer
    16. Logical operations
    17. Instructions for making decisions
    18. Supporting procedures in computer hardware
    19. Segments of an assembly language program
    20. Addressing modes
    21. Parallelism and instruction synchronization
    22. Translating and starting a program
  3. Arithmetic for Computers
    1. Arithmetic and Logic Unit (ALU)
    2. Exception
    3. Interrupt
    4. Addition and Subtraction
    5. Multiplication
    6. Division
    7. IEEE 754 floating point standard
  4. The Processor
    1. Components
    2. Clocking methodology
    3. Sign extension
    4. Branch target address
    5. Branch taken (or not taken)
    6. Truth table
    7. Opcode
    8. Pipelining
    9. Exceptions and exception handling
    10. Parallelism
  5. Large and Fast: Exploiting Memory Hierarchy
    1. Locality
    2. Memory hierarchy
    3. Block
    4. Hit and miss rates
    5. Direct-mapped cache
    6. Write-through
    7. Write-back
    8. Split caches
    9. Associative caches
    10. Set associative
    11. Fully associative
    12. Cache replacement
    13. Least recently used (LRU)
    14. Multilevel cache
    15. Physical address
    16. Memory protection
    17. Virtual memory
    18. Address translation 
    19. Paging
    20. Segmentation
    21. User and kernel mode
    22. Context switch
    23. System call
UNT Outcomes: 
  • Understand the interface between software and hardware.
  • Be able to measure the performance of a computer system.
  • Understand the choice of instruction sets.
  • Understand and be able to write Assembly Language programs.
  • Understand computer arithmetic algorithms and ALU design including floating point.
  • Understand and apply techniques in digital circuit design to the design of a single cycle simple processor.
  • Understand memory hierarchy and cache memories.
Texas Common Course Numbering System (TCCNS) Number: 
COSC 2325 Computer Organization & Machine Language
Course Materials: 

 Computer Organization & Design: The Hardware/Software Interface, David Patterson and John Hennessy, 5th edition 2013, Elsevier Science, ISBN 9780124077263

UNT Department: 
Computer Science and Engineering (CSE)
Course Level: 
Undergraduate
Course Documents: