Skip to content

AMBA CHI · Module 19 · CHI Interview Mastery

Beginner RN / HN / SN Questions

The beginner CHI question after the overview asks you to name the three node roles crisply. A request node initiates transactions — usually a core, but also a DMA engine or accelerator. A home node is the coherence point for an address range — it owns the directory, orders transactions, and issues snoops; the hub, not the memory. A subordinate node is the endpoint that supplies or stores data — a memory controller or peripheral. The mental model is a pipeline: a requester sends to the home, which coordinates coherence and, if needed, reaches the subordinate. The two traps: confusing the home with memory, and assuming a request node is always a CPU. Representative interview guidance, not the specification.

Foundation12 min readAMBA CHIInterviewNode RolesRN HN SNHome Node

Module 19 · Chapter 19.2 · CHI Interview Mastery

Project thread — 19.1 was the overview. 19.2 identifies the node roles; 19.3 compares RN and HN in depth.

1. The Question

"What are RN, HN, and SN?" — or its variants: "Name the node types in CHI," "Who are the players in a CHI transaction?" "What's the difference between a request node and a home node?" (the last shades into 19.3). It is the standard second question after the overview — a quick check that you know the cast before the interviewer asks how they interact.

2. What the Interviewer Is Probing

This is a vocabulary and roles check, and the interviewer is looking for crisp, correct one-liners — not essays. Specifically:

  • Can you name all three without hesitation, and say what each does in a sentence?
  • Do you know the home node is the coherence point, not memory? — the single most common confusion.
  • Do you know a request node need not be a CPU? — it can be a DMA engine or accelerator.
  • Can you place them in a relationship — requester → home → subordinate?

A candidate who fumbles the home-vs-memory distinction reveals a shaky mental model; a candidate who nails three clean one-liners and the requester-home-subordinate flow reads as solid.

3. Key Terms

4. Where This Sits in the Interview

This is the second rung — knowing the players. It gates the interaction questions: you cannot walk an ownership transfer (19.5) or a ReadUnique flow (19.6) if you cannot name who is doing what. A clean answer here lets the interviewer move on to how they interact; a muddled one keeps them stuck clarifying vocabulary.

It builds directly on 19.1: the overview mentioned the node types; this question asks you to define them. And it sets up 19.3 (RN vs HN in depth) and 19.4 (the directory), which are elaborations of the roles you name here. Get the three one-liners right, and every later flow question has a solid foundation.

5. The Core Answer

The three one-line roles, and the relationship:

"A Request Node initiates transactions; a Home Node is the coherence point that owns the directory and issues snoops; a Subordinate Node is the memory-or-peripheral endpoint that supplies and stores data."

Said as a flow:

  • RN — the requester. It starts a transaction (a read, a write). Usually a core with a cache, but it can be a DMA engine or accelerator.
  • HN — the coherence hub. For a range of addresses, it owns the directory, orders transactions, and issues snoops to keep caches consistent. It is the coordinator, not the memory.
  • SN — the endpoint. It holds the data — a memory controller or a peripheral — and supplies or stores it when the home asks.

The synthesis:

The three CHI node roles are RN (initiates), HN (coordinates coherence via its directory and snoops), and SN (the memory/peripheral endpoint). The relationship is a pipeline: a requester sends to the home, which coordinates coherence and, when needed, reaches the subordinate. The key correction to volunteer: the home node is the coherence point, not memory — memory is the subordinate behind it.

6. Structuring Your Answer

The template for a clean node-role answer:

  • 1. Name all three in one breath. "Request node, home node, subordinate node" — show you know the full cast immediately.
  • 2. One line each, as a flow. RN initiates → HN coordinates coherence → SN is the endpoint. Deliver them in the order data flows.
  • 3. Volunteer the correction. "The home node is the coherence point — it's not memory; memory is the subordinate behind it." Pre-empt the most common confusion.
  • 4. Offer the subtypes if relevant. "Each has fully-coherent and I/O variants — RN-F versus RN-I, and so on." Only if the interviewer wants depth.

The point to carry:

Deliver the roles in flow order (requester → home → subordinate), because the order encodes the relationship — the interviewer hears not just three definitions but how they connect. And volunteer the home-is-not-memory correction before they can test it; pre-empting the classic trap signals you have the mental model, not just the labels.

