月度归档:2013年03月
【转】HOW DOES THE CPU PROCESS?
What is CPU?
CPU is a brain of a computer. It called Central Process Unit. CPU fetches and executes instructions. CPU consists of an Arithmetic and Logic Unit (ALU), a control unit, registers and buses.
Part of CPU
ALU: is a digital circuit that calculates an arithmetic operation (like an addition, subtraction, etc.) and logic operations (like an Exclusive Or) between two numbers. the ALU is a fundamental building block of the central processing unit of a computer.
Control Unit: controls CPU operations, including ALU operations, the movement of data within the CPU, and the exchange of data and control signals across external interfaces(e.g.,the system bus)
Registers: these components are special memory locations that can be accessed very fast. Three registers are shown: the Instruction Register (IR), the Program Counter (PC), and the Accumulator.
Buses: these components are the information highway for the CPU. Buses are bundles of tiny wires that carry data between components. The three most important buses are the address, the data, and the control buses.
How the CPU works??
A computer have a brain and we call it CPU. Firstly , we describe the CPU and its component. After we look into how does the CPU works and CPU evolutaion in a time. We can show it in this picture;
This picture show the components as the CPU too. CPUs improved in the time. The introduction of the microprocessor in the 1970s significantly affected the design and implementation of CPUs. Since the introduction of the first microprocessor (the Intel 4004) in 1970 and the first widely used microprocessor (the Intel 8080) in 1974, this class of CPUs has almost completely overtaken all other central processing unit implementation methods. Mainframe and minicomputer manufacturers of the time launched proprietary IC development programs to upgrade their older computer architectures, and eventually produced instruction set compatible microprocessors that were backward-compatible with their older hardware and software. Combined with the advent and eventual vast success of the now ubiquitous personal computer, the term “CPU” is now applied almost exclusively to microprocessors.
Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits (ICs) on one or more circuit boards. Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one. The overall smaller CPU size as a result of being implemented on a single die means faster switching time because of physical factors like decreased gate parasitic capacitance. This has allowed synchronous microprocessors to have clock rates ranging from tens of megahertz to several gigahertz. Additionally, as the ability to construct exceedingly small transistors on an IC has increased, the complexity and number of transistors in a single CPU has increased dramatically. This widely observed trend is described by Moore’s law, which has proven to be a fairly accurate predictor of the growth of CPU (and other IC) complexity to date.
While the complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years, it is notable that the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines.
As the aforementioned Moore’s law continues to hold true, concerns have arisen about the limits of integrated circuit transistor technology. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant. These newer concerns are among the many factors causing researchers to investigate new methods of computing such as the quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model. All von Neumann CPU use for operation fetch,decode,execute and writeback.
The first step, fetch, involves retrieving an instruction (which is represented by a number or sequence of numbers) from program memory. The location in program memory is determined by a program counter (PC), which stores a number that identifies the current position in the program. In other words, the program counter keeps track of the CPU’s place in the current program. After an instruction is fetched, the PC is incremented by the length of the instruction word in terms of memory units. Often the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned. This issue is largely addressed in modern processors by caches and pipeline architectures .
The instruction that the CPU fetches from memory is used to determine what the CPU is to do. In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU’s instruction set architecture (ISA).Often, one group of numbers in the instruction, called the opcode, indicates which operation to perform. The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation. Such operands may be given as a constant value (called an immediate value), or as a place to locate a value: a register or a memory address, as determined by some addressing mode. In older designs the portions of the CPU responsible for instruction decoding were unchangeable hardware devices. However, in more abstract and complicated CPUs and ISAs, a microprogram is often used to assist in translating instructions into various configuration signals for the CPU. This microprogram is sometimes rewritable so that it can be modified to change the way the CPU decodes instructions even after it has been manufactured.
After the fetch and decode steps, the execute step is performed. During this step, various portions of the CPU are connected so they can perform the desired operation. If, for instance, an addition operation was requested, an arithmetic logic unit (ALU) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum. The ALU contains the circuitry to perform simple arithmetic and logical operations on the inputs (like addition and bitwise operations). If the addition operation produces a result too large for the CPU to handle, an arithmetic overflow flag in a flags register may also be set .
The final step, writeback, simply “writes back” the results of the execute step to some form of memory. Very often the results are written to some internal CPU register for quick access by subsequent instructions. In other cases results may be written to slower, but cheaper and larger, main memory. Some types of instructions manipulate the program counter rather than directly produce result data. These are generally called “jumps” and facilitate behavior like loops, conditional program execution (through the use of a conditional jump), and functions in programs. Many instructions will also change the state of digits in a “flags” register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, one type of “compare” instruction considers two values and sets a number in the flags register according to which one is greater. This flag could then be used by a later jump instruction to determine program flow.
After the execution of the instruction and writeback of the resulting data, the entire process repeats, with the next instruction cycle normally fetching the next-in-sequence instruction because of the incremented value in the program counter. If the completed instruction was a jump, the program counter will be modified to contain the address of the instruction that was jumped to, and program execution continues normally. In more complex CPUs than the one described here, multiple instructions can be fetched, decoded, and executed simultaneously. This section describes what is generally referred to as the “Classic RISC pipeline” which in fact is quite common among the simple CPUs used in many electronic devices (often called microcontrollers)
原文地址:http://www.ahmetozkurt.net/comporg/ekonomi/hw2006/meltem/main.html
數據處理入門(下)
第六章 存儲設備的發展過程
6.1 引言
數據處理系統常需要對海量數據進行存取,因此存儲器對一個數據處理系統來說至關重要。理論上,存儲器的速度越快,數據處理系統的效率越高,但有一個無法迴避的客觀現實,即是存儲器的價格和其速度是成正比的。在CPU中使用了立即存取存儲器,但其價格卻十分昂貴,因此,計算機實際採用的是多種存儲器搭配使用的方法進行工作。
這裡將存儲器分為以下兩種類型:
——(設置在CPU內部的)立即存取存儲器;
——(與CPU相連,但不屬於CPU的部件的)輔助存儲器。
6.2 立即存取-存儲器
最早的計算機是通過導線將將電子管連接到電路中,以起到導電或非導電作用的。適當加一個“觸發”脉衝能引起管子及其電路由一種條件“改變”成另一種條件,直到下一個脉衝的到來再次改變為止。這就是“觸發器”電路。
觸發器用於寄存器,主立即存取-存儲器中。這種電路耗電大,散熱強,導致電路內的電子管壽命很短成為其最大的缺點。
其後發展至“延遲線”存儲數據。延遲線是一種帶發聲晶體且注滿水銀的長管子,發聲晶體運送聲波到管子另一端的接收裝置。運用時鐘,可以對時鐘脉衝與接收到的信號脉衝進行比較(AND邏輯操作),如此可得一位信息的譯碼(這是一種排錯的手段)。延遲線傳送數據時,不能在傳輸的過程中進行數據存取,因此,需要非常細緻且符合時間節拍的程序編制,才能讓控制器在預計應該到來的時刻對這些脉衝進行接收和譯碼。若程序佔用時間太長,則會丟失一些脉衝信號;而若數據一到就進行存取,更有可能使存取的時間比其在水銀柱中傳播的時間還長。這卻導致了存儲器在容量和可靠性上出現較大偏差。
還有一種普遍的磁芯存儲器。這種存儲器由鐵氧化合物材料的小環串在導線上,布網而成。一個小環在經過一個順時針或逆時針的磁化后完成狀態的反復切換,這樣就能表示1或0了。要完成這個操作,需要控制電流有選擇地通過一個或多個磁芯,從而達到改變磁化方向保存數據的目的。磁芯存儲器體積小(如一塊鼠標墊大小的面積上只須幾釐米就能表示近百萬位),耗電少,散熱小,磁化過程十分短暫——幾百萬分之一秒的時間內即可進行數據存取或磁環磁化,因此,它能完成數據的快速存取。另一優點則是因磁芯退磁極緩慢,因而即使斷電,數據仍能完整保存。
在一個大型計算機的CPU中,對電路脉衝的傳送需要花一段時間。這段時間事實上妨礙了CPU的操作速度:因為,移動數據的機器週期,比運算器(AU)和控制器(CU)所能操作的週期,前者比後者長。我們希望即使無法將這段多花費的時間除去,也要盡可能將前者保持在後者的最大值範圍內。這便促成了集成電路、芯片的產生。
如今,一個完整的CPU具有時鐘,其他一些控制器電路,運算器,一些存儲器。他們集成在一塊指甲大小的硅片/金屬材料上,也就是我們常說的微處理器/芯片。這種設備耗電極少,工作速度很高,可靠且穩定,一旦測試並交付使用,就能連續工作數年。
通常除了最小的CPU外,幾乎所有附加的存儲器都需要另外的芯片提供,這就使存儲器的使用更為靈活。如,通用存儲器採用RAM(隨機存取-存儲器,其用法完全和磁芯存儲器一致);CPU中則用ROM(只讀-存儲器,程序指令永久保存,不會被意外毀掉,在計算機生產階段中運用);某些情況下也需要改變ROM的數據,這時可以使用EPROM(可擦可編程-只讀-存儲器,紫外線重寫ROM);等等。
6.3 輔助存儲器-串行存取
輔存可分為兩種,一是可以對數據進行直接存取的存儲器,另一種是對數據進行串行存取的存儲器。
類似唱片播放時要將唱機的唱頭直接放到音道上進行選擇,盒式磁帶播放時要都放過一邊才能找到所需部份一樣,這種存取方式被稱為串行存取。
6.4 輔助存儲器-直接存取
目前大多輔存都以磁力形式來記錄計算機的數據。存儲器所用的介質上有鐵氧化合物塗層,通過對該塗層的磁化來記錄由0和1構成的數據形式。
直接存取-存儲器中主要的一種是像音樂唱片一樣的平盤形式。該平盤有一個可磁化的面,并有一個跨越在這個面上進行移動的讀寫頭。唱片和計算機磁盤的區別在於它們所記錄的物理形式不同。
在唱機中,唱片按恒定的速度旋轉,其表面有一道從邊緣開始一直繞到中心的螺旋槽。
計算機磁盤轉速也恒定,但讀/寫操作時,讀/寫頭是固定不動的,因此,它沒有段杜一條的羅旋軌跡,而是有一個套一個的幾百個同心圓式的磁道。磁盤旋轉磁頭固定時,可讀出某一磁道中的信息;移動磁道需要將磁頭重新驅入進行固定,然後再進行讀寫操作。計算機磁盤驅動器上的磁頭和盤面上浮動的距離較小,磁頭的定位是通過外部一個驅動裝置來完成的。
6.5 計算機磁盤
計算機磁盤主要有兩種形式——大型、小型。
大型磁盤常按“磁盤組”形式安裝。每一面都有他們各自所屬的讀寫頭,且這些磁頭是相互關聯地固定著的。
小型磁盤即早先我們稱的軟盤。
6.6 磁盤容量
磁盤所能存儲的數據量。直接按實際情況表達即可,關於計量數據的量的方式,見4.1 。
6.7 补充
顯微鏡下的金氧半場效電晶體測試用元件。圖中有兩個閘極的接墊(pads)以及三組源極與汲極的接墊。
金屬—氧化層—半導體結構:
幾種常見的MOSFET電路符號,加上接面場效電晶體(Junction Field-Effect Transistor, JFET)一起比較:
第七部份 輸入/輸出設備
輸入,即把從外界得到的數據編程計算機能識別的編碼電子脉衝。
通常這可以分成一步或兩步來做。前者最常見的方法是把一個鍵盤與計算機連接起來,打字錄入數據。後者是將信號發送分為兩步進行,第一步準備,第二步輸 入。準備時涉及到鍵盤,鍵盤可連接到一個磁介質。輸入則是在數據準備之後,利用光敏元件或電磁元件對磁介質、卡片、紙帶或幾張紙進行掃描,使上面的編碼或 標記直接地轉換成電子脉衝。
類似還有高速紙帶閱讀機,直接輸入設備:電傳打字機、工程師控制台、VDU等。
第八部份 數據的收集及轉換
把問題轉換為數據,將數據收集起來,提供給機器處理,這是本文自始至終的出發點。這裡先說討論數據的收集。
把數據收集起來提供給機器,這裡有兩方面,一是人收集數據,另一是由機器進行準備或轉換數據。人這邊的主要問題是數據的收集。
通常,數據的收集并無法由一個人完成,這就意味著需要在參與收集的人群範圍中達成一定的共識,否則收集無法完成。
人工的做法常涉及三個步驟:
- 記錄;
- 傳送;
- 轉錄。
例如一个快递公司的運轉。
这里面的每一步工作都可能引起新的错误,而且最后一步最易出錯,原因主要是一下兩點:
數據準備操作員要讀出那些手寫的單據——這些素材有可能不清晰;
數據準備操作員實際上與數據并沒有關係——他們不懂得這些數據是何含義,也許在不經意中就將其篡改了。
由於以上原因,常引出數據收集的下一個步驟(事實上已經開始進入數據轉換),即對準備的數據進行校驗。
數據校驗的方式多種多樣,但主要還是通過重複數據準備的活動,然後對兩次結果進行比較來完成。對兩次結果的比較可以交給機器完成,機器只識別相同與不同,而具體差異的處理仍舊需要人來完成,這事實上又增加了一次出錯的可能性。
目前,几乎所有专门的應用中,都必須解決數據收集及其轉換中所存在的幾個問題:
1) 數據越陳舊,用處越少;
2) 檢查及校驗錯誤需要花費大量時間,且延長了輸入階段;
3) 收集和轉換過程中,步驟越多,出錯機會越多。
爲了儘量減少以上問題所造成的影響,數據收集及轉換的設備在兩個領域中都得到了發展。
首先,集中化的數據準備部門發展除了更有效、更尖端的設備,以求最大程度地減少延遲,并把人為的錯誤保持到最低程度。
其次,新的设备能允许收集和转换的发生尽可能地接近于数据的生成源。这样也就又省下了一些步骤,检验需要花费时并非所有的数据在收集阶段都会发生错误, 校驗目的是为防止錯誤,但是这项工作是否有價值,卻是因情況而異的。
→精確度
一些时候精确度十分重要 ,比如在一个银行系统中帳戶的记录;但有时它又不那么重要,比如个人信息当中的姓名及通讯地址。精确度的重要性决定了 检验的必要性,因此我们需要考察数据准备过程中 影響精确度的各种因素——首先就是传统的数据准备设备。历史上十分著名的包括了卡片穿孔机,卡片穿孔检验机,紙帶穿孔机,紙帶校驗機等(这里不做详细介 绍)。後來又發展出了鍵盤,各種直接錄入設備和直接記錄設備,極大程度地提升了數據收集階段的效率。
但由數據收集到數據處理始終需要歷經數據轉換,各種設備的發展也衍生了各種數據記錄方式,具體體現就是種類繁多的數據格式。
要將這些不同格式的數據進行轉換,目前它們共通的都是轉換為計算機處理系統下的二進制數據,需要我們提前對數據表示的相關知識有所瞭解。
→数据表示
數據有離散、連續之分,在計算機內,數據都是離散型數據。處理連續數據,我們將其進行近似處理,這便是所謂的近似法。
數據的表示,有二進制、八進制、十六進制等,不一而足。各種數據在使用中爲了統一,往往存在一個通行的標準,這樣做被稱之為標準化。
數據的標準化事實上對應了各種編碼,常見的編碼如ASCII,UTF-8等。
對數據進行標準化處理,其目的在於統一數據格式。數據的格式指數據以特定位置、特定形式組合的方式進行表示的規定。標準化的數據其實就意味著統一的數據格式,如此,在處理時就能省去對各個數據項進行重複說明,能提高數據處理的效率。
注:在《數據處理入門(下)》中,所有的圖片均來自網絡。
數據處理入門(上)
內容簡介
簡述計算機軟硬件系統的必要基礎知識;
著重討論數據處理這一概念——包括數據的收集、轉換、表示、傳輸和處理(以及處理的環境及標準化和應用的特點)。
對於數據處理的許多基本技術、設備和概念都做了詳細的圖解和說明。
第一章 數據處理概述
1.1 引言
本章就數據處理的一些基本概念作一般地討論。
數據處理(Data Processing),常記作DP或EDP(電子數據處理),此詞在商業方面用得較多。
何謂“數據處理”?
首先,我們要知道什麽叫做“數據”。
數據可簡單定義為——那些被處理后能產生信息的東西。即,數據可被認為是任何的基本事實。而信息可被看作是我們借助於數據(基本事實)作出行動或決定的有用的東西。→那麼,利用一組基本事實去產生信息的過程就是所謂的處理。
商業上,數據可以是關於工作時間、接收票據、庫存量以及供貨單位和顧客地址的事實。所有這些大量的數據都需要去收集、排成順序并組合或表示出來,以利於人們去管理商業。如,一份交給顧客全部貨物的清單以及他們所付的款數就是一組數據。現在對數據作出處理——把那些過期還未付款的顧客挑選出來,列成一份清單,這份清單上的數據是有用的(對商家而言),這些數據就是信用管理員所需要的信息。
1.2 數據
認識到數據的定義之後,我們就必須考慮其中所涉及的定義要素。
首先是處理。
數據一般被認為是能輸入到某個處理系統中去的一些事實。而就處理而言,不局限於計算機系統。因為不僅計算機能對數據進行處理,人也能對其進行處理。因此,觀察人如何處理數據信息,我們可以找到計算機進行數據信息處理的模仿對象/方式。
你可以對日常數據進行觀察。OK,我們的結論是:數據的表示存在三方面要素。就數據本身而言,其是以符號/文字/圖案等具象方式存在的。因此數據的表示使得數據得以存在,而能為人所處理/感知的數據。因此其表示附帶相應的要求。
一則,以適當的方式提供——即數據應該用一種可以被我們理解/懂得的語言來表示/書寫。
二則,數據要求有適當的精確度。例如,天氣預報不可能給出準確的數字,但實際上,觀眾只需要能夠感官上認知天氣冷暖的數據即可;而牛奶成份指示器則需要絕對的精確和正確,因為顧客需要這個精確度來判斷牛奶的質量。這說明數據表示時需要恰當的精確度。
三則,數據需要形象的表示方法。既然人對數據的表示是有要求的,(即並不是任何形式的數據都可被人接受/理解,更別說處理了)那麼恰當/正確的數據表示方法就是能讓數據滿足這些要求的存在。例如,公墓的墓碑上刻有碑文,碑文要求保留很長一個時期,因此用石刻的方式。而路況廣播所傳遞的信息只是憑司機當時的聽覺,因此可以用無線電波的方式傳遞數據信息——滿足了瞬時效應和清晰度要求。
1.3 處理
數據是用來幹什麼的,這一目的就決定了信息的特徵。
數據經過處理便產生輸出——信息。這種處理也許很簡單,也有可能很複雜。
買東西的例子事實上還說明了數據處理系統的另一個共同特性。如果主婦本人不親自到商店去,怎麼辦呢?她可以拜託她的鄰居去幫她買這些東西啊。她只要把購物清單交給鄰居就可以了。這時,主婦這個處理系統的輸出就變成了鄰居這一處理系統的輸入了!數據處理系統常常就是一環扣一環,這一階段的輸出構成下一階段的輸入!
明確了數據處理的輸入和輸出內容,我們還需要瞭解處理的內容。
科學家經過觀察,總結認為,處理可以看成由下列活動的一個或多個組成:
——計算(例如,需要的食品量與庫存的食品量之差)
——比較(例如,已有的方案里,是否有某種情況存在?)
——邏輯(例如,按正確的順序進行算術運算)
——決定(例如,賭馬,猜測哪匹獲勝)
1.4 機械化
上面的例子,都沒有涉及到任何機械或電子的處理形式,因為它們都是比較瑣碎的事情或者說完全不適合機械處理。適合機械處理的多數作業是在商業和工業領域中,而非普通家庭環境中。
那麼,適合機械處理的一個數據處理系統是什麽樣的呢?
機械適合于做一些涉及到重複性工作的事情。
只有一個作業要做的地方,採用一個簡單的機械就行。若有多個作業或者多個子處理一次完成,那麼有可能要考慮全部的機械化。
因此,重複性的工作是一個有利條件,而可自動操作的順序是另一個有利條件。
從而,我們可以設定計算機作為處理電子數據的機器,按照輸入-處理-輸出的順序來進行。對於這三個不同的階段,通常都設有一個單獨的設備。
首先來看輸入。人類通過感覺來獲取外界數據/信息,文字中傳遞的數據/信息通常是由我們的眼睛獲取到的。計算機并沒有眼睛,但它有一個能完成類似工作的設備——輸入設備。例如,某些計算機的輸入設備設有光敏元件,它們可以掃描預先準備的數據,并把明暗不同的圖案轉換成計算機可用的電子信號。這就相當於人的眼睛將信號送給大腦。
另一種形式的輸入設備,即打字機上的鍵盤。它連於計算機,按一下鍵就產生一個代碼電子信號。
同樣,有多種方法能是計算機產生它的輸出。恰當地從這些方法選取才能順利地完成計算機作業。
輸出可以通過一台打印設備,一台和打字機一樣的小型設備或一台高速的大型設備產生。對於那些不需要打印的記錄,可用電視螢光屏顯示輸出。
再來討論處理。上文已闡述過,計算機是一個處理系統,我們通過對人這一處理系統的觀察,進行了計算機處理系統的設計。因此,處理系統的要素不變,仍是輸入,處理,以及輸出。
計算機由輸入、輸出設備和一個中央處理器(CPU)組成。
CPU擔負處理的職責,處理的內容就有——計算、比較、邏輯、決定。
目前,CPU設計有一個運算器(AU)——負責算術、比較、決定;一個存貯器(內部存儲器/內存)——存放輸入的數據、中間結果、最後結果、程序(即使一個簡單的任務,長春也涉及到一個以上的操作。如(5+6)×26這個代數式的運算,並且,除了不只一個操作這一特點外,運算時,正確的運算順序也十分重要,譬如(5+6)×26與5+6×26的運算結果不一樣。);一個控制器(CU)——控制程序的執行順序。
通常,當我們給定一作業讓計算機來做時,必須將作業排成一個操作表,我們把這種表稱為程序。一個表就代表一個計算機的程序或一個事件的程序。程序/操作表跟數據一樣,存放在CPU的內存中。通過以上敘述,現在可直接對數據處理的兩個系統進行比較。
對於這兩個處理系統,我們做了如下抽象:
在人工數據處理系統中,辦事員按照自己的手工操作過程親自控制操作順序,並且每當完成一步,他就去處理下一步。當他完全處理了輸入,並且產生了輸出;他有得繼續進行下一個輸入的處理工作。這種採用相同方法的重複工作一直到IN文件架上空了,或者他要轉到某個其他的任務(比如午餐間隙)才會中斷。
而計算機完成這種處理,通常是直到那裡沒有任何的輸入了或者遇到了一個終端信號,改終端信號發送給控制器(CU)并告訴它轉到更高優先級的作業。
第二章 處理的主要類型
2.1 適應性
本章對那些特別是在商業環境中適合計算機的集中數據處理類型進行討論。
一個操作執行的越頻繁,適合自動化處理的可能性就越大。
2.2 成批處理
工資管理一直是計算機的一個傳統任務。
每個雇員的數據量是相當小的,例如工作小時、等級、發款日期等。需要的主要結果也很小,如工資變動情況;儘管計算工資的規則相當複雜,但是這個規則對每個雇員卻是完全相同的。因此,一旦設計好這種指令程序,就可用於任意多個雇員了。
這一類的應用就叫做成批處理——以信息週期為單位,把數據收集起來,集中進行處理,這種處理需要一些時間,一次處理結束之後,在下一個週期重複進行相同的整個處理過程。
2.3 聯機處理
處理系統的應用還有另外一種類型——聯機處理,這時信息並非成批收集起來進行處理,而是立即進行處理。有些作業按這種方式進行處理會更加有效。
2.4 系統的改進
第一章中,家庭主婦總需要不斷重複家裡食品的儲備工作,工業中也有類似。爲了保持必不可少的物品的儲備,必須按照下列因素來重新訂購物品:什麽物品預計會被使用;當前的庫存量;預計的交貨日期;以及購買策略。→並非所有庫存物品都要進行一次重新訂貨,而計算機的速度卻是允許把整個庫存量檢查一遍并指出短缺物品項目的,這可以大大提升工業運作的穩定性。
計算機還能隨時保存使用的記錄,然後按一定比例進行綜合預報。這項工作如果用手工來做會花費很多的時間、金錢,但人們使用計算機卻可以在費用和對大數據量的處理需求之間找到平衡。這是成批處理的一種應用。
廣義來講(泛泛而言),一個工資管理系統就是一個辦公室工作過程的在線,但在一個庫存控制系統中,一個計算機化的系統要比一個辦公室工作系統的執行能力強的多。
2.5 大型文件
儘管處理過程簡單,但若涉及到大量需要被處理的數據/對象/文件的時候,使用計算機很是非常值得的。例如,政府互助協會需要對投資者和借款者的帳目做大量的存儲記錄;類似銀行要保留其大量顧客的帳目文件等等。
2.6 過程控制
目前,我們只討論了人言所能識別的數據——如字母或數字,並非所有的數據都是如此的!在過程控制中,數據可能是溫度,物資的流量或者重量,或許還會存在著一種要求,使上述數量限制在可容許的範圍之內。這時,每一個數據採樣經過檢查也許會引起校正動作,最好在下一個數據取樣之前完成這個校正動作。這類處理就叫做實時處理。
當前,實時處理已經越來越多,如導彈系統,反導彈系統和交通管理系統。
2.7 分佈式數據處理
很多商業機構分佈在廣闊的地理區域內:如銀行、國稅局、民航局。同一商業機構,都需要存取公用的商業信息。一種辦法是一個中央計算機內保留所有的信息,并在遠程(遠處)的辦公室打電話更計算機中心聯繫,讓一個操作員去詢問計算機。另一種辦法是直接將遠距離辦公室跟忠言計算機聯結起來,這要借助於這個國家的郵政電話服務機構。
這樣,在一個銀行的分行,就可以從計算機文件中查找出任何帳目的平衡情況,並且能就地顯示出來,同時將請求發送給計算機中心,然後通過電話線再把回答送回到分行。有時對一個本地的辦公室來說,在送往計算機設備之前和從該設備接收之後,最好先把本地辦公室的信息處理一下——這件事由本地的CPU來做。
用這種方法,一個零售的分理處就可以在本地計算機上提供發票和加工訂單,為匯總帳目而把這些數據發送到中央處理機,而且還能接收到其他分理處庫存情況的信息。這種計算機和終端的網絡就叫分佈式數據處理,包括了數據傳輸。
第三章 存儲程序的概念
3.1 CPU
計算機程序在CPU的存儲器里。
最早的一個程序的定義是:一個程序是一個指令表。
或者更確切地說:一個程序是一個計算機可識別的指令表。
3.2 指令類型
上文中,我們說要執行某個作業,我們需要把它的執行步驟變成一個操作表,即程序。而由程序的定義(一個程序時一個指令表),我們可以知道,指令表就是操作表。則指令即操作。
而我們確切地指出了——一個程序是一個計算機可識別的指令表。那麼,什麽樣的指令才能被計算機識別呢?
還記得前文中我們對操作的分類么?
指令即操作,則指令也可分為計算、比較、邏輯、決定四個內容。
在計算機中,它們分別對應於算數運算指令、判別指令、轉移指令和I/O指令。數據的獲取(輸入)是爲了用來運算,運算是爲了比較(判零),比較是爲了改變執行順序(轉移),按要求的順序執行是爲了得到結果(輸出)。
3.3 程序流程圖
把一個程序直觀地描述出來,最簡單的方法就是用一系列的方框,每一個方框里都含有一個說明,並且把這些方框用流線按其先後順序連接起來。這就是所謂的一個“流程圖”。
程序流程圖就是前文中所述操作表/指令表,這個名稱只是對四種類型進行不同的表示及關聯方法設定后取的一個新的稱呼,代表它符合公認的表示規範。
下面舉個例子說明。例子:根據本周周號推算下周周號(周號範圍在1-52)。
上文中的流程圖直觀地反映了一個作業的完成步驟,它就是我們最早提到的操作表!我們用有統一規範的語句將它們表示出來,這就是源程序啦,源程序的每一個步驟就是一個指令/操作。圖中同樣還反映出計算機在做判別時是需要判零的哦。
基於上文已做的鋪墊,我們來細細考慮一下計算機數據處理系統的處理過程吧!
首先,獲取數據(輸入)。誒?不對啊,計算機不是很笨嗎?小猴子說,它只能判零啊,既然如此,這麼笨的傢伙怎麼知道什麽叫做獲取數據?
好吧,讓我們來看看目前的技術是怎樣解決這個問題的。
(某些頭腦異常的傢伙)經過仔細觀察,得出結論——程序中所用到的數據可以分為兩種:
——輸入數據,通常是變量和未知量(如,上例中的本周周號),以及變量結果(如:下周周號);
——程序數據,多事不變的已知量(如,上例中1和52);
想辦法讓程序知道要找的數據在什麽地方,並且讓它知道去做什麽。所以可以把一個程序步或指令剖分為下列步驟:
——去做啥,即操作;
——在哪兒,找到參加運算的數據存放地。
3.4 存儲器編址
利用計算機可以進行判零的特性,我們把計算機存儲器編以不同的地址標號。事實上,一台計算機的存儲器可分成許多大小相等的存儲單元,并給每個單元都分配一個標誌號,稱之為地址。由於從一開始,地址系統就是從零開始算起的,因此,通行的規範是從零開始對存儲器編號。
上文就已經說過,我們把程序也同數據一樣存放在存儲器里。如此,程序指令和數據都有了可以被計算機判零的編號,傻傻的計算機就可以干各種複雜的工作了!
歷史上,第一台大規模計算機(1946年美國製造),即電子數字計分計算機,它在具有好幾百個插頭和導線的插件板上設置了程序代碼!這種辦法在程序之間差異大的情況下,極易出錯,而且很費時;而就在新中國成立的同一年(1949年),劍橋大學研製出第一台內部存儲程序計算機(EDSAC),EDSAC就是把程序同數據一樣存放在存儲器里的,然後計算機從程序起點處的指令開始一次執行這個程序。當一條判別指令到了滿足條件的地方時,它就必須轉到別處去執行另一條指令。OK,如此,計算機需要的就只有兩個東西了——指令/操作和地址。
由此得出計算機存儲器編址的三個要義:
——存儲器里的數據和指令時存在不同的位置的;
——每條指令包含一個指令內容(即操作)和一個地址(至少一個地址);
——地址就像門牌號,一個地址號對應的內存單元存放的可以是數據,也可以是一條指令。
3.5 程序順序
計算機最強大的功能之一就是重複執行一個過程哦,所以我們往往需要一條轉移指令來讓它重新進入前面已執行過的程序。
下圖就是一個典型的存儲程序的邏輯圖。
3.6 累加器與寄存器
在周號的例子中,當我們從本周周號里減去52時,那麼原來的結果就被破壞了。這種破壞性的運算可能是非常麻煩的,因此通常都用另外的叫做寄存器的存儲單元(可以對初始數據、中間結果及結果都分配內存空間,使數據可以逆向尋回)來做這種運算,而這些寄存器中的主寄存器常常又叫做累加器——如果累加器的內容為0/非0,那麼就轉移。
其他寄存器是用來做算術的,這種算術有些指令本身就可以做,尤其是修改地址——叫做“變址”,這些寄存器就稱為變址寄存器。它們和累加器一樣,也能做判別,但只能判零。
對不同的操作數(它們的地址有一個簡單的相互關係)進行同一種操作時,就要用到變址寄存器。
如,我們要把地址100,101,102,……,109的內容加起來,那麼程序就應該像下面這樣:
0 清累加器[將累加器置零]
1 Add(100)[將100的內容加到累加器中]
2 Add(101)
3 Add(102)
4 Add(103)
5 Add(104)
6 Add(105)
7 Add(106)
8 Add(107)
9 Add(108)
10 Add(109)
11 Print(累加器的內容)
3.7 修改地址是個問題
如果我們能把一個變址寄存器的內容跟地址加起來表示修改地址,那上面的程序就可以短多了!行不行呢?
作如下嘗試:
恩,我們把變址寄存器加上一個圓括號,就像(IR)一樣,用來表示一個變址寄存器的內容。現在,一個地址的內容就可以寫成(100+(IR)),如果IR地址的內容是5,則這個式子表示的就是地址100+5或105的內容~。
這時程序可以改寫成:
0 清累加器
1 清IR
2 Add(100+(IR))
3 Add 1 to (IR)[(IR)+1→IR]
4 IF(IR)=10,Jump 6
5 Jump 2
6 Print(累加器的內容)
如此,我們已經節省了幾條指令,雖然在此省的不多,但要是在一個很長的程序按這個比例去省的話,那麼將會省很多指令。所以,這樣的考慮是有價值的。
3.8 子程序
程序中的另一種要求就是在不同的地方要作同一種處理。爲了避免多次寫這段程序,我們只須對該程序引入一個專門的入口和出口過程,使其在整個程序中只出現一次。這就是子程序。
在進入一個子程序之前,程序必須在當該子程序執行完時,把要被執行的指令的地址存儲起來。這種附加的地址叫做“鏈地址”(指針),而且子程序的最後一條指令總是“GOTO鏈地址”(首/尾指針)。
3.9 機器代碼
目前我們談到的程序實際上都在計算機的存儲器里,這樣的程序,要能夠被使用就要有各自的實際地址,計算機根據這些地址來識別它們。而真正的計算機指令是下面這樣的:
11100101
10001000
11011101
……
這是“機器代碼”指令,計算機只認識這種形式的指令(即可以判零)。
你願意用上面這低級又特別繁雜的方法來寫程序?
如此浪費時間,還容易出錯,這可不是明智的選擇。這不,後來就發展了更好的辦法。這裡,我們只討論兩個主要的改進——自動翻譯程序和高級程序語言。
3.10 地址標號
爲了和只會說機器代碼(即0和1)的計算機進行交流,我們做的第一個改進,就是發展了一個自動的翻譯程序。
利用這個自動翻譯程序,就不必用二進制數11000011來表示地址195了,只需要給這個地址取一個名字,比如“A”,“B”,或“TAX-PAID”。每次用到這個地址的時候,翻譯程序就可以自動地將他轉換成正確的二進制代碼。
這樣,我們要記的就是名字,而計算機來記憶那個名字對應的二進制數字地址,找到該地址里存放的數據或指令。
3.11 語言法則
還是爲了和只會0和1的計算機溝通,第二個改進可謂聲名遠播——它就是我們現在編程時使用的高級程序語言。
這個改進是基於第一個改進的。有了自動翻譯程序后,我們可以使用人意識里已有意義的代號來表示不同的二進制數,而如何映射全憑自動翻譯程序的設計者喜歡。我們對自己說的語言進行剖析,然後再仿照我們的日常語言給那些莫名其妙的二進制數加上代號,如此,高級語言就誕生了。
高級語言使人的工作變簡單了,好記又快,而且又精確(一個代號對應其固有的二進制數,而人工輸入二進制數的話很容易被密密麻麻的0和1弄得眼花繚亂以致出錯)。用高級語言寫的程序指令就需要多一步處理——由機器/翻譯系統翻譯成機器代碼。各種高級語言都各自有一個專門的翻譯系統。
翻譯系統事實上是一個計算機程序,我們稱之為“編譯”程序,它能接受程序員的指令,又能輸出機器碼指令。
3.12 計算機程序
現在,你對計算機是否有一個明確的認識了呢?
一個計算機程序就是計算能能夠按其說明的順序去執行的一組指令。指令有四種類型,即算術指令,判別指令,轉移指令,輸入/輸出指令。
高級語言允許用較簡單的,更容易明白的形式去編寫計算機程序,但用高級語言編寫出來的程序要通過編譯程序翻譯成機器碼。
計算機的存儲器是由一組經過任意編號的單元組成的,這種單元能保存指令和數據。尋址一個存儲單元常常是通過一個名字或者標號,而非難於記憶的二進制單元號(還容易出錯)。
在高級語言和機器碼之間的語言是彙編語言或低級語言。這種語言也是要通過翻譯程序才能變成機器碼。
讓我們回到開始,我們對生活中的工作進行了觀察,發現我們在做的事情實際上大多數都是數據處理。接著我們對“數據”的概念進行了思考,給出了一個可行的原理體系——數據-數據處理-處理系統-輸入,操作/處理過程與輸出-操作/處理過程-操作表-指令表/程序-指令-機器碼指令-改進指令-翻譯系統/編譯程序-高級程序語言指令,至此,我們對問題的處理才從身體力行轉變到了只要動動手指頭交給計算機去做的地步,而這樣的變化在計算機及高級程序語言誕生了迅速蔓延開來,我們的社會發生了巨大的變化——這邊是二十世紀中後期發生的轟轟烈烈的第三次技術革命!
第四章 數制
4.1 進制轉換表
事實上,我們意識里的數字幾乎都是默認其為十進制數為前提的。
十進制只是一種計量數量的方式,我們剛好有十個手指,所以人類選擇了十進制,但計算機沒有十個手指,它只有高電位(電路通路)和地電位(電路斷路)兩種狀態,所以它只認識0和1,因此,計算機使用二進制。
就像九九乘法表一樣,進制轉換表需要你爛熟於心。當記住,我們已經學過的加、減、乘、除都是十進制的,因此,你做進制轉換運算時,若沒有特殊聲明,都被認作(包括你自己)是十進制運算哦!
下面給出一個進制轉換的例子:
4.2 模擬計算機
需注意,計算機不僅只是“數字”計算機,還有模擬計算機。
模擬計算機中,我們用量來表示數(無論採用生麼數字)。量就是只有帶上單位以後才具有意義的數據。並且,“數字”意味著數據以離散的方式在計算機內表達,“模擬”意味著數據以連續的方式在計算機內表達。
第五章 中央處理器/CPU
5.1 引言
前面已給出了數據處理與計算機的大致輪廓。因此,現在我們可從計算機CPU出發,進一步分析數據處理系統的各個部份。
CPU含有三個部份:
——運算器(AU):進行算術和邏輯運算;
——控制器(CU):控制作用;
——存儲器:保存程序和數據。
接下來,我們依次討論。
5.2 運算器
5.2.1 算術運算
運算器只做加減法,每一次只能處理兩個值。
AU中有一個累加器和一個計數器。如果累加器(初值必須是零)搭配上計數器一起使用,就可以進行乘法和除法運算。有了加減乘除,就可以編寫簡單的數學函數,通常我們把這些函數設計成專用電路,并把這些運算構成的專用電路叫做“微程序”,裝入AU。
微程序裝入硬件后,我們可以通過簡單的機器代碼指令,如乘法,去調用這些微程序,避免代碼的繁複。
5.2.2 邏輯運算
邏輯器執行的功能是按位/逐位進行比較。
計算機內有三個邏輯比較運算符:AND、OR、NOT EQUIVALENT(=NOR)。這三個邏輯運算符的主要用途之一就是對一長串的位的模式進行比較。
5.2.3 轉移
AU除了算術運算和邏輯運算外,另一功能是當程序指定有“轉移”或“GOTO”時進行判定操作。一個轉移的作用,就是改變計算機所遵循的嚴格的順序操作,使它去執行與緊跟著的存儲單元內的下一條指令不同的另一條指令。
轉移是AU對自身基本功能——邏輯/算術運算的再運用,可以理解為:當程序中出現“轉移”或“GOTO”→判斷是條件轉移還是無條件轉移→
→無條件轉移:給出轉移目的地地址號。
→條件轉移:判斷條件是否為真/符合事實(1)→真:轉移;假(0):不轉移。
5.3 控制器
CU實際上是一個轉接中心。它只會和協調程序指令以調用全部操作,其中包括輸入或輸出設備的啟動或停止,包括將數據送到存儲器和從存儲器接收數據,也寶庫存儲器與AU之間的數據傳送。
CU將保持計算機處理直到遇到下列三種情況之一才會停止:
1) 全部數據處理完畢,并在作業末位發現HALT指令;
2) 在系統的某處發現了一個故障;
3) 停止或中斷計算機。
由於控制器實際上是一個轉接中心,所以,我們可以通過日常生活中非常熟悉的電話交換系統(也是一個轉接中心)來間接認識它。
下圖給出一個電話交換系統:
由此,你可以想像出控制器的工作情形——一個控制器具有所有可能的數據通路,它按指令(根據自身的指令條件/原則)對這些通路的要求進行必要的連接。
當我們說到“分佈式數據處理”或“連接處理器”時,不難想像它們不過是上述這些交換機連在一起的簡單表達而已。
5.4 實際的算術運算
這裡我們以加法為例。
問題:A+B,產生一個結果C。
一條完整的指令將完成系列操作:把地址A的內容和地址B的內容相加,結果放在地址C中,然後到地址D中取下一條指令。
這個求和過程需要在基本硬件上來討論,因此,我們需要先認識三個基本硬件概念:寄存器、加法器、機器週期。
下面給出一個CPU結構抽象圖:
那麼實際的加法運算究竟是怎樣完成的呢?
首先,我們解釋一下上文所提到的三個概念:
——寄存器:一個能接收信息,保存信息以及在控制器只會下傳輸信息的設備。不同寄存器的名字跟它的用途有關。一個地址寄存器保留一個存儲單元的地址或者一個IO設備的地址;一個指令寄存器含有代執行的指令;一個累加器保留累加的值(最後結果或中間結果);一個存儲寄存器含有送往存儲器的數據以及從存儲器接收的數據。
——加法器:將兩個寄存器的數據相加,結果放在第三個寄存器里。這就是加法器。
——機器週期:計算機中,所有的操作都發生在固定的時間間隔內。通過一個i的電子時鐘一告訴發出有規則的脉衝信號來確定這些時間間隔。這些時間間隔便是機器週期,即一個機器週期(=固定數量的脉衝)就是計算機完成一個機器操作的時間。完成一條指令所需的機器操作次數取決於它的複雜性。
下面,我們回到上文的問題,我們用指令表示之:ADD A,B,C,D。
它的時序(即微程序)是:
0 把指令從所在的存儲單元(指令地址寄存器含有該指令的存儲地址)取出,放到IO寄存器。
1 把該指令放在線性的指令寄存器中。
2 把叫做ADD微程序的第一部份進行譯碼。
3 ADD微程序將住存儲地址A放入現行地址寄存器中。
4 通過讀取週期來去地址A的內容并放到IO寄存器中。
5 IO寄存器的內容放入第一個加法寄存器(如x)中。
6 ADD微程序吧B主存儲地址放到線性的地址寄存器中。
7 同5.
8 同6,將本內容放到加法寄存器y中。
9 把x和y從最低有效位(右手邊)開始想家,結果放在加法寄存器z中。
10 z的內容傳送到存儲IO寄存器中。
11 從現行指令寄存器中取出地址C并放入線性地址寄存器中。
12 通過寫週期將其結果放入C中。
13 對D做同12的處理。
14 通過讀週期吧D的內容取出并放入IO寄存器中。
15 把內容傳送到線現行指令寄存器中。
這些微程序都在控制器(也包括時鐘)的控制下進行,它們作為一個完整的功能硬化在硬件裏面。(待续)
撰文的知识与规范总结 引文的知识与规范梳理(下)
目录
1 目的及范围
1.1 目的
1.2 范围
1.2.1 撰文
1.2.2 引文
2 撰文
2.1 何为论文
2.1.1 论文的定义
2.1.2 一次文献的定义
2.1.3 简单区分论文与论着、技术说明
2.2论文的类型/级别
2.2.1 学位论文
2.2.2 刊物论文
2.2.3 会议论文、会议报告
2.2.4 调研报告
2.2.4.1 文献综述
2.2.4.2 科技报告
2.2.4.3 少量其它文体
2.3 写论文的规范
2.3.1 论文的格式标准体系
2.3.2 论文的格式规范
2.3.2.1 学术论文的通行格式规范
2.3.2.2 学术论文的子类格式规范
3 引文
3.1 何为引文
3.2 文献的定义
3.3 常见文献——图书、数据、档案
3.3.1 图书
3.3.2 资料
3.3.3 档案
3.4文献的类型/级别
3.5 新型文献术语
3.5参考文献/引文的定义
3.6参考文献/引文的表达规范
参考文献
(续)
2.3.2.2 学术论文的子类格式规范
以学术论文的通行格式规范为基础,学位论文、刊物论文、会议论文、调研报告这几个子类的格式还添加了其它规则。
子类之 学位论文格式规范
在学术论文的通行格式规范为基础上,学位论文包括五个部份:前置部份、主体部份、参考文献、附录、结尾部份[4]。
其格式规范如下:
子类之 刊物论文格式规范
一般期刊每年的第一期,会刊出该刊论文及引文的格式要求,参照其规范要求撰文。
子类之 会议论文、调研报告格式规范
这两种文体可以在学术论文的格式规范上,根据具体需要作出调整。
一般来说,若文章是短文,则不需要目录;若文章位于期刊中,则不需要封面、题名页;也有可能论文的级别高于一般学术论文,这时往往像学位论文一样,需要有封面、题名页、目录等部份,并且表明密级、UDC编号等。总之,具体的规范视情况而定,但不能脱离大的规范风格。
3 引文
3.1 何为引文
在论文中引用他处文献,以为论据进行说明,称之为引文。
3.2 文献的定义
文献(literature)是指记录有知识、信息的一切载体[12]。
文献构成的三个基本要素:
Ÿ 信息内容:文献的核心;
Ÿ 载体材料:承载文献信息符号的物质材料;
Ÿ 记录方式:将包含信息内容的信息符号存储到载体材料上去的方法。
3.3 常见文献——图书、数据、档案
3.3.1 图书
定义不一,择重陈述如下[7]:
一种定义 广义地泛指各种类型的读物。
联合国教科文组织的定义 狭义地指凡由出版社或出版商出版的49页以上的印刷品,具有特定的书名和著者名,编有国际标准书号(ISBN),有定价并取得版权保护的出版物。(5页以上,48页以下的称为小册子)
我国有关方面 广义地指以传播思想和知识为目的,用文字、图画或其他符号记录于一定形式的材料之上的著作物,包括公开或内部出版发行的书籍、报刊、图册、图片等印刷品和以光盘、磁盘等形式出版发行的电子书籍等。
3.3.2 资料
资料一般是指研究问题、做出决策的客观依据。
数据是按照一定用途和为了一定目的或解决某一问题而有选择地积累、分类、归纳和整理的各种文字材料,包括内部的电话记录、往来函电、会议记录、秘密文件等,公开出版发行的书籍、地图、报刊杂志上发表的文章、图片、消息、数据、调查报告、声像材料,以及费出版物的实物材料等[2]。
3.3.3 档案
档案是指国家机构、社会组织和各人在社会活动中形成的、保存备查的文字、图像、声音以及其他各种形式的原始记录[2]。
3.4文献的类型/级别
按不同的划分标准,文献可以分成多种类型[2]。常见的分类标准有:按载体(外在)形式划分、按加工层次(文献深度)划分、按内容的公开程度划分、按出版类型划分(传统文献类型划分方式)、按文献编制特点和人们的使用习惯划分、按文献的学科属性划分、按文献产生的时代阶段划分。
3.5 新型文献术语
随着计算机技术的发展和普及,许多新兴文献术语开始涌现[2]。
新型术语之 网络文献信息
广义泛指通过计算机网络可以利用的文献信息资源综合。
但从图书馆文献资源的角度来说,网络文献是指网络信息资源中能满足人们文献需求、改变人们只是结构的信息,抓哟包括电子书刊、电子报纸、各种类型的文献数据库等。
新型术语之 文献数据库
能进行自动查询和修改的数据与信息的集合,是文献信息检索的主要工具。目前有各种各样的数据库(如期刊全文、电子图书、产品数据库、标准法规等),它们一般都由数据库商提供,通常限制在一定的范围内使用,可以在图书馆网站上看到大量的有权限的数据库。
新型术语之 多媒体文献
运用计算机多媒体技术,以数字代码方式,将图、文、声、像信息存储在磁、光、电戒指上,通过计算机多媒体设备或者具有类似功能的其他设备进行阅读或使用。
新型术语之 开放获取文献
开放获取,即Open Access, 简称OA,是近年来国际学术界、出版界、图书情报界为打破商业出版者对科学研究信息的垄断和暴戾经营而采取的推动科研成果通过互联网免费、自由地利用的运动。
定义不一,但有两个最重要的属性:
– 作品一旦出版,任何人都可通过互联网实时、免费地获取;
– 版权属于作者,只要以适当的方式承认作者是文章的原创者,任何人都可以因合法的目的而阅读、复制、传播和使用该文章。
新型术语之 开放存取期刊
– 一般由出版商或者学会团体创办,通过同行评议,确保其专业质量;
– 主要采用作者付费而对读者免费的形式,是期刊能在更大范围内得到利用;
– 经费来源一般有两种:一是主办者全部筹集,杂志对作者和读者都是免费的;一是作者付费出版,读者免费使用。
新型术语之 开放获取仓储
开放获取仓储又被称为“知识库”、“开放获取文档”,研究机构、学会团体或作者本人将未曾发表(预印本)或已经在传统期刊中发表过(后印本)的论文作为开放式的电子档案储存。
主要类型:
– 学科OA仓储:arXiv电子印本文文件库;
– 机构OA仓储:一般由大学、大学图书馆、研究机构、政府部门等创建和维护。如Florida State University Library的D-Scholarship仓储,MIT的D-Space系统,中科院国家科学图书馆知识库,香港科技大学图书馆知识库等。
开放获取仓储中的作品有两种:
对于出版社有版权,但出版社允许进行自存储的作品,即作者可以自行存储信息到知识库中,如论文、专着等;
对个人拥有版权的作品,作者可以直接放到知识库中。
目前,开放获取数字资源的搜索引擎或一站式检索平台有OAIster、Socolar等。更多关于开放获取文献的信息可浏览:http://www.earlham.edu/~peters/fos/overview.htm。
新型术语之 电子预印本与电子印本
电子预印本指科研工作者的研究成果还未在正式的刊物上发表,而处于同行交流目的自愿通过E-mail或网络等方式传播的科研论文、科技报告等电子文献。
电子印本是学着和专业人员利用电子文稿,通过网络分享他们的研究成果,包括预印本、在办、科技报告、会议文献以及其他电子形式的交流。
电子(预)印文本文献库已经出现,较著名的有美国洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory)的arXiv.org,奇迹文库预印本http://www.qiji.cn,中国科学技术信息研究所与国家科技图书文献中心联合 建设的“中国预印本服务系统”http://prep.istic.ac.cn,http://prep.nstl.gov.cn, 教育部科技发展中心主办的“中国科技论文在线”网站http://www.paper.edu.cn等。国外重要的预印本文献资源查阅http: //wxr.512j.com/dushu/tushuqingbao_manual/Preprint.htm。
3.5参考文献/引文的定义
GB/T 7714—2005《文后参考文献着录规则》的定义 文后参考文献,简称为参考文献,指那些为撰写或编辑论文和著作而引用的有关文献信息资源[14]。
2007年8月20日在清华大学召开的“综合性人文社会科学学术期刊编排规范研讨会”上决定,2008年起开始部分刊物开始执行新的规范“综合性期刊文献 引证技术规范”。该技术规范概括了文献引证的“注释”体例和“著者—出版年”体例。不再使用“参考文献”的说法。这种规范主要在层次较高的人文社会科学学 术期刊中得到了应用[15]。
3.6参考文献/引文的表达规范
文后参考文献着录方法有“顺序编码制”和“著者-出版年制”[7]。我国多使用前者,其具体规则包括:
·根据正文汇总引用文献的先后,按著者、题名、出版事项的顺序标注;
·序码放在方括号内,上角标为语句的组成部份;
·各类文献着录格式均有规范[14],详见下表。
[1] 全国文献工作标准化技术委员会第七分委员会. GB7713-87, 科学技术报告、学位论文和学术论文的编写格式 [S]. 北京: 中国标准出版社, 1987
[2] 王细荣, 韩玲, 张琴. 文献信息检索与论文写作 [M]. 第二版: 上海交通大学出版社出版发行, 2009
[3] 佚名. 论文写作指导 [M]. 西南交通大学出版社, 2009
[4]国务院学位委员会办公室,中国科学技术信息研究所. GB-T 7713.1-2006, 学位论文编写规则 [S]. 中国标准出版社, 2007
[5]全国文献工作标准化技术委员会第六分委员会. GB6447-86, 文摘编写规则 [S]. 北京: 中国标准出版社, 1986
[6]全国文献工作标准化技术委员会. GB/T 3179-1992, 科学技术期刊编排格式 [S]. 北京: 中国标准出版社, 1992
[7]全国文献工作标准化技术委员会. GBT 3860-2009, 文献主题标引规则 [S]. 北京: 中国标准出版社, 2009
[8]全国文献工作标准化技术委员会. GB/T 1.1-2000, 标准化工作导则 第1部份:标准的结构和编写规则 [S]. 北京: 中国标准出版社, 2000
[9] 国家计量局. 中华人民共和国法定计量单位 [S]. 1990
[10] 汉语拼音正词法基本规则委员会. GBT 16159-1996, 汉语拼音正词法基本规则 [S]. 北京: 中国标准出版社, 1996
[11] 全国人民代表大会常务委员会. 中华人民共和国学位条例[S]. 北京: 中国标准出版社, 1980
[12] 冯国平. 数学文献检索与论文写作 [M]. 成都: 西南交通大学出版社, 2011
[13] 中华人民共和国国家知识产权局专利文献种类标识代码标准制订工作组. ZC 0008-2004, 专利文献种类标识代码标准 [S]. 中华人民共和国国家知识产权局 2004
[14] 全国信息与文献标准化技术委员会第六分委会. GB/T 7714—2005, 文后参考文献着录规则 [S]. 北京: 中国标准出版社, 2005
[15] 《清华大学学报》编辑部. 综合性期刊文献引证技术规范; 综合性人文社会科学学术期刊编排规范研讨会, 清华大学, F, 2007 [C]
撰文的知识与规范总结 引文的知识与规范梳理(上)
目录
1 目的及范围
1.1 目的
1.2 范围
1.2.1 撰文
1.2.2 引文
2 撰文
2.1 何为论文
2.1.1 论文的定义
2.1.2 一次文献的定义
2.1.3 简单区分论文与论着、技术说明
2.2论文的类型/级别
2.2.1 学位论文
2.2.2 刊物论文
2.2.3 会议论文、会议报告
2.2.4 调研报告
2.2.4.1 文献综述
2.2.4.2 科技报告
2.2.4.3 少量其它文体
2.3 写论文的规范
2.3.1 论文的格式标准体系
2.3.2 论文的格式规范
2.3.2.1 学术论文的通行格式规范
2.3.2.2 学术论文的子类格式规范
3 引文
3.1 何为引文
3.2 文献的定义
3.3 常见文献——图书、数据、档案
3.3.1 图书
3.3.2 资料
3.3.3 档案
3.4文献的类型/级别
3.5 新型文献术语
3.5参考文献/引文的定义
3.6参考文献/引文的表达规范
参考文献
引言
本文通过查阅数据,总结了撰写各种论文的规范要求,并且重新梳理了参考文献的引用时的各种规范要求及注意事项。
本文讨论的论文包括平时所说的学术论文、学位论文、调研报告、会议记录、综述总结、开题报告。
1 目的及范围
1.1 目的
以广泛调研的信息数据为基础,对撰文的相关知识及规范做出梳理总结,对引文的各种知识及规范做出归纳叙述。
1.2 范围
本文内容的论述范围的简明陈述。
1.2.1 撰文
指撰写论文,学术性文章,报告,总结。
1.2.2 引文
在撰文时引用他处文献。
2 撰文
2.1 何为论文
目前,学力要求以论文为证,方可获得相应证书以为学力证明。
2.1.1 论文的定义
论文是学术论文的简称。它是文献的一种,其从属于一次文献类型,论文是一次文献类型中的一种文体。
学术论文又称学术文本或研究论文,是对某种问题的讨论或研究进行描述的文章。国家标准《GB7713-87科学技术报告、学位论文和学术论文的编写格式》给出学术论文的定义是:“某一学术课题在实验性、理论性或观测性上具有新的科研成果或创新见解和知识的科学记录;或是某种已知原理应用于十几种取得新的进展的科学总结,用以提供学术会议上宣读、交流或讨论;或在学术刊物上发表;或作其他用途的书面文件。”[1]
本文所讨论论文如无说明都指学术论文。
2.1.2 一次文献的定义
一次文献又被称为原始文献,指那些以著作者本人的研究工作或研究结果为依据,撰写而成的论着、论文、技术说明等[2]。
2.1.3 简单区分论文与论着、技术说明
论着与论文在文字数量级别上不同。
论文主要对自己的研究结果进行过程剖析,给出论据使人信服。技术说明则旨在说明技术的内容,对于技术的产生、推导不予阐述。
2.2论文的类型/级别
选取按论文出版类型不同进行分类的分类方法,可以将论文划分为:学位论文,期刊论文,和会议论文、会议报告。
另一种比较笼统的文体——情报调研报告,尽管无法按出版类型给出明确的划定,但它也属于学术论文的范畴,它包括文献综述,专题述评,和可行性报告(开题报告)。
一种说法,将以上四者统称为学术论文,即论文[2]。
另一种分类则将论文分为科学技报告,学位论文,及学术论文[1]。
本文将按照第一种说法进行详细阐述。
2.2.1 学位论文
定义一 国家标准《GB7713-87科学技术报告、学位论文和学术论文的编写格式》规定,学位论文是表明作者从事科学研究取得创造性的结果,或有新的见解,并以此为内容撰写而成、作为提出申请授予相应的学位时评审用的学术论文[1]。
定义二 学位论文通常是高等院校毕业生在教师指导下,综合运用所学专业的理论和基本知识,及自己已经掌握的基本技能,描述出作者针对学科内某一现象、问题进行分析研究,从学术角度提出一定观点,得出的相关研究结论的学术论文。
学位论文常常按学位等级分为学士论文,硕士论文,博士论文。不同级别学位论文在内容及评审上有所不同[3]。
定义三 作者提交的用于其获得学位的文献[4]。
2.2.2 刊物论文
在刊物(期刊、杂志、报纸)上正式发表了的论文。如下分别给出了定义[2]:
期刊是指定期或不定期出版的有固定名称的连续出版物。
杂志是与期刊相似的一种连续出版物,但它的内容多是通俗性的,如娱乐、新闻等。
期刊与杂志都有国际标准连续出版物编号(International Standard Serial Number,简称ISSN),这个编号以ISSN为前缀,加上前后两段各4位,中间以连接号相连,共8位数字组成。
国内出版的期刊、杂志还有国内统一刊号,如《情报学报》的国内统一刊号为:CN11-2257/G3。CN是中国国别代码,11是地区号,2257是11地区连续出版物的序号,G3是分类号。
报纸是一种及时报导、内容广泛、文字通俗的信息源。重要报纸都编有月度或年度索引,国内出版的报纸也有国内统一刊号。报纸常被用来寻找关于国际、国内和本地事件的最新消息;寻找社论、评论、专家或大众的观点。
2.2.3 会议论文、会议报告
会议可以按其组织形式和规模分为五类:国际性会议、地区性会议、全国性会议、学会或协会会议、同行业联合会议。
每一次会议的举行,都会产生相应的文献,我们称之为会议文献。会议论文和会议报告是会议文献中最主要的形式。
会议文献,即指各类学术会议的资料和出版物,包括会议前与会者预先提交的论文文摘,在会议上宣读或散发的论文,会上讨论的问题,交流的经验和情况等经过整理编辑加工而成的正式出版物(会议录)等。
通常会议文献包括会议论文、会议期间的有关文件、讨论稿、报告、征求意见稿等,但严格来说,会议文献仅指会议上发表的文献。
常用术语包括:
2.2.4 调研报告
2.2.4.1 文献综述
文献综述(review, summarize, survey, comment, 简称综述)是指在手机大量文献资料后,经综合分析而写成的某一专题性的学术论文。它既是三次文献,也是一次文献。
2.2.4.2 科技报告
科学技术报告是描述一项科学技术研究的结果或进展或一项技术研制试验和评价的结果,或是论述某项科学技术问题的现状和发展的文件。
从技术角度,可以分为:
2.2.4.3 少量其它文体
除文献综述、科技报告之外,还有开题报告、可行性报告/研究、专题述评等文体也属于此范畴。
2.3 写论文的规范
2.3.1 论文的格式标准体系
2.3.2 论文的格式规范
2.3.2.1 学术论文的通行格式规范
(待续)
参考文献
[1] 全国文献工作标准化技术委员会第七分委员会. GB7713-87, 科学技术报告、学位论文和学术论文的编写格式 [S]. 北京: 中国标准出版社, 1987.
[2] 王细荣, 韩玲, 张琴. 文献信息检索与论文写作 [M]. 第二版: 上海交通大学出版社出版发行, 2009.
[3] 佚名. 论文写作指导 [M]. 西南交通大学出版社, 2009.
[4] 国务院学位委员会办公室,中国科学技术信息研究所. GB-T 7713.1-2006, 学位论文编写规则 [S]. 中国标准出版社, 2007.
[5] 全国文献工作标准化技术委员会第六分委员会. GB6447-86, 文摘编写规则 [S]. 北京: 中国标准出版社, 1986.
[6] 全国文献工作标准化技术委员会. GB/T 3179-1992, 科学技术期刊编排格式 [S]. 北京: 中国标准出版社, 1992.
[7] 全国文献工作标准化技术委员会. GBT 3860-2009, 文献主题标引规则 [S]. 北京: 中国标准出版社, 2009.
[8] 全国文献工作标准化技术委员会. GB/T 1.1-2000, 标准化工作导则 第1部份:标准的结构和编写规则 [S]. 北京: 中国标准出版社, 2000.
[9] 国家计量局. 中华人民共和国法定计量单位 [S]. 1990.
[10] 汉语拼音正词法基本规则委员会. GBT 16159-1996, 汉语拼音正词法基本规则 [S]. 北京: 中国标准出版社, 1996.
[11] 全国人民代表大会常务委员会. 中华人民共和国学位条例 [S]. 北京: 中国标准出版社, 1980.
[12] 冯国平. 数学文献检索与论文写作 [M]. 成都: 西南交通大学出版社, 2011.
[13] 中华人民共和国国家知识产权局专利文献种类标识代码标准制订工作组. ZC 0008-2004, 专利文献种类标识代码标准 [S]. 中华人民共和国国家知识产权局 2004.
[14] 全国信息与文献标准化技术委员会第六分委会. GB/T 7714—2005, 文后参考文献着录规则 [S]. 北京: 中国标准出版社, 2005.
[15] 《清华大学学报》编辑部. 综合性期刊文献引证技术规范; 综合性人文社会科学学术期刊编排规范研讨会, 清华大学, F, 2007 [C].
文學的計算機
眾所周知,軟件是用語言編寫而成的。你有沒有想過,既然都是語言寫成的產物,那麼做軟件和文學其實並沒有多大不同?
我們作文,講究先立意,再構思,再而至於著筆。軟件也是如此,先定位,再設計,再而至於編程。
文有文體之分,軟件也有類似分法。文體是基於著文時用於表情的文字組織方式而言的,軟件中基於編程組織方式的不同進行分類就是結構化編程產生的軟件、面向對象編程產生的軟件、面向服務編程產生的軟件等等。
編程的結果是軟件,這裡的軟件是廣泛而言的。它可以是小模塊,也可以是大系統。聯想到文學,軟件也就相當於我們著文的結果,它可以是一篇雜文,一部小說,一首詩或者一曲詞。那麼,我們怎樣錘煉自己的計算機內文學的功夫呢?
我們自出生開始就學習表達,至於識字念書,便開始學著以更多更高級的表達方式傳達自己的心情。當年齡日漸增加,我們開始學習說話的藝術,舉止的把握,識人知物的拿捏等等。每一種表達的錘煉,都是暗循其道的,對這錘煉之道的領會程度,決定著表達的效果,影響著表達者的前行。
我迄今的認為是,文學錘煉的要領是一步一步,夯實基礎。小學的基礎是,識字,知意,記詞,三者都必須在相應的語境中去認識和理解。然後,就可以寫簡單的作文了,抒情也好,記事也罷,都當是此時能力之所至。至於中學,字音、字形的工作已經大大減少,相應的,詞彙量開始變多,詞之海,浩瀚無邊,只有日積月累, 才能在著文時信手拈來,以期佳句天成。這時,我們還開始系統地認識文體,逐漸步入大型文學作品的閱讀之境。譬如一部小說,其中往往又會運用詩歌,記敘,雜 論等來完成小說的表達,這樣的混合簡直和混合編程的概念驚人一致!那麼,事實上,小說可以說是一種目前而言的最高級文體。數載流年,通讀小說者眾,閱小說 無數者多,然能著文者少,著文能為人識者更少,文著然後為人識,經時間沉澱,成佳作名篇之談者,便寥寥了。
再說軟件。當是從基礎開始,認識基本的指令(字),基本的表達結構(順序、選擇、循環;文學中的組詞是也),在相應的語境中去認識和理解,就像文學中用字 組詞,用詞造句一般,你要多練習用指令寫程序塊,用表達結構連塊成件,成件就是完成一個文件,例如一個.cpp 文件,其實這裡的文件不就是文學中造出來的句子么?就像有的句子可以單獨表意,有的句子要結合上下文理解,源文件也是有的可以單獨執行功能,有的卻要結合 其他的源文件一起才能執行功能。遣詞造句的功夫並非一朝一夕的事情,它貫穿在整個文學錘煉的骨體之中。以令寫塊,連塊成件的功夫也是如此,這功夫還有另一 個名字,叫做算法。
早在入學之初,我們便開始接觸遣詞造句的功夫的鍛煉,但我們可沒有一直遣詞造句!二、三年級的時候,我們就開始用自己拙劣的文筆著文了!
如此,你一定要知道,我們可不能一直只練習以令寫塊,連塊成件的功夫——即算法啊!你要知道算法(以令寫塊,連塊成件的功夫)怎樣進行,花一年時間認識以後,就該開始寫軟件了啊!
文學提高的方法,在此之後,便是詞彙的積累,佳句的積累,多讀,多想,多學,多寫,慢慢地,你的文章就變得好起來了。
做軟件也是如此,你要識得更多的指令(字),更多的程序塊(詞),更多的很棒的源文件(佳句),多讀,多想,多學,多寫,你的軟件也一樣變得好起來了。
事實上,各種系統的搭建方法其實也是可以類比的。它們像文學中的什麽呢?嗯,長篇文章的構思或者說結構。
而至於軟件工程,是指搭建軟件這件事情,就像著文這件事情一樣。