摘要: 控制器原理与CPU组织 组合逻辑控制器原理 微命令发生器 功能:产生全机所需要的各种微命令(控制最基本的操作的命令) 指令计数器PC 功能:指示指令在程序中的位置 顺序执行:PC + 1 转移执行:PC先+1,再用转移指令修改PC 指令寄存器IR 功能:存放现行指令 操作码字段->译码器->微命令发生器(决定操作性质) 地址码字段->译码器->微命令发生器 ->地址形成部件->操作数地址... 阅读全文
posted @ 2013-03-16 22:02 chapterlin 阅读(211) 评论(0) 推荐(0)
摘要: 指令格式 指令基本格式 操作码(一个):地址码(一个或几个) 指令字长 定长指令格式 便于控制 存在空间的浪费 变长指令格式 合理利用存储空间 操作码格式 1.定长操作码:各指令的位置,位数固定相同 2.扩展操作码:各指令的位置,位数不固定,根据需要变化 关键在设置扩展标志 操作码采用方式码编码 操作码分为几部分,每部分表示一种操作 地址结构 指令中提供的地址数(存储单元的地址码,寄存器编号) 1.指令提供地址的方式 显地址方式:指令中明显指明地址(直接或间接给出) 隐... 阅读全文
posted @ 2013-03-16 21:50 chapterlin 阅读(255) 评论(0) 推荐(0)
摘要: 浮点四则运算 浮点数真值 S=正负R的J次方 * W 浮点数计算机表示 Jf J1 J2...Jm Sf W1 ....Wn Jf--Jm是阶码 Sf--Wn是尾数,Sf是数符 R:阶码底,隐含约定 J:阶码,为定点整数,补码或移码表示.其位数决定数值范围;阶符表示数的大小 W:尾数,为定点小数,原码或补码表示.其位数决定数的精度;数符表示数的正负 尾数规格化:1/2 <= |W| < 1 最高有效位绝对值为1浮点数加减运算 步骤: 检测是否简化操作,判断操作数是否为0(尾数为0,阶码下溢 对阶 使两数阶码相... 阅读全文
posted @ 2013-03-16 21:37 chapterlin 阅读(194) 评论(0) 推荐(0)
摘要: 舍入方法 0舍1入(原码,补码) 保留四位尾数 0 00100原->0 0010原 1 00101原->1 0011原 1 11011补->1 1110补 末尾恒置1(原码,补码) 保留四位尾数 0 00100原->0 0011原 1 00101原->1 0011原 1 11011补->1 1101补定点乘法运算 乘法->部分积累加,移位 原码一位乘法 每次用一位乘数去乘被乘数 1.算法分析 讲一次相加改为多次累加 2.分步乘法 ... 阅读全文
posted @ 2013-03-16 21:34 chapterlin 阅读(363) 评论(0) 推荐(0)
摘要: 运算器和运算方法 如何以加法器为基础,实现各种运算处理 解决思路: 复杂运算->四则运算->加法运算 解决方法: 在加法器的基础上,增加移位传送功能,并选择输入控制条件 运算器组织 寄存器组 独立结构(有独立的输入,输出) 小型存储器结构 单口:只有一个地址输入端,一个数据端口 双口:两个地址输入端,两个数据端口 独立R,双口RAM用多路选择器作为ALU的输入逻辑 单口RAM用锁存器作为ALU的输入逻辑 带多路选择器的运算器 R(寄存器)各自独立 可... 阅读全文
posted @ 2013-03-16 21:29 chapterlin 阅读(265) 评论(0) 推荐(0)
摘要: 功能部件 主存储器 存储体:存放信息的实体 寻址系统(地址寄存器,译码器):对地址码译码,选择存储单元 读写线路和数据寄存器:完成读写操作,暂存读写数据 控制线路:产生读写时序,控制读写操作 地址寄存器<->译码器<->存储体<->读写线路<->数据寄存器 控制线路 运算器 功能:加工信息 组成: 移位器:直接或移位送出运算结果(左移,右移) ALU(算数逻辑运算器):通过加法器实现运算操作(由全加器 求和,由进位链传递进位信号) 选择器(两个)... 阅读全文
posted @ 2013-03-16 15:43 chapterlin 阅读(153) 评论(0) 推荐(0)
摘要: cpp] view plaincopy01.#define INITSIZE 100 //线性表的初始大小 02.#define INCREACEMENT 10 //定义线性表的分配容量 03. 04.struct List 05.{ 06. int * firstElement ; //首元素的地址 07. int length ; //现有元素个数 08. int allocate_size ; //当前的最大容量 09.}; 10. 11./* 初始化L ... 阅读全文
posted @ 2013-03-16 15:41 chapterlin 阅读(169) 评论(0) 推荐(0)
摘要: 01.#include <stdio.h> 02.#include <stdbool.h> 03.#include <stdlib.h> 04.typedef struct ElementData 05.{ 06. int index; 07.} Item ; 08. 09.typedef struct node 10.{ 11. Item item; 12. struct node * nextNode; 13.} Node; 14. 15.typedef Node * linkList ; 16. 17.Node * CreateI... 阅读全文
posted @ 2013-03-16 15:40 chapterlin 阅读(111) 评论(0) 推荐(0)
摘要: 01.#ifndef LIST_H_ 02.#define LIST_H_ 03.#include <stdbool.h> 04. 05.#define TSIZE 45 06. 07.struct film{ 08. char title[TSIZE]; 09. int rating; 10.}; 11. 12.typedef struct film Item; 13. 14.typedef struct node{ 15. Item item; 16. struct node * next; 17.} Node; 18. 19.t... 阅读全文
posted @ 2013-03-16 15:36 chapterlin 阅读(117) 评论(0) 推荐(0)
摘要: 我们在实际编码中,要想实现对内存的查看和操作,许多程序员们第一个想到的就是PHP memory_get_usage()这个PHP脚本内存函数。下面是PHP memory_get_usage()使用示例:echo memory_get_usage(), '<br/>'; // 313864 $tmp = str_repeat('http://blog.huachen.me/', 4000); echo memory_get_usage(), '<br/>'; // 406048 unset($tmp); echo memor 阅读全文
posted @ 2013-03-16 15:35 chapterlin 阅读(98) 评论(0) 推荐(0)
摘要: 说白了就是PHP页面报错的级别设置,我感觉这个功能很鸡肋,说白了,这玩意儿能报出来的错对于对PHP熟悉的人也不会犯,不熟悉的人你报出来也不知道是啥意思。想起以前经常改现成代码的时候经常遇到,好好的页面上挂一个“Warning:xxx”挺烦的...看着好象也没什么正经错误,但就是警告你,反正人家也没说当时就要抽你,但是警告你。解决方案就是加个error_reporting(0);意思是无视警告。内时候觉得特慎的慌,不敢使,怕万一有致命错误丫不报了咋整...在这里我就告诉各位,真有有致命错误你的程序根本运行不了,真是带BUG的可执行语句丫也报不出来!所以,到此为止,(0)就够了。有人好矫情,我就把 阅读全文
posted @ 2013-03-16 15:34 chapterlin 阅读(203) 评论(0) 推荐(0)
摘要: 变量范围变量的范围即它定义的上下文背景(译者:说白了,也就是它的生效范围)。大部分的PHP 变量只有一个单独的范围。这个单独的范围跨度同样包含了 include 和 require 引入的文件。范例:<?php$a = 1;include "b.inc";?> 这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部函数范围将被引入。任何用于函数内部的变量按缺省情况将被限制在局部函数范围内。范例:<?php$a = 1;/* global scope */function Test(){ echo $a; /* referen 阅读全文
posted @ 2013-03-16 15:33 chapterlin 阅读(92) 评论(0) 推荐(0)
摘要: 魔术函数1。__construct()实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。2。__destruct()当删除一个对象或对象操作终止时被调用。3。__call()对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。4。__get()读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。5。__set()设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。6。__toString()打印一个对象的时被调用。如echo $o 阅读全文
posted @ 2013-03-16 15:31 chapterlin 阅读(90) 评论(0) 推荐(0)
摘要: (这是篇关于C中malloc和free函数的文章,感觉写的不错,就转了。) 在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助! 如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较全面地谈了一下mallo 阅读全文
posted @ 2013-03-16 15:30 chapterlin 阅读(136) 评论(0) 推荐(0)
摘要: C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的:The right-left rule: Start reading the declaration from the innermost parentheses, go right, and then go left. When you encounter parenth 阅读全文
posted @ 2013-03-16 15:29 chapterlin 阅读(130) 评论(0) 推荐(0)