计算机系统漫游

编译系统

在这里插入图片描述

  • 预处理(Preprocessing)
    预处理器根据源代码中的预处理指令,如#include和#define等,将源代码转换为另一份源代码。预处理器的输出通常会保存在hello.i的文件中。
  • 编译(Compilation)
    编译器将预处理器生成的hello.i源代码转换为汇编语言代码,保存在hello.s的文件中。
  • 汇编(Assembly)
    汇编器将hello.s汇编代码转换为机器语言指令,并将结果保存在名为hello.o的目标文件(可重定位目标程序的格式)。
  • 链接(Linking)
    链接器将hello.o目标文件与标准库函数和其他依赖的目标文件进行链接,生成可执行文件hello(Windows中通常是hello.exe,其他系统可能没有拓展名,只叫hello)。可执行文件包含了所有程序的二进制指令和数据。

系统的硬件组成

在这里插入图片描述

I/O(待转移

I/O设备都通过控制器或适配器与I/O总线相连。

控制器和适配器之间的区别:
功能不同: 控制器是一种独立的设备,它包含了处理I/O设备请求的控制逻辑,能够直接与I/O总线进行通信。适配器是一种中间设备,主要的作用是将不兼容的I/O设备接口转换为计算机系统所支持的接口,以便计算机系统能够识别和控制这些设备。
设计不同: 控制器通常是一个独立的芯片或板卡,它集成了处理I/O设备请求的控制逻辑和与I/O总线通信的接口。适配器通常是一个小型设备,它包含了设备接口转换的电路和接口插口。
使用场景不同: 控制器通常用于控制和管理相对复杂的I/O设备,例如磁盘驱动器、网络适配器等。适配器通常用于连接较为简单的I/O设备,例如键盘、鼠标、打印机等。

CPU(待转移

CPU的核心是PC。任何时刻,PC都指向主存中的某条机器语言指令

操作系统的抽象表示

在这里插入图片描述

上下文

  • 编程语言:
    在编程语言中,上下文通常指代码执行的环境或上下文。例如,在 JavaScript 中,函数的上下文指函数执行时所在的对象上下文,也称为 this 对象。
  • 操作系统:
    在操作系统中,上下文通常指进程或线程的上下文,包括寄存器、程序计数器、堆栈指针等信息。在进行进程或线程切换时,需要保存当前上下文并加载新的上下文。
  • 数据库:
    在数据库中,上下文通常指查询的上下文环境,包括查询条件、表名、列名等信息。在进行数据库查询时,需要指定查询的上下文环境。
  • 用户界面:
    在用户界面中,上下文通常指用户当前操作的上下文环境,包括当前所在的应用程序、打开的窗口、当前选中的对象等信息。在进行用户交互时,需要考虑用户的当前上下文环境。

进程的虚拟地址空间

在这里插入图片描述

并发和并行

并发(Concurrency) 指的是多个任务交替执行的过程,这些任务可以是同时启动的,但并不一定同时执行,而是根据一定的调度策略进行交替执行。在并发执行的过程中,任务之间会发生切换,每个任务只能在某个时间段内被执行,然后再被暂停,等待下一次执行的机会。

并行(Parallelism) 则指的是多个任务同时执行的过程,这些任务可以是相互独立的,它们可以在不同的处理器核心或者多台计算机上并行执行,不需要等待其他任务的完成。在并行执行的过程中,每个任务拥有自己的执行环境和资源,不会互相干扰。

因此,尽管并发和并行的表述很相似,但是它们的含义是不同的。并发强调的是多个任务在有限的时间内交替执行,而并行则强调多个任务在同时执行,通过分配不同的资源,使得每个任务可以独立执行,从而提高计算效率。

超线程、超标量、SIMD

相同点:

通过并行执行多个指令或多个数据项,提高了处理器的执行效率和吞吐量。

都需要在处理器硬件中增加额外的执行单元和相关支持逻辑,以支持并行执行多个指令或数据项。

都可以在不增加处理器频率的情况下提高处理器性能。

不同点:

超线程主要是通过在处理器的物理核心中模拟多个逻辑核心,以提高处理器的并发度和资源利用率。而超标量和SIMD则是通过在处理器硬件中增加多个执行单元来提高指令吞吐量和数据处理能力。

超线程和超标量都是针对指令级并行(ILP)优化的技术,即在同一时间内执行多个指令。而SIMD则是针对数据级并行(DLP)优化的技术,即在同一时间内对多个数据项执行相同的操作。

超线程和超标量需要对指令进行调度和数据依赖检测,以确保指令能够正确地执行。而SIMD则不需要进行指令调度和数据依赖检测,因为所有数据项执行相同的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226538.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光伏电站开发流程

随着人们对可再生能源的关注度不断提高,光伏电站的开发流程也变得越来越重要。光伏电站是一种利用太阳能发电的设施,它可以有效地减少化石能源的消耗,同时也可以为环保事业做出贡献。 首先,要进行光伏电站的开发,需要选…

MindStudio学习记录三:推理应用开发 acl mindx sdk

1.推理应用流程 1.1.创建工程 1.2.模型转换 1.3代码开发 1.3.1ACL代码 1.3.2MindX SDK开发 可视化模块化设计 中间的图片与处理 是基于AIPP的可视化处理 1.5.编译 交叉编译 1.6.运行与调试 1.7 调优工具 profiling性能分析 2.开发举例 resnet-50 2.1 准备工程 2.2.准备模型…

必备极速下载工具 — aria2

必备极速多线程并行下载工具 — aria2 aria2 是一款免费开源跨平台且不限速的多线程下载软件,其优点是速度快、体积小、资源占用少;支持 HTTP / FTP / BT / Magnet 磁力链接等类型的文件下载;支持 Win、Mac、Linux 系统,甚至在树莓…

学习笔记:如何分析财务报表

其实财务报表分析最核心的东西,是通过财务报表这个结果,由果推因,找出造成这个结果的原因。 会计是商业的语言 首先第一个问题是——会计是商业的语言,这是会计的根本。 什么叫“语言”,就是可以通过它进行交流。比如…

企业级开发链表思路

项目结构 头文件代码 头文件代码LinkList.h #ifndef LINKLIST_H #define LINKLIST_H #include <stdio.h> #include <stdlib.h> #include <iostream> // 链表小节点 typedef struct LINKBODE {struct LINKBODE* next;}LinkNode; // 遍历的函数指针 typedef …

Python基础:标准库概览

1. 标准库介绍 Python 标准库非常庞大&#xff0c;所提供的组件涉及范围十分广泛&#xff0c;正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写)&#xff0c;Python 程序员必须依靠它们来实现系统级功能&#xff0c;例如文件 I/O&#xff0c;此外还有大量以 Pyt…

数字电源为什么一般用DSP控制,而不能用普通的单片机?

数字电源为什么一般用DSP控制&#xff0c;而不能用普通的单片机&#xff1f; 首先你要清楚&#xff0c;数字电源需要一个芯片具备什么功能&#xff1f; 1 能发PWM波 &#xff0c;并且具备保护关断功能&#xff1b; 电源对PWM发波 要求很高&#xff0c;精度要ns级甚至ps级的&…

你敢信?四行Python代码就能知道你那的天气!

今天给大家带来的Python实战项目是四行Python代码获取所在城市的天气预报&#xff0c;我们隐隐听到唏嘘声&#xff0c;不信四行Python代码可以获取是吗?那我们一起来看看&#xff1a; 四行Python代码就能知道你那的天气&#xff0c;你敢信&#xff1f; 使用Python获取天气预报…

【Linux】yum -- 软件包管理器

目录 一、Linux中是如何安装软件的 1.1 安装的方法 1.2 安装的本质(基本理解) 二、软件包 2.1 软件包的概念 2.2 为什么要有软件包 三、yum--软件包管理器 3.1 yum的概念 3.2 yum的使用 3.2.1 搜索一个软件 3.2.2 安装一个软件 3.2.3 卸载一个软件 3.3 yum源更新 …

图书管理系统源码,图书管理系统开发,图书借阅系统源码配置和运行图解源码已附加

目录 配置简介和软件条件 数据库附件配置 vs应用程序web.config配置数据库链接字符串 数据库文件脚本代码 配置简介和软件条件 所需要的软件是Vs2017以上数据库是Sqlserver2012以上,如果数据库附件不了可以使用数据库脚本附件数据库脚本会在文章末尾写出来。可以直接复制到…

51单片机项目(17)——基于51单片机的双机通信系统

1.功能设计 本次实现的功能如下&#xff1a; 发送端通过串口向接收端循环发送字符0~F&#xff0c;并且实时显示在数码管上 接收端通过串口接收数据&#xff0c;将接收到的数据实时显示在数码管上。 &#xff08;需要完整工程的移步至最后 包括发送端代码 接收端代码 仿真图…

vue+uniapp校园寻物失物招领平台 微信小程序1f6z5

系统中的核心用户是管理员&#xff0c;管理员登录后&#xff0c;通过管理员菜单来管理后台系统。主要功能有&#xff1a;首页、个人中心、用户管理、物品分类管理、物品信息管理、物品归还管理、留言板管理、系统管理等功能。管理员用例如图3-7所示。 对于本网上失物招领小程序…