时钟频率

数组和链表区别?为什么链表查找慢?数组查找快?为什么连续内存就方便查找?

拥有回忆 提交于 2020-01-31 02:14:05
数组与链表的优缺点; 数组: 优点:使用方便 ,查询效率 比链表高,内存为一连续的区域 缺点:大小固定,不适合动态存储,不方便动态添加 链表: 优点:可动态添加删除 大小可变 ,内存可能是不连续内存,链式存储。 缺点:只能通过顺次指针访问,查询效率低 链表和数组的本质差异 1 在访问方式上 数组可以随机访问其中的元素 链表则必须是顺序访问,不能随机访问 2 空间的使用上 链表可以随意扩大 数组则不能 从CPU的角度 CPU 寄存器 – immediate access (0-1个CPU时钟周期) CPU L1 缓存 – fast access (3个CPU时钟周期) CPU L2 缓存 – slightly slower access (10个CPU时钟周期) 内存 (RAM) – slow access (100个CPU时钟周期) 硬盘 (file system) – very slow (10,000,000个CPU时钟周期) 各级别的存储器速度差异非常大,CPU寄存器速度是内存速度的100倍! 这就是为什么CPU产商发明了CPU缓存。 而这个CPU缓存,就是数组和链表的区别的关键所在。 CPU缓存会把一片连续的内存空间读入 ,因为数组结构是连续的内存地址,所以数组全部或者部分元素被连续存在CPU缓存里面,平均读取 每个元素的时间只要3个CPU时钟时间。

STM32时钟系统

非 Y 不嫁゛ 提交于 2020-01-30 04:28:53
1. STM32 有 5 个时钟源 :HSI 、 HSE 、 LSI 、 LSE 、 PLL 。   ①、 HSI 是高速内部时钟, RC 振荡器,频率为 8MHz ,精度不高。    ②、 HSE 是高速外部时钟,可接石英 / 陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz 。    ③、 LSI 是低速内部时钟, RC 振荡器,频率为 40kHz ,提供低功耗时钟。 WDG    ④、 LSE 是低速外部时钟,接频率为 32.768kHz 的石英晶体。 RTC    ⑤、 PLL 为锁相环倍频输出,其时钟输入源可选择为 HSI/2 、 HSE 或者 HSE/2 。倍频可选择为2~16 倍,但是其输出频率最大不得超过 72MHz 。 2. 系统时钟 SYSCLK 可来源于三个时钟源: ①、 HSI 振荡器时钟 ②、 HSE 振荡器时钟 ③、 PLL 时钟 3.STM32 可以选择一个时钟信号输出到 MCO 脚 (PA8) 上,可以选择为 PLL 输出的 2 分频、 HSI 、 HSE 、或者系统时钟。 4. 任何一个外设在使用之前,必须首先使能其相应的时钟。 几个重要的时钟: SYSCLK( 系统时钟 ) : AHB 总线时钟 APB1总线时钟 ( 低速 ): 速度最高 36MHz APB2 总线时钟 ( 高速 ): 速度最高 72MHz PLL 时钟 参考资料:

AMD和Intel的CPU对比

爱⌒轻易说出口 提交于 2020-01-28 18:19:00
http://www.lotpc.com/yjzs/5825.html 推荐文章: 小白看AMD与intel的cpu架构,AMD慢的原因 CPU核心的发展方向是更低的电压、更低的功耗、更先进的制造工艺、集成更多的晶体管、更小的核心面积等。 一、温度 1、老一代的CPU,因为AMD用的架构不同,集成比INTEL多的东西 如HT总线、 内存控制器 等,使CPU的 集成度 加大, 晶体管 多了,发热也随之增大。而INTEL的不同,FSB和 内存控制器 都在 主板北桥 里的,所以 集成度 不大,发热也少很多。 2、如今新的CPU,intel也集成了 内存控制器 等,但是 发热量 控制还是要比AMD的CPU好,那是因为Intel的 制程工艺 普遍是22nm和14nm,而AMD目前是28nm。第二intel都是低外频高 倍频 ,而AMD正好相反。提高外频需要加电压多,所以温度高。 3、如今AMD在走当年intel的老路了,高频低能长流水线。且AMD的cpu一般缓存都比较大,高 主频 与大缓存也让处理器功耗大涨。 4、 核心数量 的关系。核心越多,且 主频 越高, 发热量 越大。如今AMD为了体现性价比优势,打着双打单,四打二的方法,导致堆叠的核心越多, 发热量 越大 二、制造工艺 主要是因为intel的制造工艺先进,而且半导体开发比AMD强,从线程缓存就可以看得出来,用 i7 4770K

