微处理器必须为16位(正式证明)
, :
R — ( )
A — ( )
C — ( )
, ( — , ):
A =
C = 2 ^
R符合此条件意味着任何单元都可以容纳任何其他单元的地址,并且还包含有关正在执行的操作的全面信息。减少地址空间充满了到不存在的存储器的链接,并且增加了确保必要的寻址整个存储器能力的冗余信息。与命令空间相同。因此,我们的假设集合不会停止为无限,而是变得更加明确。是否还有其他条件可以满足上述条件,并且在不深入研究开发低级体系结构的细节的情况下显而易见?是的,至少存在一个这样的条件:R = 2 ^ n遵守该条件意味着要指定单元中任何位数,就需要整数位数(同样,此处容易写或机器代码可靠的原因,此处多余或不足是不希望的)显然,n = 4是最小可接受值,因为n = 3的256个字节的内存仅适合编写圣诞节花环。在n= 5,我们得到与IT最新进展相对应的内存量。但是,如果我们假设处理器寻址的内存的主要目的是存储机器代码(引擎),并且该引擎操作的数据被从地址空间中取出(也就是说,如果我们假设外部设备将作为它们的载体),那么该内存量(16 GB)将显然是多余的。实际上,在现代计算机的RAM中,只有一小部分内存属于机器代码,其余部分是数据。此外,在硬件级别将代码和数据分离与微处理器设计及其汇编语言编程中的良好风格的想法非常一致。以有效的acme写入的兆位机器代码(假设数据是从处理器寻址的RAM地址中取出的),可以容纳一个完整的轴。如果此内存不足(例如,无法实现多任务),则可以使用多个处理器,因为通常,IT领域的“分工”也有助于开发程序的便利性及其功能的有效性。原则上,要实现多任务处理,一个处理器是无法实现的:例如,我们可以实现一个快速接口,用于在RAM与外部存储器之间交换数据-幸运的是,少量的RAM允许您不按顺序而是并行(在一个“帧”中)更新它。几秒钟之内就可以覆盖处理器内存的任何部分。通常,它有助于开发程序的便利性及其功能的有效性。原则上,要实现多任务处理,一个处理器是无法实现的:例如,我们可以实现一个快速接口,用于在RAM与外部存储器之间交换数据-幸运的是,少量的RAM允许您不按顺序而是并行(在一个“帧”中)更新它。几秒钟之内就可以覆盖处理器内存的任何部分。通常,它有助于开发程序的便利性及其功能的有效性。原则上,要实现多任务处理,一个处理器是无法实现的:例如,我们可以实现一个用于在RAM与外部存储器之间交换数据的快速接口-幸运的是,少量的RAM允许您不按顺序而是以并行方式(在一个“帧”中)对其进行更新,因此几秒钟之内就可以覆盖处理器内存的任何部分。这样几秒钟之内就可以覆盖处理器内存的任何部分。这样几秒钟之内就可以覆盖处理器内存的任何部分。, , , . , , , :
R %
n = 0
, [ 0..
R-1 ] (,
n=5 —
R等于32位不能被5整除。由于处理器容量是一个基本参数,因此将来可能会非常有用。最后,支持数字16(这是低级体系结构的基础)的主要论据是它设置了最佳的命令空间量-PDP-11处理器可以作为示例(以及大多数现代处理器,其位容量的扩展实际上并没有影响在他们的命令系统上)。为了清楚起见,我将给出一个反映上述理由的基本性质的序列:2 ^ 0 = 12 ^ 1 = 22 ^ 2 = 4(= n)2 ^ 4 = 16(= R)2 ^ 16 = 65536(= A = C)还值得一提的是,自从IT开始以疯狂的速度发展以来,也许没有提出一个完整的解决方案。即使是PDP-11(我认为最成功的实现)也不大可能使用超过50%的命令空间-其中相当重要的一部分是备用代码以及形式上有效的寻址方法(因为它们属于一般规则),但实际上未使用,因为它们要么导致程序的冻结(MOV-(PC),...),要么根本没用(MOV R1,R1)。换句话说,在信息技术领域,“轮子”尚未发明出来,或者它们都不是完全“圆形”的,这使得“骑自行车”并不十分方便。也许由于这个原因,“原始”计算机(BK,DVK,Spectrum等)到今天仍然需求很大。例如,作为一个在编程方面经验丰富的人,现代软件技术及其所有功能和可靠性提醒了弗兰肯斯坦,引起了审美上的矛盾。尽管这比打扰要令人愉悦,但我的业余爱好是发明未发明的车轮。也许我不是唯一朝这个方向思考的人,其他人会发现这项活动很有趣。Source: https://habr.com/ru/post/zh-CN383567/
All Articles