X86知识、嵌入式系统、Linux开发流程、自动化知识

X86基础知识


基础换算:
Mbps 即 Milion bit pro second(百万位每秒);
Kbps 即 Kilobit pro second(千位每秒);
bps 即 bit pro second(位每秒);
速度单位,bit即比特,通常用b(小写)表示,指一位二进制位,Milionbit=1000Kilobit=1000000bit;
所以1Mbps=1000 000bps;
这是通常用来衡量带宽的单位,指每秒钟传输的二进制位数;
而通常软件上显示的速度则是指每秒种传输的字节数(Byte)通常用B(大写)表示;
MB即百万字节也称兆字节;
KB即千字节;
B即字节;
之间关系为1MB=1024KB=1024*1024B;
1B=8b;
所以1M带宽即指1Mbps=1000Kbps=1000 / 8 KBps =125 KBps;
因此1M的带宽下载的速度一般不会超过125KB每秒。
2M、3M带宽分别是250 KBps、375 KBps;
2M、3M带宽的下载速度分别不会超过250KB、375KB每秒。

ASCII码: 一个英文字母(不分大小写)占据一个字节,一个中文汉字占据2个字节,一个二进制的数字序列,作为计算机中的一个数字单元,一般为 8位二进制。

存储单位和网速的单位,不管是 B 还是 b ,都是代表字节 Byte
带宽的单位,不管是 B 还是 b,都是代表 比特 bit

X86的含义: X86是基于Intel处理器的系统的标准缩写。X与处理器没有任何关系,它是对所有*86系统的简单的通配符定义,是Intel通用计算机系列的编号,也标识一套通用的计算机指令集合。由于早期的Intel的CPU编号都是8086,80186-80486等来编号,而且都是兼容的,所以就直接用X86标识所使用的指令集合。

X86与X64的区别
8086是16位处理器,直到1985年32位的80386开发,这个架构都维持在16位。2003年AMD对这个架构发展了64位的扩充,后来Intel也推出了与之兼容的处理器,并命名为Intel64,这种架构被称为 IA-64,IA-64是一种崭新的系统,和X86架构完全没有相似性,不要混淆。

CPU的定义
中央处理器,central processing unit ,Intel 公司有 奔腾、赛扬、酷睿;AMD公司有 速龙、闪龙、翼龙
不同型号的处理器区别在于 核心数、功率、三级缓存、工艺的不同
主频换算: 1GHz = 1000MHz, 1MHz = 1000kHz, 1kHz = 1000Hz
缓存:缓存大小是CPU的重要指标之一,缓存的容量增大,可以大幅度的提升CPU内存读取数据中的命中率,而不需要再到内存或硬盘中寻找,以提高系统性能。

Chipset (芯片集) 的含义
Chipset是主板的核心组成部分,如果说CPU是整个电脑系统的心脏,那么芯片组将是整个身体的躯干。对于主板而言,芯片组几乎决定了这块主板的功能,进而影响到整个电脑系统性能的发挥,芯片组是主板的灵魂。芯片组性能的优劣,决定了主板性能的好坏与级别的高低。主板芯片组 几乎决定着主板的全部功能,其中CPU的类型,主板的系统总线频率,内存类型,容量和性能,显卡插槽规格 是由芯片组中的北桥芯片决定的;而扩展槽的种类与数理、扩展接口的类型和数量(如USB,串口IEEE1394,并口)等,是由芯片组的南桥决定的。还有些芯片组由于纳入了3D加速显示(集成显示芯片)AC 97 声音解码等功能,还决定着计算机的系统的显示性能和音频播放性能。

BIOS含义:
BIOS是英文 Basic Input Output System 的缩写,就是 基本输入输出系统。其实它是一组 固化到计算机内主板上一个 ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。
CMOS与BIOS的区别:在计算机领域,CMOS常指 保存计算机基本启动信息(如日期、时间、启动设置等)的芯片。有时人们会把CMOS和BIOS混称,其实 CMOS是主板上的一块可读写的并行或串行FLASH芯片,是用来保存BIOS的硬件配置和对用户的某些参数设定。