7. The Answer Skeleton

The one-liners to have ready, with the correction and subtypes.

NodeOne-line roleConcrete example
RN — Request Nodeinitiates transactionsa core, a DMA engine, an accelerator
HN — Home Nodecoherence point: directory + ordering + snoopsthe coherence hub for an address range
SN — Subordinate Nodedata endpoint: supplies/storesa memory controller, a peripheral
CorrectionHN is not memorymemory is the SN behind the HN
Subtypes (bonus)fully-coherent vs I/ORN-F/RN-I, HN-F/HN-I, SN-F/SN-I

The rule to carry: the home node is the coherence point, full stop. If you remember one thing from this question, it is that the HN coordinates coherence (directory, ordering, snoops) and the SN is the memory. Every ownership-transfer and flow question later hinges on the HN being the coordinator — conflating it with memory breaks all of them.

8. The Model Answer

A full, polished answer:

"CHI has three node roles. A Request Node, the RN, initiates transactions — reads and writes. It's usually a core with a cache, but it can also be a DMA engine or an accelerator — anything that issues requests.

A Home Node, the HN, is the coherence point for a range of addresses. It owns the directory that tracks which caches hold each line, it orders transactions to those addresses, and it issues the snoops that keep caches consistent. The important thing is that the home is the coordinator — it is not the memory.

A Subordinate Node, the SN, is the actual endpoint — a memory controller or a peripheral — that supplies and stores data when the home asks. So the flow is: a requester sends to the home, the home coordinates coherence and, if it needs data, reaches the subordinate. Each role also has fully-coherent and I/O variants, but that's the core picture."

That is three clean one-liners in flow order, the home-is-not-memory correction, and the requester-home-subordinate synthesis — with subtypes offered as depth. The interviewer hears both the roles and the relationship.

9. The Depth Ladder

Matching depth to the role.

  • Junior signal. "RN is the requester, HN is the home, SN is memory." — correct labels, but conflates HN with the coordinator role vaguely and calls SN "memory" without noting the HN is the coherence point.
  • Mid signal. Adds what the HN does — "the home owns the directory and issues snoops." Shows mechanism awareness and the coherence-point idea.
  • Senior signal. Adds the why — "the home exists so coherence has a single serialization and tracking point per address; that's what lets snoops be targeted instead of broadcast." Connects the role to scalability.
  • Staff signal. Adds the subtypes and their purpose — "RN-F is fully coherent with a cache, RN-I is I/O-coherent without one; the split lets non-caching initiators participate in coherence cheaply." Shows system-design nuance.

The point to carry:

Climb the ladder by explaining why the home node exists — as the per-address serialization and tracking point that makes targeted snoops possible. That single insight connects the node role (this question) to the scalability story (19.1) and the directory (19.4), and it is the most senior-sounding thing you can say about the roles.

10. A Concrete Example

The example that grounds the roles:

"Concretely: core A (an RN) wants to write a line. It sends a request to the HN that owns that address. The home looks up its directory, sees core B (another RN) has the line cached, and snoops B to invalidate it. If the home needs the latest data from memory, it reads the SN — the memory controller. Then it completes back to A. So in one write you see all three: A the requester, the home the coordinator, the SN the data endpoint — and the home orchestrating between them."

A single write transaction that exercises all three roles demonstrates the relationship far better than three isolated definitions — it shows the home coordinating between a requester and the memory, which is the whole point.

11. Mental Map

The recall structure — a three-stop pipeline.

  • RN (requester)initiates. → "Who wants something?"
  • HN (home / coherence hub)coordinates: directory, ordering, snoops. → "Who keeps caches consistent?"
  • SN (subordinate / endpoint)supplies/stores. → "Who holds the data?"
  • The correction, always attached to HN: coordinator, not memory.

The rule to carry: map each node to a one-word verb — RN initiates, HN coordinates, SN stores. The verbs are the roles, and they fall in flow order. Attach the "not memory" correction permanently to the HN in your mental map, so it comes out automatically whenever you name the home.

12. What a Strong Answer Includes

The rubric.

