CPU寄存器组的设计建议用文本输入方式设计。寄存器组中包括4个8位通用寄存器(R0~ R3)和1个8位专用寄存器PC。8位通用寄存器只有读/写功能,其操作控制信号可参考表3。8位专用寄荐器PC具有预置、加一、减一和清零功能。通用寄存器组和PC的控制信号是独立的,这样便于实现并行处理。程序计 数器PC的清零操作由复位信号RST单独控制。
时间: 2023-06-13 20:06:20 浏览: 88
设计CPU寄存器组时,建议采用以下文本输入方式:
1. 4个8位通用寄存器(R0~R3):使用4个8位D触发器来实现,每个寄存器的读/写控制信号如下:
- 读取:将寄存器地址码送入地址译码器,将输出的控制信号RD置为1,D触发器输出的数据即为寄存器的值。
- 写入:将寄存器地址码送入地址译码器,将输出的控制信号WR置为1,将要写入的数据送入D触发器即可。
2. 8位专用寄存器PC:使用1个8位D触发器来实现,PC的控制信号如下:
- 预置:将要预置的数据送入D触发器,然后将PC的控制信号PRE置为1,即可将D触发器的值预置为指定的数据。
- 加一:将PC的控制信号INC置为1,即可将D触发器的值加一。
- 减一:将PC的控制信号DEC置为1,即可将D触发器的值减一。
- 清零:将PC的控制信号CLR置为1,即可将D触发器的值清零。
通用寄存器组和PC的控制信号是独立的,这样便于实现并行处理。程序计数器PC的清零操作由复位信号RST单独控制,即将RST置为1即可清零PC的值。
相关问题
ARM汇编指令编写完成两个128位数的加法,第一个数由高到低存放在寄存器R7~R4,第二个数由高到低存放在寄存器R11~R8,运算结果由高到低存放在寄存器R3~R0
好的,以下是ARM汇编指令编写完成两个128位数的加法,第一个数由高到低存放在寄存器R7~R4,第二个数由高到低存放在寄存器R11~R8,运算结果由高到低存放在寄存器R3~R0的代码:
```
.global main
main:
MOV R0, #0 @ 设置进位标志为0
MOV R1, #0 @ 将累加器清零
LDMIA R7!, {R4-R7} @ 从第一个数中加载高四个字到寄存器R4-R7中
LDMIA R11!, {R8-R11} @ 从第二个数中加载高四个字到寄存器R8-R11中
ADDS R3, R4, R8 @ 相加低四个字,设置进位标志
ADC R2, R5, R9 @ 相加次低四个字,加上进位标志
ADC R1, R6, R10 @ 相加次高四个字,加上进位标志
ADC R0, R7, R11 @ 相加高四个字,加上进位标志
STMIA R3!, {R0-R3} @ 存储低四个字到结果寄存器中
MOV R3, #0 @ 将进位标志清零
ADDS R3, R0, R1 @ 加上进位标志和次高四个字
ADC R2, R2, #0 @ 加上进位标志
ADC R1, R1, #0
ADC R0, R0, #0
STMIA R3!, {R0-R3} @ 存储次低四个字到结果寄存器中
MOV R3, #0 @ 将进位标志清零
ADDS R3, R0, R1 @ 加上进位标志和次高四个字
ADC R2, R2, #0 @ 加上进位标志
ADC R1, R1, #0
ADC R0, R0, #0
STMIA R3!, {R0-R3} @ 存储次高四个字到结果寄存器中
MOV R3, #0 @ 将进位标志清零
ADDS R3, R0, R1 @ 加上进位标志和高四个字
ADC R2, R2, #0 @ 加上进位标志
ADC R1, R1, #0
ADC R0, R0, #0
STMIA R3!, {R0-R3} @ 存储高四个字到结果寄存器中
MOV R7, #1 @ 系统调用退出程序
SWI 0 @ 进入内核态
```
该程序使用了多个寄存器,其中R0作为进位标志,R1作为累加器,R2-R3作为中间变量,R4-R7和R8-R11分别用于存放两个128位数的每4个字。在运算过程中,先将高四个字加载到相应的寄存器中,然后从低位开始相加,每次加上进位标志,再将结果存储到相应的寄存器中。
注意:这段代码只是一种实现方式,可能存在其他更优的实现方式。
设r1,r2,r3,r4是cpu中的通用寄存器,试用方框图语言表示以下指令的指令周期流
以下是几条指令的指令周期流的方框图表示:
1. MOV r1, #5
```
+--------+
| Fetch |
+--------+
|
+--------+
| Decode |
+--------+
|
+--------+
| Execute|
+--------+
|
+--------+
| Write |
+--------+
```
2. ADD r2, r1, r3
```
+--------+
| Fetch |
+--------+
|
+--------+
| Decode |
+--------+
|
+--------+
| Execute|
+--------+
|
+--------+
| Write |
+--------+
```
3. SUB r4, r2, r3
```
+--------+
| Fetch |
+--------+
|
+--------+
| Decode |
+--------+
|
+--------+
| Execute|
+--------+
|
+--------+
| Write |
+--------+
```
4. STR r4, [r1]
```
+--------+
| Fetch |
+--------+
|
+--------+
| Decode |
+--------+
|
+--------+
| Execute|
+--------+
|
+--------+
| Memory |
+--------+
|
+--------+
| Write |
+--------+
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)