BIOS的分类:
目前市面上流行的主板BIOS主要有 Award BIOS、AMI BIOS、Phoenix BIOS三种类型。
开机LOGO
系统启动时屏幕上显示的画面,是可以更换的,但是这个LOGO图片需要特定的属性的,需要 640*480,16位色BMP文件才可以。

IO:I/O 输入输出的缩写,分为 IO设备 和 IO接口两个部分。 IO的功能主要包括负责从键盘、鼠标、串行接口等设备传来串行数据,将它们转换成为 并行数据,同时也负责 并行接口、软驱接口的数据传输与处理。

串口:
串行接口,也称串行通讯接口(通常指COM接口,通常COM1使用9针D形连接器,也称为RS-232接口),是采用串行通信方式的扩展接口。串行接口(serial interface)是指数据一位一位的顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),降低成本,特别适用于远距离通信,但传送速度较慢。

串口标准:典型的标准有 RS485,RS422,RS232。这种标准是一种电气标准,它们定义了电压,阻抗等,但不对软件协议给予定义。

与并口的区别:
串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)的数据。但并不是说并口快,由于8位通道直接互相干扰(串扰),传输速度就会受到限制,传输容易出错。串口 没有互相干扰,并口同时发送的数据量大,但要比串口慢。串口硬盘就是这样被人们重视的。

BUS
总线BUS 是计算机各个功能部件之间传输信号的公共通信干线,它是由导线组成的传输线束。总线是一种内部结构,它是CPU、内存、输入、输出设备信息传递的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。
BUS分类:
数据总线 data bus 地址总线 address bus 控制总线 control bus
常见总线:
USB 通用串行总线:
USB1.0: 1.5Mbps、USB2.0: 480Mbps、USB3.0: 5Gbps (640MB / s)

X86知识、嵌入式系统、Linux开发流程、自动化知识_第1张图片

RAID
RAID是 redundant array of independent disk的缩写,中文意思是 独立冗余磁盘阵列,简称磁盘阵列。RAID的规范有 RAID0、RAID1、RAID5和RAID7等。

X86知识、嵌入式系统、Linux开发流程、自动化知识_第2张图片



X86 架构是最早由 Intel提出的,简单的说,CPU、主板、北桥、南桥、内存、硬盘、显卡、网卡、声卡、总线、接口、键盘、鼠标、显示器、电源及插槽组成了PC。当主机通电时,电流会瞬间通过 CPU、南北桥芯片、内存插槽、PCI插槽、SATA接口及主板边缘的串口、并口、PS/2接口等,然后主板根据BIOS识别硬件,进入操作系统,实现整台PC的功能。
X86知识、嵌入式系统、Linux开发流程、自动化知识_第3张图片

North Bridge
北桥是主板芯片组中起主导作用的最重要组成部分,是主板上离CPU最近的一块芯片,主要负责处理CPU、RAM、AGP端口和南桥芯片之间的通信。

FSB、DMI、LCP
FSB:front side bus 是将CPU连接到北桥的总线。DMI: direct media interface 是连接主板南北桥的总线。 LPC: low pin count 取代ISA总线,是连接south bridge和super I/O的总线。

South bridge
南桥芯片是主板芯片组的重要组成部分,主要负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等。

Hard Disk
硬盘是电脑主要的存储媒介之一,分为固态应聘SSD、机械硬盘HDD、混合硬盘HHD。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合hybrid hard disk是二者结合。

IDE
Integrated Drive Electronics,即 电子集成驱动器,是现在普遍使用的外部接口,主要接硬盘和光驱。IDE接口的优点是价格低廉、兼容性强,缺点是速度慢、线缆长度过短、连接设备少。

ACHI
Advance Central High Interface,中央高级高频接口,它描述了一种PCI类设备,AHCI 本质是一种PCI 类设备,在系统内存总线和串行CPU设备内部 逻辑之间扮演一种通用接口的角色,它在不同操作系统和硬件中是通用的,AHCI 支持设备热插拔已经增强性能的本地指令序列技术。

