You would need a dual-port RAM or you would need
to accept some form of access arbitration (and make
it so). Index counters for the addresses, both. Over
and underflow flagging.
"Cheaper" means smaller area and lower power from
RAM. "How much" and "worth the effort" are worth
some considering. It will vary with the platform and
performance demands and blah blah blah. You could
go and look at FIFO memory products, chip and board
level, and get a lot of insight I expect.