Die Tristate-Gatter vereinfachen den Aufbau: Wenn man aus 2^n Wörtern eines auswählen möchte, würde man hierfür einen Multiplexerbaum mit O(2^n) Multiplexer mit einer Tiefe vn O(n). Bei der Verwendung von Tristate-Gattern kann man alle Speicherwörter über Tristategatter direkt mit dem Datenbus verbinden. Die Tristategatter dürfen natürlich nur durchschalten, wenn das entsprechende Speicherwort addressiert worden ist. Hierzu muss man die n Adressbits mit den Adressbits des Speicherwortes vergleichen, was mit O(n) Gattern und einer Tiefe von log(n) geht. Man spart also tatsächlich einiges ein. Bei der herkömmlichen Schaltungslogik kann man zwar auch das richtige Speicherwort in derselben Art und Weise "identifizieren", aber man benötigt dennoch einen Multiplexerbaum um das aktivierte Wort unter allen Speicherwörtern aufzufinden.
Die Situation is vergleichbar mit verschiedenen PRAM-Maschinenmodellen, welche sich in EREW, CREW CRCW usw. unterteilen, je nachdem exclusive/concurrent read und/oder exclusive/concurrent write erlaubt wird. Auch dort kann man O(log(n)) Zeit einsparen, aber nicht mehr.
[English Translation (thanks to www.DeepL.com):]
The tristate gates simplify the construction: If you want to select one of 2^n words, you would use a multiplexer tree with O(2^n) multiplexers with a depth of vn O(n). If you use tristate gates, you can connect all memory words directly to the data bus using tristate gates. Of course the tristate gates should only be connected if the corresponding memory word has been addressed. For this, you have to compare the n adress bits with the adress bits of the memory word, which is possible using O(n) gates and a depth of log(n). So, there are indeed some savings. Using the traditional circuit logic you can "identify" the right storage-word in the same way, but you still need a multiplexer tree to find the activated word among all memory words.
The situation is comparable to different PRAM machine models, which are divided into EREW, CREW CRCW etc., depending on whether exclusive/concurrent read and/or exclusive/concurrent write is allowed. Also there you can use O(log(n)) Save time, but no more.