b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

一个单核CPU架构实现哪些指令集(上)

电脑杂谈  发布时间:2021-05-06 02:00:53  来源:网络整理

1945年,天才科学家冯·诺伊曼(von Neumann)提出了一种计算机设计和实现体系结构,为现代计算机奠定了理论基础。冯·诺伊曼(von Neumann)架构有几个主要部分:

下面将简要描述CPU,指令和控制单元的概念。除了冯·诺依曼体系结构之的电子产品中,并且相对知名。此时,CPU成本和散热成为一个大问题,主频率难以超过10GHz。为了获得更快的计算速度和更好的性能,芯片设计人员决定绕过主频率,采用人群策略,并向CPU添加多个内核。

核心是可以运行指令的独立单元。它包含上述ALU和寄存器,并配备了L1和L2高速缓存。多个内核共享L3缓存。

计算机cpu的工作原理

多核和缓存

上图是多核处理器的电路图。每个核心旁边的黑色圆圈是L1和L2缓存。可以看出,各种类型的Cache占用CPU很大的空间。

计算机cpu的工作原理

计算机cpu的工作原理_计算机组成原理 cpu_计算机组成原理cpu设计

多处理器多核结构

高性能服务器通常可以支持多个处理器并提供更多的计算核心。支持单个CPU的服务器称为单路服务器,支持两个CPU的服务器称为两路服务器,支持四个CPU的服务器称为四路服务器。上图显示了英特尔的四向体系结构。系统支持四个CPU。如果每个CPU具有8核,则系统可以提供32核计算能力。

线程和进程

以上是所有计算机硬件知识,线程和进程是操作系统创建的用于控制这些硬件的软件概念。

计算机cpu的工作原理

线程和进程

进程具有单独的计算资源,例如内存空间。

线程(线程)是进程的子集。默认情况下,进程启动一个线程。您还可以通过多线程编程来启动多个线程,并且多个线程共享共享进程的资源。

在出现多核体系结构之前,CPU只能在特定时间执行特定程序,而不能并行化。就像人们在某一时刻只能做一件事一样,“吃火锅唱歌”是不可能的,因为这两种活动都占用了他们的嘴巴。如果您想做其他事情,则必须停止其中之一。

在多核体系结构出现之前,CPU只能在特定时间执行特定程序,并且不能并行化。就像人们在某一时刻只能做一件事一样,“吃火锅唱歌”是不可能的,因为这两种活动都占用了他们的嘴。如果您想做其他事情,则必须停止其中之一。

计算机cpu的工作原理

单核单线程

如前所述,CPU处理速度为纳秒级,并且速度非常快。因此,在单核时代,为了同时处理多个任务,CPU首先在吃东西时先“吃火锅”,然后“唱一首歌”。唱歌时,多线程以这种形式实现。单个CPU每次都会切换不同的线程任务,这将招致一些资源开销。在吃饭和唱歌之间,人们总是必须休息一下!在CPU上快速切换多个任务就像为用户同时执行多个任务一样。

计算机cpu的工作原理_计算机组成原理 cpu_计算机组成原理cpu设计

以Web浏览器为例。当浏览器打开网页时,通常需要下载网页中的资料并将其呈现到漂亮的屏幕中。在单核方案中,时间被划分为不同的片段,并且一定的时间段只能用于渲染,缓存或下载中的一项任务。每个任务都有一个优先级,CPU首先执行高优先级的任务。例如,当浏览器打开一个新网页时,它需要尽快显示该网页。背景音乐下载相对较慢。您可以等待网站呈现后再下载,因此有时背景音乐比网页晚半分钟。

计算机cpu的工作原理

多核和多线程

多核体系结构为用户提供了可以独立计算的多个核,这也意味着计算机可以同时并行执行多个任务,即并行计算(并行计算)。然后,Web浏览器使用一个内核来渲染网页,另一个内核则缓存其他材料,第三个内核下载背景音乐。

计算机cpu的工作原理

使用htop查看CPU和内存利用率

上图是我的macOS性能监控软件(htop)。 Windows上的类似软件是任务管理器。图片绿色栏的上部显示了当前的8个CPU内核和内存利用率,绿色栏的下部是我启动的多个进程。蓝色的是我的Chrome浏览器的进程。我还启动了Photoshop等软件。

当多个内核处理同一任务时,很可能会使用同一数据,并且可能会发生数据读写问题。

计算机cpu的工作原理

线程安全问题

例如,如果执行操作i = i + 1,则如果两个线程在短时间内将一个加到变量i,则该变量应加两次。因为两个线程之间的时间太短,再加上前面提到的缓存机制,所以计算过程和临时结果仍在寄存器和L1缓存中,没有时间写入主内存。线程B读取较旧的数据,因此发生数据不一致。这种问题称为线程安全问题。通常需要使用锁来处理线程安全性问题。

本专栏将在以后的文章中分享多线程编程和线程安全的特定情况。

摘要

现代CPU通常使用高速缓存来解决CPU对主内存的读写速度慢的问题。使用多个内核执行并行计算以加快程序执行速度。并行计算通常需要多线程技术,而如何操作多线程则对程序员构成了挑战。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-373340-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 乔祥迁
        乔祥迁

        物价也将更便宜

      • 山风
        山风

        一般都是藏起来当祖国遭到毁灭打击核潜艇可以还击的一种威慑

      热点图片
      拼命载入中...