CPU的设计原理?CPU有哪几部分组成?CPU为何有32位和64位之分?CPU位数到底和数据总线有关还是和地址总线有关?什么是数据总线?什么是地址总线?

这篇具有很好参考价值的文章主要介绍了CPU的设计原理?CPU有哪几部分组成?CPU为何有32位和64位之分?CPU位数到底和数据总线有关还是和地址总线有关?什么是数据总线?什么是地址总线?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

宁可思一近,莫在思一停。


前言

本文目的在于为想要转硬件方向的程序员解释CPU的设计原理及组成,数据总线地址总线与CPU位数的关系。


一、CPU和总线示意图

站在程序员的角度学习CPU设计原理

cpu设计原理,嵌入式,计算机基本原理,内存,arm开发,学习,linux

上图总体其实为SoC片上系统,但是一直叫被叫成CPU叫习惯了,准确来说里面的才是CPU

可以认为一个CPU里分成三部分:运算器、控制器、寄存器,真实CPU里不止这三个部分,还有时钟系统等。

二、CPU的组成

2.1 运算器

CPU对信息进行处理和运算的部件,常进行算术运算和逻辑运算,核心是算术逻辑单元ALU
CPU中用各种数字电路搭配成各种运算电路,如加、减、乘、除、取余、左移、右移等。

【示例】:加法运算器

32 位处理器一次只能进行 32 位数据的处理

cpu设计原理,嵌入式,计算机基本原理,内存,arm开发,学习,linux

2.2 控制器

控制器:整个计算机的指挥中心。

CPU的取指、译码、运行都是由控制器控制的。

2.3 寄存器

寄存器是CPU里快速的临时内存,用来暂存从外部读取的数据。

CPU内部是没有内存的,内存在外面,比如FlashDDR

三、存储器

一个系统的运行必须有三部分:CPUFlashDDR

3.1 Flash

Flash就相当于电脑的硬盘,用来存储程序,程序躺在Flash里是不动的。

Flash通过总线和CPU连接,需要时通过总线读取到CPU的寄存器中。

3.2 DDR

RAMRandom Access Memory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。

DDR本质上是RAM
DDRDouble Data Rate SDRAM的缩写(双倍数据速率)

程序要在DDR中运行,Flash中的内容是不能直接到DDR中的,必须要通过寄存器来中转。

CPU先将Flash中的内容读到寄存器中,再放到DDR中,在DDR中运行。

四、内部外设

CPU通过内部总线连接到串口控制器上,串口控制器就是前面所说的内部外设。

串口控制器本来和FlashDDR一样的,但随着半导体工业的发展,串口控制器跑到SoC里面去了。

内部总线和外部总线的区别:
内部总线在芯片的内部,其的速度更快,抗干扰能力更强。
外部总线受限于PCB板的布线,速度不会太快。

五、地址总线和数据总线

地址总线传输的是地址;数据总线传输的是数据。

地址总线和数据总线可以合二为一,但是速度会慢。

  1. CPU通过地址总线寻址,然后通过数据总线与外部设备互换信息。

  2. 地址总线的位数决定CPU寻址范围;数据总线的位数决定CPU单次通信能交换的信息数量。

    CPU的位数取决于数据总线,而不取决于地址总线。

  3. 总线的速度决定CPU和外设互换信息的速度。

5.1 地址总线

cpu设计原理,嵌入式,计算机基本原理,内存,arm开发,学习,linux

5.2 数据总线

数据总线的位数实际上就是CPU的位数。

32 位的CPU有 32 根数据总线,CPU每次能够读/写 32 位的数据。
如果要写一个 16 位的short,会将 16 位的short放到 32 根数据总线中的一半,剩下的 16 根数据总线空跑。
即每次运送一个short或一个intCPU的性能开销是一样的。
所以 C语言 编程中能使用int尽量使用int,使用short并不会减少CPU的性能开销。

5.3 注意

  1. CPU的地址总线位数和数据总线位数是可以不同的(典型代表就是 51单片机),但一般都是相同的。

    51单片机是 8 位的,有 8 根数据总线,但它有 16 根地址总线。

  2. CPU的位数指的是数据总线的位数,不是地址总线的位数。

  3. 地址总线是 32 位的CPU寻址的范围是4G,所以最多支持4G内存。

  4. 数据总线是 32 位,所以内存是 32 位的好,所以编程最好用int,匹配的时候效率是最高的。

总结

尽信书而不如无书。请同志们带着审视的态度来看此文章,人都是会犯错的;带着不信任感去审视它;如果它是对的,你就会越发觉得它对;如果它是错的,你就会在辩证中得到真理。

宁可一思进 莫在一思停:在搏斗中须树立克敌制胜的信念,突出战斗进取精神。在搏斗中,只能思进,不能思存,更不能思退!一旦思存思退,斗志先馁,便没胜利的希望了。比武的时候,一思一念间,宁进不停。停下来反应的一瞬间,说不定你已经输了。