Quartus II LPM使用指南-FIFO篇

梦想与她 提交于 2020-01-28 10:20:17
Quartus II LPM使用指南 FIFO篇 BY WG http://www.cnblogs.com/wg2011/ 目录 说明 - 2 - 摘要 - 3 - 第一章 FIFO配置全攻略 - 4 - 1.1如何配置自己需要的FIFO - 4 - 1.2输入输出端口 - 5 - 1.3时序要求 - 8 - 1.4输出状态标记和潜伏期 - 8 - 1.5避免亚稳态 - 9 - 1.6同步复位及异步复位的影响 - 9 - 1.7不同的输入输出位宽 - 10 - 1.8约束设置 - 10 - 第二章 设计实例 - 11 - 2.1设计实例概要 - 11 - 2.2系统仿真分析 - 11 - 2.2.1写操作 - 11 - 2.2.2读操作 - 12 - 2.2.3当DCFIFO被写满时 - 13 - 2.2.4完成ROM至DCFIFO的数据传递 - 13 - 2.2.5完成DCFIFO至RAM的数据传递 - 14 - 附录 FIFO配置界面: - 15 - 1 - 15 - 2 - 16 - 3 - 17 - 4 - 18 - 5 - 19 - 6 - 19 - 参考文献 - 21 - 说明 本文档根据 ALTERA 《SCFIFO and DCFIFO Megafunctions》一问整理而来。 笔者使用Quartus II 的版本及PC机操作系统版本为11.1 sp2 WIN7

从主频之争到多核之争,摩尔定律还能走多远?

泄露秘密 提交于 2020-01-28 04:13:35
从主频之争到多核之争,摩尔定律还能走多远? 本文通过对几个基础问题的探讨,从IC设计角度介绍一点处理器的知识和发展。希望对长时间做高级语言开发的朋友有点帮助,随便看看权当娱乐。 1.CPU的速度是什么决定的?   我们通常用频率(frequency)来描述一颗处理器的速度,比如1.6GHz,3.8GHz。这个频率是什么的频率?它又是根据什么来决定的呢?我遇到不少童鞋以为频率高是因为我们可以做出更快的晶振,这是本末倒置的想法。一颗处理器的最高频率是根据它内在电路决定的,决定以后,才选取适当频率的晶振来为它产生漂亮的脉冲。   比如CPU做这样一个运算(1+2)+(3*4)。1+2 和 3*4 分别送入加法器和乘法器,各自的结果作为输入再送入加法器。由于加法要比乘法快,1+2先算完放到一个寄存器待用,等3*4结果出来也放入寄存器之后,二者一再起送入加法器。而为了同步,我们给这些运算加入一种步伐,也就是时钟信号。我们规定时钟的一个周期为需要时间最长的乘法,这样就可以保证再第二个时钟信号到来的时候,之前的全部运算都可以准确完成并将结果存入寄存器,进入下一个运算周期。   这个周期切换的速度,就是频率。很明显,频率越高,计算速度越快嘛。 一块芯片的频率,就是耗时最长的那条电路(critical path)决定的。芯片的频率的设定,要保证耗时最长的那段电路可以在一个时钟周期内运算完毕。 2

时钟与复位

