汇编/底层
文章平均质量分 67
tyt2222008
定力如磐,行走无疆
展开
-
关于地址线宽度、数据线宽度等数值的总结
8086是16位处理器,也就是说,它的数据线宽度是16位的。总结一下8086的两个事实: 数据线 = 16 位地址线 = 20 位由于地址线只有20位,那么CPU地址线上只有 2的20次方 种可能的地址值,即 8086 CPU的寻值范围是 2^20 由于内存的一个数据单元是 8 位, 即 8 bit = 1 Byte .一个地址对应一个内存数据单元。 所以, 2^20 * 1 Byte = 1MB 。 这就是为什么说 8086 的地址空间是 1MB原创 2011-04-10 09:36:00 · 9445 阅读 · 1 评论 -
rr2640 + Xen 3.4 hangs at boot [SOLVED]
Finally, I have boot up the xen hypervisor with the Highpoint RocketRAID 2640x4 SAS/SATA controller card. 1. compile the dom0 kernel with rr26xx module built in. Or another way to say it,原创 2014-08-24 21:40:23 · 1083 阅读 · 0 评论 -
系统架构学习日志2-Log structured vs Journaling File System
这篇日志的讨论主要是围绕以下两篇文章:原创 2014-05-23 07:01:22 · 3003 阅读 · 0 评论 -
系统架构学习日志1——内存管理、虚拟存储地址的概念
之前对内存管理理解得不太深刻,直到看了这篇文章 "The working set model for program behavior " by Peter Denning 后,对内存管理有了更深然后结合这本书 《Computer Systems A Programmer’s Perspective》P690 讲的内容,终于有点搞懂了 virtual memory 原来是这个概念。原创 2014-05-14 09:31:31 · 870 阅读 · 0 评论 -
Direct Memory Access (DMA) 解析 以及 DMA 给Xen 虚拟化带来的挑战
这篇学习日志的信息主要来自wikipedia [2]. 地址种类(address type)地址(address)有两种:1. on-card device memory (Linux documentation里叫它做 bus memory) (我不太确定在linux doc里的bus memory 是否指的是on-card memory)2. main memor原创 2014-05-07 10:06:44 · 2235 阅读 · 0 评论 -
linux 内核编译笔记 (jettison, snowflock)
过去的三个月一直在接触和 linux kernel 相关的工作,具体是要在一台新服务器上跑一个基于xen上修改的系统。期间遇到了很多问题,我也没想到用了三个多月我也没有完全解决这些问题。这中间我一直都有用英语写下一些笔记,但觉得有必要用中文来总结反思一次,这样或许会更深刻。disclaimer: 这篇文章中一个自我总结,里面的很多技术问题都只我独有的,不担保你会遇到同时,这是基于这原创 2013-12-13 12:03:36 · 1299 阅读 · 0 评论 -
How to get the dmesg output in initramfs (debian)
I tried to install 2.6.18 kernel in my Debian 5.10, but it could not boot normally. It ended up in initramfs. There was something wrong with my SATA controller driver. /root device cannot be detected原创 2013-12-13 01:12:35 · 1006 阅读 · 0 评论 -
INT $0x80 是在哪里被调用的
《Linux内核设计与实现(英文版·第3版)-华章经典原版书库》 第73页:int $0x80, 这是一个调用x86 的第128号中断,也就是一个system call handler. CPU 在执行这个指令以后,就会进入kernel mode,然后可以用各种kernel code了。问题:它在哪里调用的呢?我估计是在C wrapper (P74) 里有一个原创 2013-04-15 23:38:38 · 2071 阅读 · 0 评论 -
为什么会有data segment?
我有一个疑问,汇编里为什么会有data segment?为什么要把data segment和 code segment分开来?直接把指令和数据放在一起不好吗?维基上说:"A data segment is a portion of virtual address space of a program, which contains the global variables原创 2013-04-14 09:01:01 · 7063 阅读 · 0 评论 -
CPU为什么会有段?why segment/segmentation ?
CPU为什么会有段?像cs, ds, ss等等。这个问题困扰了我很久,感觉有了段地址后把问题复杂化了,没必要这么做。后来翻查资料后才发现,段(segment)的存在原来是有历史因素的:http://homepage.smc.edu/morgan_david/cs40/segmentation.htm以下是摘抄和个人见解“Vintage 1980 microcomputers used原创 2013-04-14 00:16:37 · 1458 阅读 · 0 评论 -
Concepts: Core, Processor, CPU, Die, Package, and Logical Core
DefinitionsCores are just core units, meaning the basic compute unit inside the CPU. A core may also have its own caches. One core, one thread. A die is a continuous piece of semiconductor mater原创 2014-10-07 09:36:13 · 1655 阅读 · 0 评论