计算机体系结构与设计

Computer Architecture and Design

如果 ax+b *c / g 是从键盘输入的;使用您在计算机体系结构方面的知识,跟踪从键盘到最终输出到使用双向 I/O 接口的打印机的执行路径设计.

有人可以帮我解决这个问题吗?

所以我基本上了解到,大多数计算机有 3 种主要计算方式。

1.Prefix 例如+ab

2.Infix 例如 a+b

3.Postfix 例如ab+

首先将键盘输入(ax + b * c / g)发送到RAM。它从 RAM 通过高速缓存到达 CPU.

CPU包含控制单元(CU)、算术逻辑单元(ALU)和内部存储器和寄存器。 ALU 基本上处理 CPU 中的计算。因此计算被发送到ALU。

所以假设计算机使用后缀表示法来计算:

使用内存寄存器,开始计算如下:

a) ax + b 将计算为 axb+ = X1。先前的操作数被清除并由答案 (X1) 代替。连续计算如下:

b) X1 * C 将计算为 X1C* = X2

c) X2 / g 将计算为 X2g/ = X3。

X3 将作为最终答案并发送到打印机进行打印。

An image showing the path of execution

  1. 第一步,您的系统会从字符设备(键盘)请求数据并接收数据,直到您获得终止字符,即 \n 0x0a。你会重复这个,直到你有必要的操作数。字符设备输出将保存到进程的内存中 space(如果系统使用 DMA,此时不太可能在缓存中)
  2. 操作数使用 ALU 计算并保存到内存中。结果将在缓存中,因为 CPU 直接访问了内存。
  3. 这道题很关键的一点就是打印机的双向I/O。结果将发送给打印机读取。然后打印机可以通过从打印机到系统的接口报告打印操作的状态以告诉系统操作是否已经完成。