University of Maryland Global Campus

CMSC 310: Computer Systems and Architecture

A study guide to UMGC's CMSC 310, the course on how computers work inside: data representation, assembly language, CPU, memory and I/O.

Updated October 2026 · 5 min read

CMSC 310 at the University of Maryland Global Campus studies the fundamental concepts of computer architecture and the factors that influence a system's performance.

Formerly CMIS 310, the course aims to apply practical skills to computer systems architecture. UMGC lists the topics as data representation, assembly language, central processing unit (CPU) architecture, memory architecture and input/output (I/O) architecture.

The prerequisite is CMSC 115 (or CMIS 141), so you can already program in a high-level language. CMSC 310 removes the layers of abstraction. Thinking in binary, registers and memory addresses feels unfamiliar at first, and the problem sets demand exact, step-by-step working.

Course at a Glance

ItemDetails
UniversityUniversity of Maryland Global Campus (UMGC)
Course codeCMSC 310 (3 credits), formerly CMIS 310
LevelUndergraduate, upper level
PrerequisiteCMSC 115 (or CMIS 141)
Credit noteCredit for only one of CMIS 270, CMIS 310, CMSC 310, CMSC 311 or IFSM 310
Typical workNumber system problems, assembly exercises, architecture analyses

What CMSC 310 Covers

TopicWhat you learn
Data representationBinary, hexadecimal, two's complement, floating point, characters
Assembly languageInstructions, registers, addressing and how high-level code maps to them
CPU architectureDatapath, control, the fetch-decode-execute cycle, pipelining
Memory architectureThe memory hierarchy, caches and virtual memory
I/O architectureHow devices communicate: polling, interrupts and direct memory access

Key Concepts Explained

Two's Complement

Computers store negative integers in two's complement: invert the bits of the positive value and add one.

Example: In 8 bits, +5 is 00000101. Inverting gives 11111010; adding 1 gives 11111011, which represents -5. Adding 00000101 and 11111011 gives 00000000 with a carry out that is discarded, confirming 5 + (-5) = 0.

Cache Performance

Caches work because programs tend to reuse recent data (temporal locality) and nearby data (spatial locality). Average memory access time combines hit time, miss rate and miss penalty.

Example: With a 1 ns cache hit time, a 5% miss rate and a 100 ns miss penalty, average access time = 1 + 0.05 x 100 = 6 ns. Halving the miss rate to 2.5% brings it to 3.5 ns, a large gain from a small change.

Pipelining

Pipelining overlaps instruction stages so several instructions are in progress at once, like an assembly line. Hazards, such as one instruction needing the result of the previous one, cause stalls.

Thinking About Performance

UMGC's description stresses the factors that influence system performance. A common framework is the CPU time equation: instruction count x cycles per instruction x clock cycle time.

The equation explains why a faster clock alone does not guarantee faster programs. A design that raises clock speed but increases cycles per instruction may gain nothing. Assignments that compare processors or designs reward students who reason with all three factors rather than one.

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Number system problemsConversions and arithmeticShow every step, not just the answer
Assembly exercisesLow-level program logicTrace registers line by line in a table
Performance calculationsApplying formulasState the formula, substitute, then interpret
Architecture analysisComparing designsLink each feature to its effect on performance

How Input and Output Work

I/O architecture covers how the CPU communicates with devices. Three approaches come up repeatedly:

Comparison questions usually turn on overhead: DMA suits large transfers such as disk reads, while interrupts suit occasional events such as key presses.

Where Students Get Stuck

Study Tips for CMSC 310

How We Help with CMSC 310

Send the problem set or project, your working and the rubric. A computer science tutor can explain concepts, check your method, or prepare fully worked solutions to similar problems so you can apply the method yourself.

GradeEssays is independent of the University of Maryland Global Campus. Our help is tutoring and model material within UMGC's academic integrity policy; we never take quizzes or exams for students.

Understand What Happens Inside the Machine

Share your CMSC 310 problems and attempts. A tutor prepares worked examples of similar problems so you can learn the method.

Start My Architecture Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What is the prerequisite for CMSC 310?

UMGC lists CMSC 115 (or CMIS 141).

Is CMSC 310 the same as CMIS 310?

CMSC 310 was formerly CMIS 310. UMGC allows credit for only one of CMIS 270, CMIS 310, CMSC 310, CMSC 311 or IFSM 310.

Does CMSC 310 include assembly language?

Yes. UMGC lists assembly language among the topics, along with data representation, CPU, memory and I/O architecture.

Do I need strong maths?

You need comfort with arithmetic in different number bases and simple formulas, not advanced calculus.

What comes after CMSC 310?

CMSC 310 (or CMIS 310) and CMSC 315 are the prerequisites for CMSC 412 Operating Systems.

Can you take my CMSC 310 quiz?

No. We never take quizzes or exams. We explain concepts and provide worked examples of similar problems.