Skip to content
STIMSMITH

Bedrock coherence protocol

Concept

Bedrock is an open-source, directory-based cache coherence protocol that uses the canonical MOESIF coherence states and eliminates transient coherence states to reduce implementation complexity, verification effort, and concurrency burden. It is implemented within the BlackParrot 64-bit RISC-V multicore processor through a system of coherence networks, local cache engines (LCEs), and cache coherence engines (CCEs). The BlackParrot-BedRock (BP-BedRock) project delivers three CCE implementations: a fixed-function baseline, a microcode-programmable engine, and a hybrid design that combines fixed-function performance with programmable flexibility.

First seen 7/4/2026
Last seen 7/4/2026
Evidence 1 chunks
Wiki v1

WIKI

Overview

The Bedrock coherence protocol is an open-source cache coherence protocol designed for modern shared-memory multicore processors. It was developed and analyzed as part of a research effort revisiting programmable cache coherence engines, and is realized within the BlackParrot 64-bit RISC-V multicore processor.

Protocol Design

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

1 connections
BlackParrot ← implements 97% 1e
BlackParrot Memory End implements the Bedrock protocol for cache coherence

CITATIONS

8 sources
8 citations — click to expand
[1] BedRock is an open-source cache coherence protocol using the canonical MOESIF coherence states and eliminating transient coherence states. The Open-Source BlackParrot-BedRock Cache Coherence System
[2] BedRock reduces implementation burden, concurrency, and verification effort relative to a canonical directory-based invalidate protocol. The Open-Source BlackParrot-BedRock Cache Coherence System
[3] The BlackParrot Memory End implements the Bedrock protocol to provide cache coherence between processor cores, coherent accelerators, and the memory system. BlackParrot technical documentation (Memory End / Background chapter)
[4] A BedRock system consists of a coherence network, Local Cache Engines (LCEs), and Cache Coherence Engines (CCEs). BlackParrot technical documentation (Memory End / Background chapter)
[5] LCEs are cache controllers managing coherence transactions for a single instruction or data L1 cache, interfacing the L1 cache to the Bedrock coherence network. BlackParrot technical documentation (Memory End / Background chapter)
[6] CCEs are coherence directories that operate as programmable microcode engines executing RISC-style general-purpose operations and coherence-specialized operations, with most instructions executing in a single cycle. BlackParrot technical documentation (Memory End / Background chapter)
[7] The CCE contains a fetch stage and an execute stage, 8 64-bit general-purpose registers, a miss status handling register, coherence network ports, dedicated coherence directory storage, speculative memory access tracking storage, and pending-bit storage. BlackParrot technical documentation (Memory End / Background chapter)
[8] Three BP-BedRock coherence directory implementations exist: a fixed-function baseline, a microcode-programmable engine, and a hybrid design combining fixed-function performance with programmable flexibility. The Open-Source BlackParrot-BedRock Cache Coherence System