网站建设与管理技术发展,福建省建设厅网站建造师证转出,中企动力做网站收费标准,视频网站的建设目标编译系统 预处理#xff08;Preprocessing#xff09;#xff1a; 预处理器根据源代码中的预处理指令#xff0c;如#include和#define等#xff0c;将源代码转换为另一份源代码。预处理器的输出通常会保存在hello.i的文件中。编译#xff08;Compilation#xff09;Preprocessing 预处理器根据源代码中的预处理指令如#include和#define等将源代码转换为另一份源代码。预处理器的输出通常会保存在hello.i的文件中。编译Compilation 编译器将预处理器生成的hello.i源代码转换为汇编语言代码保存在hello.s的文件中。汇编Assembly 汇编器将hello.s汇编代码转换为机器语言指令并将结果保存在名为hello.o的目标文件可重定位目标程序的格式。链接Linking 链接器将hello.o目标文件与标准库函数和其他依赖的目标文件进行链接生成可执行文件helloWindows中通常是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则不需要进行指令调度和数据依赖检测因为所有数据项执行相同的操作。