A processor system includes an on-chip, split-transaction bus with
independent address/control and data buses. Arbitration and bus
acquisition protocols are performed on the address/control bus. An arbiter
arbitrates I/O requests and regulates concurrent ownership of the
split-transaction bus by assigning a virtual channel to each bus request.
Data bus access is granted to a virtual channel on a priority basis, s so
as to utilize to a maximum extent the available bandwidth of the data bus.
In one embodiment, the data bus is preempted by another virtual channel
when current virtual channel using the data bus becomes idle due to, for
example, latencies in the data stream. Rearbitration, however, is avoided
when the interrupted data transfer resumes, owing to state information
regarding the data transfer stored in the master and slave modules of each
virtual channel.
Um sistema de processador inclui uma em-microplaqueta, a barra-ônibus da rach-transação com address/control independente e as barras-ônibus de dados. Os protocolos da aquisição do arbitration e da barra-ônibus são executados na barra-ônibus de address/control. Um árbitro arbitrates pedidos de I/O e regula a posse simultânea da barra-ônibus da rach-transação atribuindo uma canaleta virtual a cada pedido da barra-ônibus. O acesso da barra-ônibus de dados é concedido a uma canaleta virtual em uma base da prioridade, s para utilizar a uma extensão máxima a largura de faixa disponível da barra-ônibus de dados. Em uma incorporação, a barra-ônibus de dados preempted por uma outra canaleta virtual quando a canaleta virtual atual que usa a barra-ônibus de dados se transforma idle devido a, para o exemplo, latências no córrego de dados. Rearbitration, entretanto, for evitado quando os resumos interrompidos de transferência de dados, devido à informação do estado a respeito de transferência de dados armazenada nos módulos do mestre e do escravo de cada canaleta virtual.