-
-
Notifications
You must be signed in to change notification settings - Fork 4
DataBusControlRegister
O Registrador do Controlador de Barramento de Dados, ajuda a identificar o que está acontecendo no barramento de que gerencia tanto a memória de dados, como o barramento que dá acesso aos periféricos, ele não contem nenhuma informação sobre algum periférico específico, apenas sobre a sinalização e fatos ocorridos no barramento.
Por exemplo, qual o tamanho da ultima leitura ou gravação realizada, qual o valor do ultimo dado transportado, se o ultimo endereço de 16, 32, 64, ou 128 bits estava alinhado.
Como tal registrado ainda está sendo especificado ele pode vir a sofrer alterações com o aprendizado da especificação e também com novas descobertas.
0h0100-0000 - 0h0100-0003
32 BITS (UMA WORD)
00|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| | | | | +--- DBC is busy
| | | | +------- Address-misaligned exception
| +---+---+----------- Tamanho da última leitura (000 -> Byte, 001 -> Half, 010 -> Word) veja abaixo para detalhes em (1)
+------------------------------- Not Used Address Exception, veja detalhes em (2)
01|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | RESERVADO
02|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | RESERVADO
03|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | RESERVADO
0h0100-0004 - 0h0100-0014
04|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Último dado gravado (byte, half, word, dual, quadword),
05|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
06|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
07|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
------------------------------------
08|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Último dado gravado (byte, half, word, dual, quardword),
09|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0A|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0B|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
------------------------------------
0C|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Último dado gravado (byte, half, word, dual, quardword),
0E|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0F|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
10|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
------------------------------------
11|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Último dado gravado (byte, half, word, dual, quardword),
12|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
13|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
14|| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
[1] https://github.com/DuinOS/riscuinho/blob/c381de6d73ca697dbf96287e4b8ba7b0c4a64dff/InstructionDecoder.v#L62-L70 [2] https://github.com/DuinOS/riscuinho/issues/11#issuecomment-805183368
Participe nas Lives: https://twitch.tv/CarlosDelfino_BR e https://twitch.tv/ArduinoMinas