串行和并行:数据传送方式不同,串口传输方式为数据排成一排,一位一位的送出,接收也一样,并口传送8位数据一次送出。串口针脚少,并口针脚多。串口多用于控制接口,并口多用于打印机、扫描仪等接口。串口一般指硬件上的COM接口,一般PC主板都提供两个串口,而并口,一般就是打印机接口。串口传输速度慢,但费用低,并行适合短距离,但速度快。

RAID
Redundant Arrays of Independent Disks,独立磁盘冗余阵列是把 相同的数据存储在多个硬盘的不同的地方的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。磁盘阵列其样式有三种:一是外接式磁盘阵列柜、二十内接式磁盘阵列卡,三是利用软件来仿真。

USB:Universal Serial BUS,通用串行总线是一个 外部总线标准,用于规范电脑与外部设备的连接和通讯。USB传输速度快(USB2.0是480Mbps,USB3.0是5Gbps),几乎可用于所有外部设备。

SPI:
serial peripheral interface 即串行外设接口,SPI总线系统是 一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR、状态寄存器SPSR、数据寄存器SPDR。外围设备包括 FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。

Audio、Slots、CMOS
Audio即受南桥控制的音频和视频设备的接口;Slots即通过PCIE总线接口标准与南桥相连接的各种扩展槽;CMOS,complementary metal oxide semiconductor 即互补金属氧化物半导体,电压控制的一种放大器件,是计算机中保存基本启动信息(如时间、日期、启动设置)的芯片。

Ethernet
即以太网,这里是受主板上南桥控制的网络接口

Super I/O
Super I/O芯片也叫 I/O芯片,通过LPC总线与南桥进行通信,负责提供串行、并行接口、软盘、光驱动器USB及键盘鼠标等控制接口。在南桥这样的高速设备和串行、并行接口、软盘驱动器光驱动器USB及键盘鼠标等大量设备之间必定存在资源的不匹配,而需要经过转换和管理。而Super I/O 芯片则完成了该功能。

COM、Floppy
这里的COM指的是计算机主板上的串行通讯接口,微机上的COM口通常是9针,也有25针接口,最大速率115200bps。通过用于连接鼠标(串口)及通讯设备(如外接外置式MODEM进行数据通讯或一些工厂的CNC机接口)等。Floppy指软盘,是早期可移介质,软盘的读写通过软盘驱动器完成的。

LPT、PS/2、UART

line print terminal 即打印终端,LPT接口一般用来连接打印机或扫描仪。
PS/2是在较早电脑上的接口,接输入装置接口,用于鼠标、键盘等。
Universal Asynchronous Receiver/Transmitter 是一种异步收发传输器,是电脑硬件的一部分。将资料由串行通信与并行通信间作传输转换,作为并行输入成为串行输出的芯片,通常集成与其他通讯接口的连接上。
参考文章


嵌入式系统简介

嵌入式 定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积、功耗等严格要求的 专用计算机系统。嵌入式系统有时也称为 嵌入式计算机系统,指的就是专用计算机系统。

嵌入式系统特点:
将先进的计算机技术、半导体技术、电子技术与各行各业的具体应用相结合的产物
嵌入式系统通常是面向用户、面向产品、面向特定应用的。嵌入式的CPU都具有功耗低、体积小、集成度高的特点,能够把通用CPU中许多由板卡完成的任务 集成在芯片内部,从而使整个系统设计趋于小型化,移动能力日益增强,与网络的关系也越来越密切。
嵌入式系统和具体应用有机的结合在一起,其升级换代也是和具体产品同步进行的,因此嵌入式系统产品一旦进入市场,就具有较长的生存周期。
为了提高执行速度和系统的可靠性,嵌入式系统中的软件一般都固化在存储芯片中或单片机中,而不是存储于磁盘等载体中,也叫固件。
嵌入式系统本身不具备在其上进一步开发的能力。

嵌入式发展历程:第一阶段主要就是 单片机时代,第二阶段是 微控制器阶段,主要的技术发展方向是不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。第三阶段是片上系统SOC,主要特点是嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统内核小,效果好。第四阶段以Internet为标志的嵌入式系统。集成了网络接口,且嵌入式设备可应用于网络环境中。

