CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Sequential Logic

Byte Addressable Memory Endianness

MediumLogic CircuitAnalyze

Mixing up byte order when reading a 32-bit word from a byte-addressable memory is the most common cause of data corruption in embedded systems. A 32-bit processor writes four consecutive bytes to memory starting at base address 0x1000. The sequence of byte writes is 0xAA to 0x1000, 0xBB to 0x1001, 0xCC to 0x1002, and 0xDD to 0x1003. A subsequent 32-bit read operation is performed at the word-aligned address 0x1000. Determine the 32-bit hexadecimal value returned by the read operation under both Little Endian and Big Endian memory architectures.

Constraints

  • The memory is strictly byte-addressable.
  • The processor data bus and registers are 32 bits wide.
  • Hexadecimal answers must be formatted with the 0x prefix and use uppercase letters.

Topics

memorydatapathendiannessarchitecture

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • D Latch from a 2:1 MUXEasy
  • 2-bit Ring CounterEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks