提到X86处理器,世人皆知Intel.AMD,殊不知还有个VIA(威盛),在Intel反垄断世纪大战中VIA公司作为Intel霸权的受害者也最终确认了X86授权,不过VIA与前面两家的实力相差太远,X86处理器业务早已退缩到少数低功耗产品中.威盛后来与上海政府基金成立了兆芯公司,这家公司一直以国产自主X86处理器为口号,目前的ZX-D系列处理器使用的还是上海华力微电子的国产28nm工艺,但是兆芯表示已经寻求TSMC合作,明年将用上TSMC的16nm工艺. 在超能课堂(49):干掉Intel.AM…
国产最先进x86处理器KX-6000发布:8核3.0GHz 力压酷睿i5处理器 https://www.cnbeta.com/articles/tech/858981.htm 全网所有的网页都写错了 是PCI-E .0的KX- 感觉这群编辑 都是 从来不看图说话的. 都是随手抄的.   尽管X86处理器是Intel的私有指令集,不过国内依然通过各种方式获得了合法X86授权,其中上海兆芯通过VIA合资获得了X86授权,并且从KX-5000系列开始走上了自研架构的道路,日前新一代的KX-6000处理…
兆芯发布国产X86处理器KX-6000和KH-30000,性能提升达50%,附详情介绍 2019-06-20 09:56:38作者:linux人稿源:快科技 https://ywnz.com/linuxxw/5358.html 兆芯推出了新产品:国产X86处理器KX-6000和KH-30000,该产品是国内首个16nm工艺.8核3.0GHz的高性能处理器,性能提升达到50%,在能耗上更是比上一代产品提升明显,以下是详情介绍. 上海兆芯集团近日发布了国产X86处理器KX-6000和KH-30000…
又一国产x86处理器可大规模上市:Intel至强核心 安全监测管控 https://www.cnbeta.com/articles/tech/850525.htm 不知道是不是有一起汉芯事件 国产CPU 最近风声狠劲 从去年到今年,中兴.华为等公司接连被美国制裁,刺激了国内摆脱美国芯片依赖的决心,这其中国内依赖最严重的当属高性能处理器,特别是X86,因为X86是当前桌面.笔记本的主流选择,生态最为成熟,短时间替换不了. 有意思的是,最近有不少国产处理器露面了,上海兆芯与VIA威盛合作的兆芯8核X…
16nm国内最先进 兆芯展示x86 KX-6000八核处理器 https://www.cnbeta.com/articles/tech/847125.htm 在近日的2019北京国际互联网科技博览会暨世界网络安全大会上,上海兆芯集成电路有限公司(兆芯)带来了最新的国产x86处理器.兆芯本次的展品包括兆芯开先系列处理器.兆芯开胜系列处理器.IO扩展芯片/芯片组三大类,其中开先系列KX-6000是最新产品,真正的SoC单芯片设计,完整集成CPU.GPU.芯片组,并采用迄今国内最先进的16nm制造工艺…
ylbtech-操作系统-百科:Kylin (中国自主知识产权操作系统) Kylin操作系统是国家高技术研究发展计划(863计划)的重大成果之一,是以国防科技大学为主导,与中软.联想等单位联合设计和开发的具有完全自主版权,可支持多种微处理器和多种计算机体系结构,具有高性能.高可用性和高安全性,并与Linux应用二进制兼容的国产中文服务器操作系统. 1.返回顶部 1. 操作系统   意义 具有自主知识产权和完全自主掌控的Kylin国产服务器操作系统的研制成功,将对打破外国对我国信息化基础设施的垄断…
AIDA64 6.10版发布:全面支持中国兆芯.海光x86 CPU https://www.cnbeta.com/articles/soft/892877.htm 支持国产x86了 作为硬件识别工具领域的杠把子,AIDA64今天发布了最新的6.10正式版,全面支持中国兆芯.海光两大x86架构CPU处理器.在此之前,CPU-Z 1.89软件.Linux 5.3系统内核均已支持兆芯CPU,“中国芯”正赢得越来越多的认可. 下载地址: http://download.aida64.com/aida64…
ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器? https://www.cnbeta.com/articles/tech/899421.htm . 之前苹果的哥们说过 谁特别在意自己的软件 终归会自己研发硬件. . 苹果2005年之前用的是 PowerPC架构 之后才换的x86架构.. . x86架构的确有太多的历史包袱 性能和能好过高.. . 这个帖子每年都会出现. 但是也发现arm的性能 的确有了很长远的进步, 很希望arm 能够真正用于数据中心业务 这样国产化也比较好一些.…
★PART1:32位的x86处理器执行方式和架构 1. 寄存器的拓展(IA-32) 从80386开始,处理器内的寄存器从16位拓展到32位,命名其实就是在前面加上e(Extend)就好了,8个通用寄存器被命名为EAX,EBX,ECX,EDX,ESI,EDI,ESP和EBP,同样的,操作的时候必须要和寄存器的长匹配,比如下面的操作就是错的. 32位通用寄存器的高16位不可以单独使用,但是他们的低16位依然可以按照8086的使用方法一样使用.处理器在32位保护模式下可以使用全部的32条地址线,访问4…
PCIe设备发出MSI-X中断请求的方法与发出MSI中断请求的方法类似,都是向Message Address所在的地址写Message Data字段包含的数据.只是MSI-X中断机制为了支持更多的中断请求,在MSI-X Capablity结构中存放了一个指向一组Message Address和 Message Data字段的指针,从而一个PCIe设备可以支持的MSI-X中断请求数目大于32个,而且并不要求中断向量号连续.MSI-X机制使用的这组Message Address和 Message D…
分配粒度和内存页面大小 x86处理器平台的分配粒度是64K,32位CPU的内存页面大小是4K,64位是8K,保留内存地址空间总是要和分配粒度对齐.一个分配粒度里包含16个内存页面. 这是个概念,具体不用自己操心,比如用VirtualAllocEx等函数,给lpAddress参数NULL系统就会自动找一个地方分配你要的内存空间.如果需要自己管理这个就累了...... 一个分配粒度是64K,这就是为什么Null指针区域和64K进入区域都是 64K的原因,刚好就是一个分配粒度.一个内存页是4K,这就是…
之前也关注过大小端的存储,可能时间久了,加之又之前的电脑抽象换成了当前的处理器寄存器的值判断,导致自己总是有点蒙圈.看Spec手册的时候,有时会无法与手册中某个Bit的值与RU/RW工具读出来的对应上.这就很尴尬了.专门花时间整理下该部分的内容: 1. 什么是大小端 先解释下什么是大小端(自行百度) 2. X86处理器用RU工具读取的值如何与Spec的描述进行Bit对应 2.1 如:下面是一个Spec中GP_LVL寄存器,另一个是RU工具读出来的.我想判断该寄存器的Bit3的值是多少,这下犯难了…
作 者:道哥,10+年的嵌入式开发老兵. 公众号:[IOT物联网小镇],专注于:C/C++.Linux操作系统.应用程序设计.物联网.单片机和嵌入式开发等领域. 公众号回复[书籍],获取 Linux.嵌入式领域经典书籍. 转 载:欢迎转载文章,转载需注明出处. 目录 实模式:bootloader 为程序计算段的基地址 保护模式:bootloader 为自己创建段描述符 确定 GDT 的地址 创建代码段描述符 创建数据段描述符 创建栈段描述符 段描述符是如何确保段的安全访问的? 段寄存器高速缓存…
x86(32位)-1-32位x86 处理器编程架构 Intel 32 位处理器架构简称IA-32(Intel Architecture,32-bit) x86是指intel的86系列的CPU统称,比如说8086就是x86里面中的一款CPU. IA-32,X86-32是指intel的32位CPU架构. x86系列的处理器架构是从8086发展来的,是基于8086 的,具有延续性和兼容性.所以x86系列的CPU都可以和8086CPU进行类比. 1 基本执行环境: 1.1 地址空间: 32 位的处理器有…
我们看看32 位 x86 处理器的基本架构特点.这些处理器包括了 Intel IA-32 系列中的成员和所有 32 位 AMD 处理器. 操作模式 x86 处理器有三个主要的操作模式:保护模式.实地址模式和系统管理模式:以及一个子模式:虚拟 8086 (virtual-8086) 模式,这是保护模式…
在说正题之前,我们先看2个概念. 1.指令集架构(ISA) ISA 的全称是 instruction set architecture,中文就是指令集架构,是指对程序员实际"可见"的指令集,包含了程序员编写一个能正确运行的二进制机器语言程序的所有信息,涉及到指令. I/O 设备等.例如 Intel 的 IA-32.Intel 64.ARM 的 ARMv7.ARMv8 等等. 2.微架构 微架构(Microarchitecture)又称为微体系结构/微处理器体系结构.是将一种给定的指令集…
无论是千万行的linux ,还是百万行的uefi ,或者百十行的app, 它都有一个主线.应用程序是main() 函数里面全部函数运行完,程序结束.这里main() 做为程序的起点,uefi 能够觉得,就是peimain.c  dxemain.c bds.c 这三个函数运行完,bios 结束.假设进一步的细分. 假设 把pei 和 sec 叫做early initialization, 这一阶段 主要就是在做microcode 更新.跳到保护模式,用cache 去模拟内存以便实现C函数的子过程调…
▶ 书上第 10 章,主要讲了宏,引用了一个 16 位实地址的程序,从代码开始到运行 ● 代码 ; main.asm INCLUDE Macros.inc IF IsDefined( RealMode ) INCLUDE Irvine16.inc ELSE INCLUDE Irvine32.inc ENDIF .code main PROC Startup IF IsDefined( RealMode ) mWrite <"The program is running in 16-bit…
▶ 书中第十一章的程序,主要讲了 Windows 接口,在小黑框中进行程序交互 ● 在屏幕指定位置输出带自定义属性的文字 INCLUDE Irvine32.inc .data outHandle HANDLE ? cellsWritten DWORD ? ; 输出计数(输出参数) xyPos COORD <,> ; 输出坐标 buffer BYTE 41h,42h,43h,44h,45h,46h,47h,48h,49h,4Ah,4Bh,4Ch,4Dh,4Eh,4Fh,50h,51h,52h,5…
▶ 书中第十三章的程序,主要讲了汇编语言和 C/++ 相互调用的方法 ● 代码,汇编中调用 C++ 函数 ; subr.asm INCLUDE Irvine32.inc askForInteger PROTO C showInt PROTO C, value:SDWORD, outWidth:DWORD OUTPUT_WIDTH = MAX_POWER = .data intVal DWORD ? .code SetTextOutColor PROC C, color:DWORD mov eax…
▶ 书中第十章的程序,主要讲了结构与宏的使用 ● 代码,使用结构,对比是否对齐的性能差距 INCLUDE Irvine32.inc INCLUDE macros.inc structN STRUCT ; 非对齐的结构 Lastname BYTE DUP() Years WORD SalaryHistory DWORD , , , structN ENDS ; 48 Byte structA STRUCT ; 对齐的结构 Lastname BYTE DUP() ALIGN WORD ; +2 Ye…
▶ 书中第九章的程序,主要讲了字符串相关的输入.输出,以及冒泡排序.二分搜索 ● 代码,Irvine32 中的字符串库函数代码范例 INCLUDE Irvine32.inc .data str1 BYTE str2 BYTE msg0 BYTE msg1 BYTE msg2 BYTE msg3 BYTE msg4 BYTE msg5 BYTE .code main PROC mov edx, OFFSET str1 call WriteString call crlf call trim_str…
▶ 书中第十二章的程序,主要讲了 FPU 的指令和浮点数计算的过程 ● 代码,简单的 32 为浮点数测试 INCLUDE Irvine32.inc INCLUDE macros.inc .data first REAL8 . second REAL8 . third REAL8 ? .code main PROC finit ; 初始化 FPU fld first fld second call ShowFPUStack ; 展示栈中的浮点数 mWrite "Please enter a rea…
▶ 输入 Count 个 32 位有符号整数,计算他们的和 ● 代码,使用堆栈传参 ;// Sum_main.asm,主过程 INCLUDE Irvine32.inc EXTERN PromptForIntegers@0:PROC ; 外部链接声明需要的函数 EXTERN ArraySum@0:PROC, DisplaySum@0:PROC ArraySum EQU ArraySum@0 ; 外部链接声明需要的变量 PromptForIntegers EQU PromptForIntegers@…
▶ 书中第七章的程序,使用各种位移运算,加深了对内存.寄存器中整数类型变量存储的认识 ● 代码,双字数组右移 4 位 INCLUDE Irvine32.inc COUNT = ; 右移位数 .data array DWORD 148B2165h, 8C943A29h, 6DFA4B86h, 91F76C04h, 8BAF9857h .code main PROC mov esi, OFFSET array ; 移之前的情况 mov ecx, LENGTHOF array mov ebx, TYP…
▶ 书中第六章的程序,使用了条件判断和跳转来实现一些功能 ● 代码,查找数组首个非零值 INCLUDE Irvine32.inc .data intArray SWORD , , , , , , , -, , , ; 测试用的数组 ;intArray SWORD 1, 0, 0, 0 ;intArray SWORD 0, 0, 0, 0 ;intArray SWORD 0, 0, 0, 1 noneMsg BYTE .code main PROC mov ebx, OFFSET intArray…
▶ 书中前五章的几个小程序,基本的运算操作,使用了作者的库 Irvine32 和 Irvine64(一开始以为作者网站过期了,各网站上找到的文件大小都不一样,最后发现是要搭梯子 Orz,顺利下载).注意编译前将相关的库文件放到 “项目属性 → 链接器 → 输入 → 附加依赖项” 中. ● 代码,整数数组求和 . .model flat,stdcall .stack ExitProcess PROTO, dwExitCode: dword .data array DWORD 10000h, 200…
故事的背景是,我买了一台龙芯2F的笔记本来装B. 为什么说是装B呢?因为不但操作系统是Linux,而且CPU还是龙芯的. 一般人有这么酷的装备吗?简直是装B大圣啊. 这里一定要申明一点,本人不是IT技术控,只是年幼不懂事选择了不归路,现已是大叔的年龄,无力回头,只能善始善终. 买回来发现,这台笔记本上没法安装软件,因为既没有软件仓库,也没有GCC.真是神作啊. 还好这难不倒执意装B的技术小虾米(还没搞定呢,现在就吹是不是有点自信爆棚了). 这不,我周末打算自己玩下构建交叉工具链和构建本地工具链.…
疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升 https://www.bilibili.com/read/cv4028300 数码 11-23 1589阅读28点赞22评论 尽管有ARM架构的华为鲲鹏.自主架构的中科龙芯处理器,但台式机和笔记本依然是x86架构的天下,生态注定大部分产品还将继续使用X86架构CPU.国产x86架构中,上海兆芯开发的国产x86处理器是最有希望的. 上海兆芯在今年6月发布基于16nm工艺打造的KX-6000系列国产X86处理器,是国内首款主频达到3.0GHz…