痞子三分冷 提交于 2020-01-25 18:01:10
内容: 主要涵盖了设计者在设计模块或者知识产权(Intellectual Preoperty)时所要用到的一些建议。 同步设计(对ASIC时序控制最安全的方法): 由单个主时钟和主置位/复位信号驱动设计中所有的时序器件。 一、避免使用行波计数器 含义:即使用触发器输出作为下一级触发器的时钟输入端 缺点: 由于第一个触发器的输出响应导致第二个触发器的时钟输入相对于时钟信号产生偏移(延迟); 无法 在每个时钟边沿都激活 :由于延迟问题,当时钟发生跳变时,第一个触发器的输出未发生变化,从而导致第二个触发器的时钟输入变化较时钟信号晚;在每个时钟边沿都激活?可能在某几个时钟边沿激活?考虑的是第二个触发器的激活? 优点:能够减少电路的漏电流并降低电路的功耗,在低功耗设计中会取得很好的效果; 二、避免使用门控时钟 前端设计注意:含门控时钟的设计在仿真过程中可能工作正常,但是综合时会出现问题; 含义:在时钟线上使用门控单元,使用门控逻辑使能信号开关时钟; 优点:能够有效减少功耗,当时钟被门控电路关闭后,门控时钟在根部将时钟关闭,该时钟网络和其中的寄存器都会停止翻转,从而减少功耗; 同步设计中的功耗来源: 在每个时钟边沿变化的组合逻辑所产生的功耗(由触发器驱动这些逻辑组合); 由触发器产生的功耗(及时在触发器的输入和内部状态不发生变化,该功耗仍存在); 时钟树产生的功耗(通常占到总功耗的50%);

主板......................非原创

南笙酒味 提交于 2020-01-15 22:27:47
主板 的英文名称叫做Motherboard,也可以译做母板。从“Mother”一词可以看出主板在 电脑 各个配件中的重要性。主板不但是整个电脑系统平台的载体,还负担着系统中各种信息的交流。好的主板可以让电脑更稳定地发挥系统性能,反之,系统则会变得不稳定。   主板的构成   主板的平面是一块PCB(印刷电路板),一般采用四层板或六层板。相对而言,为节省成本,低档主板多为四层板:主信号层、接地层、电源层、次信号层,而六层板则增加了辅助电源层和中信号层,因此,六层PCB的主板抗电磁干扰能力更强,主板也更加稳定。 主板组成 控制芯片组(CMOS芯片、 BIOS 芯片、南北桥芯片、RAID控制芯片 )、插槽部分,CPU插槽、内存槽、扩展总线插槽(ISA、PCI、AGP、CNR插)、主板电源插槽; 外设接口(COM口、LPT打印接口、音频接口(声音输入、声音输出、麦克风)、USB接口、CD音频线接口、PS/2接口(即 键盘口、鼠标口)、MIDI 接口、硬盘接口( IDE 接口、SATA接口 )、 软驱接口,跳线 );高速缓存 , 电池 等 典型的主板布局如下图,在电路板上面,是错落有致的电路布线;再上面,则为棱角分明的各个部件:插槽、芯片、电阻、电容等。当主机加电时,电流会在瞬间通过CPU、南北桥芯片、 内存 插槽、AGP插槽、PCI插槽、IDE接口以及主板边缘的串口、并口、PS/2接口等

06-如何选购电脑内存条?小白装机通俗易懂的电脑内存选购知识指南

