---如果要求芯片做成单片机,或把单片机做成芯片?---
处理器可以有很多指令,一个个指令组合成指令集。
处理器可以有多个内核,可以按照功能分配:
排队内核(32位处理能力,配备4GB内部内存)
并行内核(64位处理能力,配备16GB内部内存和可扩展外部内存)
串行处理因为每次只干一件事,也就可以把整个处理器的所有可用硬件资源用于处理一个代码段(带开始段和结束段,循环交互段);并行处理因为每次干很多事,也让整个处理器只能把所有可用硬件资源的N分之一用于处理一个代码段(优先级更高,则分配更多硬件占用相对百分比,比如优先级为最高,可以分配百分之五,优先级为最低,可以分配到百分之一)
也就是如果在一次运算频率里只有两个代码段,优先级不同,一个是最高,一个是最低,那么优先级最高的可以分配到整个处理器六分之五的可用硬件资源,优先级最低的可以分配到整个处理器六分之一的可用硬件资源。
也就是如果在一次运算频率里只有两个代码段,优先级不同,两个最高,两个最低,那么优先级最高的各可以分配到整个处理器十二分之五的可用硬件资源,优先级最低的各可以分配到整个处理器十二分之一的可用硬件资源。
公式:
最高优先级的代码段,获得整个处理器分子为5,分母为所有优先级数的总和的硬件资源。
高优先级的代码段,获得整个处理器分子为4,分母为所有优先级数的总和的硬件资源。
中等优先级的代码段,获得整个处理器分子为3,分母为所有优先级数的总和的硬件资源。
低优先级的代码段,获得整个处理器分子为2,分母为所有优先级数的总和的硬件资源。
最低优先级的代码段,获得整个处理器分子为1,分母为所有优先级数的总和的硬件资源。
也就是都是同优先级时,资源平均分,只有在出现优先级不同时,资源才根据优先级进行相应倾斜分配。
而这还只是单一处理器处理多并行代码段时的情况。
当需要多处理器处理多并行代码段时,就需要处理器之间的分配规则编程,比如最高优先级只有5个,而最低优先级有5万个时,处理器的分配规则如何调整,又比如最高优先级有五万个,而最低优先级有5个时,处理器的分配规则如何调整。
也就是说,优先级再高,在一次运算频率中,只能占用被分配的硬件资源,不能超所分配的硬件资源使用,需要超所分配的硬件资源使用时,把代码段拆分(有损拆分和无损拆分)成为串行执行方式。
可以使用硬件空置待机方式,也就是在硬件没有代码段执行时,只使用1个处理器处理内容,当硬件接触到很多的代码段执行时,可以根据预估处理器,来启用特定数量的处理器,然后由队列处理器来分配代码段到每个处理器。
采用硬件空置待机方式之后,就可以使用8位处理器,16位处理器,32位处理器,64位处理器并存,然后由一个可变位处理器(本身可以处理8位,16位,32位,64位的少量数据处理),当可变位处理器到达设定峰值时,就把对应位数的处理器从休眠中唤醒分配代码段。
也就是需要设计12核3GHz的8位处理器,需要设计12核3GHz的16位处理器,需要设计12核3GHz的32位处理器,需要设计12核3GHz的64位处理器。
小而短的代码段,分配给8位处理器,长而复杂必须所有代码段同时运行的就交给并行处理器,也可以把多而小而短的代码段,打包分配给一个64位处理器。
为你提供最快的脑回路清奇的主角们更新,第一百九十八章 幻由已知猜想未知免费阅读。