嵌入式系统结构:
嵌入式硬件系统:包括 处理器、存储器、输入输出接口
软件系统:主要包括两块,嵌入式操作系统和应用软件

BSP(板级支持包)
BSP是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统的一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。

嵌入式的操作系统: 大致经过了4个明显的阶段,一是无操作系统,直接用汇编语言对系统进行直接控制;二是以嵌入式CPU为基础,简单操作系统为核心的嵌入式系统;三是通用的嵌入式实时操作系统阶段,该阶段嵌入式操作系统为核心;四是以基于Internet为标志的嵌入式系统,这是一个正在发展的阶段。常用的嵌入式操作系统有: VxWorks、Windows CE、嵌入式 Linux等。

应用软件:嵌入式系统领域的应用软件是为了解决某些特定应用性问题而设计出来的软件,如浏览器 播放器等。与通用计算器相比,由于嵌入式系统的资源有限,致使对应用软件有更多苛求,要求尽量做到高效、低耗。

X86知识、嵌入式系统、Linux开发流程、自动化知识_第4张图片
参考文章



IEEE(国际电气和电子工程师协会):
嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置

SCM(single chip microcomputer)单片机
一种集成电路芯片、采用超大规模集成电路技术把具有数据处理能力的CPU、RAM、ROM、多种I/O等集成到一块硅片上构成的一个小而完善的微型计算机系统。

MCU:micro controller unit 微控制器

SoC:system on a chip 系统级芯片

IP:intellectual property 知识产权核


X86知识、嵌入式系统、Linux开发流程、自动化知识_第5张图片

X86知识、嵌入式系统、Linux开发流程、自动化知识_第6张图片

任务:
任务是一个具有独立功能的无限循环的程序段一次运行活动,是实时内核调度的单位,包含代码、数据、堆栈、程序执行的上下文环境,具有动态性(任务不断变化);并行性(多个任务可宏观上同时运行);异步独立性(每个程序独立运行)

内核(kernel)
多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。
内核提供基本服务是任务切换。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2-5个百分点。

调度(scheduler 或 dispatcher)
内核的主要职责之一是决定那个任务运行,多数实时内核是基于优先级调度法的。每个任务根据其重要程度被赋予一定优先级,CPU总是让处在就绪态的优先级最高的任务先运行。

嵌入式软件开发特点:
需要交叉开发环境:交叉开发环境是指 实现编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,它分散在有通信连接的宿主机和目标机环境之中。

宿主机(Host)目标机(Target)
是一台通用计算机,它通过串口或者网络连接与目标机通信; 可以是嵌入应用软件的实际运行环境,也可以是能替代实际环境的仿真环境。

Linux 开发流程

X86知识、嵌入式系统、Linux开发流程、自动化知识_第7张图片

对于嵌入式开发,最初的设备是一个空白的系统,需要通过主机为它构建基本的软件系统,并烧写到设备中,另外,嵌入式设备的资源并不足以用来开发软件。所以需要用到交叉开发模式,在主机上编辑、编译软件,然后在目标板上运行,验证程序。一般分为三个步骤:一在主机上编译BootLoader,然后通过Jtag烧入单板; 二在主机上编译嵌入式Linux内核,通过BootLoader烧入单板或者直接启动; 三是在主机上编译各类应用程序,单板启动内核后通过NFS运行它们,经过验证后再烧入单板。
参考文章


自动化知识

自动控制技术 是自动化单元技术和 集成技术 及其在各类控制系统中的应用。它以自动控制理论为基础,以电力电子技术、传感器技术、计算机技术、网络通信技术为 主要工具,面向工业生产中的自动控制 及 各行业各部门的自动化。它具有 控管结合,强弱并重,软硬兼施。

PLC:
世界上第一台PLC是由美国 DEC 公司 根据通用汽车GE的要求研发而成的。

PLC集电传、电控、电仪 为一体,具有 性价比高,可靠性高的特点,已成为自动化工程的核心设备。

你可能感兴趣的:(X86知识、嵌入式系统、Linux开发流程、自动化知识)