浪尽此生 提交于 2020-01-12 08:19:11
内存是电脑中重要的硬件之一,它是与CPU进行沟通的桥梁,无论是电脑还是手机都有内存的,手机运存相当于电脑中的内存。我们在选购电脑内存的时候,通常我们只看内存的品牌和容量以及频率,对内存其它的参数不是太了解,今天装机之家就来介绍一下内存知识。那么如何选购电脑内存条?下面装机之家带来一篇小白装机通俗易懂的电脑内存选购知识指南,来看看吧! 小白装机通俗易懂的电脑内存选购知识指南 内存作用 内存有什么用?内存在电脑中的作用相当于一座桥梁,主要负责例如硬盘、主板、显卡等硬件上的数据与处理器之间数据交换处理,与硬盘不同的是,内存属于临时存储,速度也较快,电脑中所有运行的程序都在内存中运行的,您只要重启电脑,就会清空之前所打开的程序。当一款软件打开之后,数据就会存放在内存之中,速度超快的内存与CPU超高速度进行数据传输,这就是为什么你打开软件和游戏需要等待很久,而在软件使用和游戏中并不会卡顿的原因了,当我们关闭软件之后,清理后台进程的时候,内存的数据就会被清空了。 举个例子: CPU相当于大型加工中心,硬盘相当于仓库,而内存相当于加工中心的加工场地,当加工中心(CPU)需要加工某个产品的时候,那么就会从仓库(硬盘)提取相应物料到内存(加工场地),因为加工中心(CPU)和仓库(硬盘)之间运来运去比较麻烦,并且速度较慢,所以工厂有个规定,所有的加工中心(CPU)想要加工的物料必须要存放在内存

S3C2440时钟体系

∥☆過路亽.° 提交于 2020-01-11 10:32:11
注:以下内容学习于韦东山老师arm裸机第一期视频教程 一. 2440时钟简介 1.1 2440是一个SOC(system on chip)系统,不仅有很多CPU,还有很多外设,在2440芯片手册有系统框架图如下: 2440框架图中,不仅有CPU,而且有很多外设,其中外设分为两部分,一部分是AHB总线,一部分是APB总线 1.2 AHB总线 1.2.1 LCD控制器 1.2.2 USB控制器 1.2.3 NAND控制器 1.2.4 内存控制器 1.2.5 摄像头接口 1.2.6 中断控制器 1.2.7 电源管理等等 1.3 APB总线 1.3.1 UART 1.3.2 USB device 1.3.3 I2C 1.3.4 GPIO 1.3.5 RTC 1.3.6 ADC 1.3.7 定时器等等 1.4 因此引入了三个时钟,FLCK,HCLK,PCLK cpu工作与FCLK,最大工作频率400MHZ AHB总线工作于HCLK,最大工作频率136MHZ APB总线工作与PCLK,最大工作频率68MHZ 二.时钟的获取 2.1 2440时钟体系框图如下 2.2 时钟源的选择 从图中看出,时钟源有两个分别是外部晶振和引脚,通过OM[3:2]来选择,模式选择如下图 在2440的原理图上,可以看到OM3,OM2都接到了GND上,因此会选择使用外部晶振作为输入 2.3 时钟体系流程

处理器CPU运算位数

自作多情 提交于 2020-01-10 01:43:36
处理器CPU运算位数 CPU的位宽对CPU性能的影响绝不亚于主频。位宽是指微处理器一次执行指令的数据带宽。处理器的寻址位宽增长很快,业界已使用过4、8、16位寻址再到目前主流的32位,而64位寻址浮点运算已经逐步成为CPU的主流产品。 受虚拟和实际内存尺寸的限制,目前主流的32位CPU在性能执行模式方面存在一个严重的缺陷:当面临大量的数据流时,32位的寄存器(注:为了处理数据,暂时储存结果,或者做间接寻址等等动作,每个处理器都具备一些内建的内存,这些能够在不延迟的状态下存取的内存就称为“寄存器”,每个寄存器的大小都相同)和指令集不能及时进行相应的处理运算。 32位CPU一次只能处理32位,也就是4个字节的数据;而64位CPU一次就能处理64位即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位CPU(如Intel 80286 CPU)需要8个指令,32位的CPU需要4个指令,而64位CPU则只要两个指令。显然,在工作频率相同的情况下,64位CPU的处理速度比16位、32位的更快。 位宽原理示意图 可以比较一下图中的32位与64位CPU,64位的代码流的数量没有改变,其宽度随着指令代码的宽度而变化;而数据流的宽度则增加了一倍。虽然理论上在一个时钟周期内64位系统处理的数据量是32位系统的两倍,但理论和现实通常都是有差距的。