学习亦是如此,把惰性和拖延当做自己的敌人,和它们拼个你死我活。文章来源地址https://www.toymoban.com/news/detail-603282.html

到了这里,关于CPU的设计原理?CPU有哪几部分组成?CPU为何有32位和64位之分?CPU位数到底和数据总线有关还是和地址总线有关?什么是数据总线?什么是地址总线?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源表单系统有哪几大优点?

    需要提高办公协作效率,可以利用低代码技术平台。它拥有传统表单制作无法带来的优势和特点,在提高数据利用率和打通信息孤岛方面作用明显,是提质增效的有力武器。流辰信息是专业性强的低代码技术平台服务商,研发能力强,可以为广大用户提供专业的开源表单系统

    2024年01月17日
    浏览(36)
  • 电子商务有哪几种模式

    电子商务通常是指在全球各地广泛的商业贸易活动中,在因特网开放的网络环境下,基于客户端/服务端应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活

    2024年02月13日
    浏览(59)
  • 【Java】线程都有哪几种状态

    首先我们要知道,在传统(操作系统)的线程模型中线程被分为五种状态,在java线程中,线程被分为六种状态。 线程的五种状态: 新建(new) 创建了一个新的线程对象 就绪(runnable) 调用线程的start()方法,处于就绪状态 运行(running) 获得了CPU时间片,执行程序代码 就绪

    2024年02月09日
    浏览(58)
  • 机器视觉工程师,有哪几种类型

    1.光学实验室(打光机器视觉工程师,一般此职位,要求有光学学历的背景最佳) 2.机器视觉算法开发工程师(此职位国内稀缺)3.机器视觉工程师/机器视觉开发工程师(MV工程师/MV工程师)(国内岗位需求量最多的) 3.机器视觉工程师/机器视觉开发工程师(MV工程师/MV工程师

    2024年02月10日
    浏览(57)
  • 运行 Spring Boot 有哪几种方式?

    目录 一、打包用命令或者放到容器中运行 二、用 Maven 插件运行 三、用  Gradle 插件运行 四、直接执行 main 方法运行   通过打包和放到容器中运行SpringBoot项目有以下几种方式: 打包为Jar文件: 使用Maven或Gradle等构建工具,执行打包命令将SpringBoot项目打包为可执行的Jar文件。

    2024年02月13日
    浏览(52)
  • 计算机组成原理3个实验-logisim实现“七段数码管”、“有限状态机控制的8*8位乘法器”、“单周期MIPS CPU设计”。

    目录 标题1.首先是七段数码管   标题二:有限状态机控制的8*8位乘法器 标题三:单周期MIPS CPU设计 1看一下实验要求:    2.接下来就是详细设计: 1. 组合逻辑设计        由于7段数码管由7个发光的数码管构成,因为我们想用二进制将0-9这几个数字表示出来。所以他需要

    2024年01月17日
    浏览(50)
  • CRM系统销售漏斗有哪几个阶段?

      企业获取客户、销售和转型是一个长期的过 程。CRM客户管理系统的销售漏斗可 以拆分销售过程的各个阶段, 异常时 显 示 是 哪个销售环节出现 了 问题, 并 及时进行调整,提高销售效率。 那么, CRM 系统销售漏斗分为哪几个阶段? 一、建立认知阶段 企业从各个渠道获取

    2024年02月08日
    浏览(40)
  • 面试必问:RabbitMQ 有哪几种消息模式?

    原文:juejin.cn/post/6998363970037874724 Rabbitmq 是使用 Erlang 语言开发的开源消息队列系统,基于 AMQP 实现,是一种应用程序对应用程序的通信方法,应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。消息传递指的是应用程序之间通过在消息中发送数据进行通信

    2024年02月06日
    浏览(53)
  • MySQL基础扎实——MySQL中有哪几种锁

    在MySQL中,常见的锁包括以下几种: 表级锁(Table-level Lock) :表级锁是对整张表进行锁定,可以分为两种类型: 共享锁(Shared Lock) :也称为读锁(Read Lock),多个事务可以同时持有共享锁,且不互斥。共享锁适用于读操作,不阻塞其他事务的读操作。 排他锁(Exclusive L

    2024年02月15日
    浏览(52)
  • 有哪几种行为会导致服务器被入侵

    导致服务器被入侵的行为有很多种,以下是一些常见的行为: 系统漏洞:服务器操作系统或软件存在漏洞,攻击者可以通过利用这些漏洞获取系统权限,从而入侵服务器。 弱口令:服务器的账号密码过于简单或者未及时更新,攻击者可以通过暴力破解等手段获取系统权限,

    2024年02月22日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包