ElementStrong answer?Why
All three namedyesknows the full cast
One-line role eachyescrisp, not rambling
HN = coherence point, not memoryyesthe key correction
RN can be non-CPUbonusshows breadth
Requester → home → subordinate flowyesshows the relationship
Subtypes (RN-F/RN-I…)bonusdepth on request

The rule to carry: the home-is-not-memory correction is the highest-value element. Naming the three roles is table stakes; distinguishing the home (coordinator) from the subordinate (memory) is what separates a candidate who understands the architecture from one who memorized labels. Volunteer it every time.

13. Weak Answer vs Strong Answer

Same knowledge, two deliveries.

  • Weak: "RN is request node, HN is home node, SN is subordinate node. The home node is the memory, and the request node is the CPU." — names them, but conflates HN with memory and RN with only CPUs — two errors that reveal a wrong model.
  • Strong: "RN initiates — a core or DMA. HN is the coherence point — directory, ordering, snoops — not memory. SN is the memory-or-peripheral endpoint. Requester to home to subordinate." — clean one-liners, the correction, the flow.

The difference is the home-vs-memory distinction and the flow framing — the strong answer shows the home coordinating, the weak one flattens it into "memory," which would make every later coherence flow nonsensical.

14. The Interview Trap

15. Common Mistakes

  • HN = memory. Assumption: the home holds the data. Trap: breaks every coherence flow. Fix: HN coordinates; SN stores.
  • RN = CPU only. Assumption: requesters are cores. Trap: misses DMA/accelerators. Fix: an RN is any initiator.
  • Vague HN role. Assumption: "the home does coherence." Trap: no specifics. Fix: directory, ordering, snoops.
  • Definitions, not flow. Assumption: three separate roles. Trap: misses the relationship. Fix: requester → home → subordinate.
  • Forgetting subtypes. Assumption: one kind each. Trap: no depth. Fix: RN-F/RN-I, HN-F/HN-I, SN-F/SN-I when asked.
  • SN as "just DRAM." Assumption: SN = memory only. Trap: misses peripherals. Fix: memory controller or peripheral endpoint.

16. Interview Checklist

  • Name all three roles immediately — RN, HN, SN.
  • Give a one-line role for each — initiates, coordinates, stores.
  • State that the HN is the coherence point, not memory.
  • Note that an RN can be a DMA engine or accelerator, not just a CPU.
  • Deliver them in flow order — requester → home → subordinate.
  • Offer the coherent/I/O subtypes only if depth is wanted.

17. Key Takeaways

  • CHI has three node roles: RN (initiates), HN (coordinates coherence), SN (stores data).
  • The home node is the coherence point — directory, ordering, snoops — not memory.
  • A request node can be a core, DMA engine, or accelerator — any initiator.
  • The subordinate node is the memory controller or peripheral endpoint.
  • Deliver the roles in flow order — requester → home → subordinate.
  • Volunteer the home-is-not-memory correction; the guidance here is representative.

18. Quick Revision

Beginner RN / HN / SN. (capsule answer.) "CHI has three node roles. A Request Node (RN) initiates transactions — usually a core with a cache, but it can be a DMA engine or accelerator, any initiator. A Home Node (HN) is the coherence point for a range of addresses — it owns the directory that tracks which caches hold each line, orders transactions, and issues the snoops that keep caches consistent; crucially, it is the coordinator, not the memory. A Subordinate Node (SN) is the data endpoint — a memory controller or peripheral — that supplies and stores data when the home asks. So the flow is: a requester sends to the home, the home coordinates coherence and, if it needs data, reaches the subordinate. Each role has fully-coherent and I/O variants — RN-F versus RN-I, and so on." Deliver in flow order (initiates → coordinates → stores), and volunteer that the home is the coherence point, not memory — the single most-tested distinction. Representative interview guidance; 19.3 compares the RN and HN roles in depth.

Coming Next

Chapter 19.3 — RN vs HN Question. Naming the roles leads to comparing them. Chapter 19.3 covers the RN-versus-HN comparison question — the requester versus the coordinator, how their responsibilities differ, why the home node is where coherence is decided while the request node is where it is consumed, and the crisp contrast an interviewer expects.