计算机基础详解

一、CPU
  1、指令集的分类:指令集分为复杂指令集和精简指令集。

  2、x86-64的CPU:

    x86即CPU的型号,CPU一次能从存储设备里面取的指令数,比如现在常用的为64,即代表64个bits(高低电频)。

    具有向下兼容性,即不超过CPU一次取指数的程序皆可运行(如64位的CPU可运行64位的程序,也可运行32位的程序)。

  3、内核态和用户态:

    代表CPU的两种工作状态:

      ①内核态:操作系统运行,可以操作计算机硬件,同时调用了CPU的运算功能和控制功能。

      ②用户态:应用程序运行,不可操作计算机硬件,只是调用了CPU的运算功能。

    内核态和用户态的频繁切换:

      应用程序运行时,应处于用户态,但其势必需要涉及到计算机硬件的操作,因其无法直接控制硬件,当需求发生时,

      会向操作系统请求硬件操作,此时切换至内核态,由操作系统控制硬件,操作完成后再切回用户态。

  4、多核芯片和多线程:

    随着计算机技术的进度,一个CPU可以作为多个CPU使用,此为多核。

    在此基础上,每个作为核心的CPU上可以同时进行多个线程,模拟多个CPU的运行,此为多线程。

    例如,某CPU为4核8线程,即代表此CPU有4个核的,每个核有2个线程,即为假8核,性能低于真8核而高于4核。

二、存储器

  1、分类:

    寄存器:使用CPU相同材质制作,成本高,容量小,速度非常快,用于存储CPU立即需要使用的指令。

    高速缓存:速度高于内存而小于寄存器,容量小于内存而高于寄存器,用于存储使用频繁较高的指令。

    内存(RAM):计算机其他所有部件的IO操作都需要经过内存,因而也称为主存。

(未完)

          

原文地址:https://www.cnblogs.com/caoyu080202201/p/12402098.html

时间: 2024-08-29 13:08:39

计算机基础详解的相关文章

python学习之计算机基础详解

1.CPU详解 ·型号(x86-64) ? x86是指的CPU的型号,这种型号的CPU采用的是x86架构. ? 64是指CPU一次能够从内存中接受64位二进制数据:CPU具有向下兼容性,64位的CPU既能运行32位的程序也能运行64位的程序. ·内核态与用户态 ? CPU最核心的部分为控制其他硬件的指令集,指令集分为控制指令集和运算指令集: 当计算机运行操作系统的代码时,所有指令集都开放,此时称为CPU的内核态: 当计算机运行应用程序的代码时,只开放运算相关的指令集,此时称为CPU的用户态. ?

操作系统基础详解

********操作系统基础详解******** ****手工操作--穿孔卡片**** 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式.此时还没有操作系统的概念. 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存, 接着通过控制台开关启动程序针对数据运行:计算完毕,打印机输出计算结果:用户取走结果并卸下纸带(或卡片) 后,才让下一个用户上机. 手工操作方式两个特点: (1)用户独占全机.不会出现因资源已被其他

Swift学习——Swift基础详解(四)

A:小儿编程很不好! B:多半是不爱学,从看英文版开始,让你爱上编程! Type Aliases    类型重定义(typedef) Swift中重定义类型的关键字是typealias,至于怎么用,应该不必多说了,看例子: typealias AudioSample = UInt16 //定义了一个类型名称AudioSample,代表UInt16类型 var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound is now 0 Boo

Swift学习——Swift基础详解(一)

注:由于基础部分在Swift Tour 中已经大体的说明了,所以在详解中不会达到100%的原文释义 Constants and Variables  常量和变量 常量和变量都需要声明名称和类型(作为程序员,这些基础也就不说了),常量一次赋值不能改变,变量的值可以改变 Declaring Constants and Variables   声明常量和变量 常量和变量在使用之前必须要声明,使用let关键字定义常量,var关键字定义变量 下面的例子可以用来定义用户登录的时候最大的尝试次数: let m

Swift学习——Swift基础详解(二)

上节说了没有营养的变量和常量,这玩意,都差不多,自己稍微看下就好了 Integers    整型 整数就是整数了,没有小数,整数有符号(+,-,0)或者无符号(0,+) Swift提供了8,16,32,64位的有符号和无符号的整数,命名使用C的方式,比如,8位无符号的整型UInt8,32位有符号的整型就是Int32 Integer Bounds    整型范围 可以使用min 和 max获取整数类型的最大值和最小值 let minValue = UInt8.min // minValue is

HAProxy:基础详解

一.简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. HAProxy实现了一种事件驱动.单一进程模型,此模型支持非常大的并发连接数.多进程或多线程模型受内存

Swift学习——Swift基础详解(三)

小葵花课堂继续开讲 Numeric Literals    数字文本 数字文本有以下几种写法: A decimal number, with no prefix A binary number, with a 0b prefix An octal number, with a 0o prefix A hexadecimal number, with a 0x prefix 十进制数,无前缀:二进制数,0b前缀:八进制数,0o前缀:十六进制数,0x前缀 论数字17的N种表现形式: let deci

Swift学习——Swift基础详解(八)

Assertions    断言 可选可以让你判断值是否存在,你可以在代码中优雅地处理值缺失的情况.然而,在某些情况下,如果值缺失或者值并不满足特定的条件,你的代码可能并不需要继续执行.这时,你可以在你的代码中触发一个断言(assertion)来结束代码运行并通过调试来找到值缺失的原因. Debugging with Assertions    使用断言进行调试 断言会在运行时判断一个逻辑条件是否为true.从字面意思来说,断言"断言"一个条件是否为真.你可以使用断言来保证在运行其他代

Swift学习——Swift基础详解(六)

Optionals    选配 选配(好像不是这么翻译的)适用于那些值可能为空的情况,一个选配有两种情况:存在值并且等于x,或者值不存在. 选配的概念在OC和C里面并没有,在OC中最接近的概念就是:OC中的返回值为对象的函数,当对象不存在的时候,可以返回nil,但是nil只能代表对象,不可以代表基础类型或者结构体和枚举类型.OC中使用NSNotFound表示值不存在.在Swift中,不需要使用其他的类型表示不存在的值. 举个例子: 在Swift中,String类型有一个方法叫做toInt,但是并