7月 30, 2011

ROM , Programmable ROM

http://www.cs.umd.edu/class/spring2003/cmsc311/Notes/Comb/pla.html
http://dropzone.tamu.edu/~wshi/248/memory.ppt
http://www.cset.sp.utoledo.edu/eet3350/lesson1.html

[ Read-only memory (ROM) ]
可用來實現多數的組合電路 (multiple output combinational circuit)



[ PROM ]
改良 ROM 中的 memory array 那一部份,使得該區可以 programmable
也就是說,在 PROM 的架構下,原本 memory array 使用 OR array
現在可以重新進行程式規劃。但在 decoder 部份,仍使用固定的 FULL 的 AND array。

[PLA] programmable logic array

1. 可以用來實現 SOP
2. 使用前需要先行簡化邏輯式
3. AND array 可程式規劃,而且 OR array 也可程式規劃
這表示邏輯閘可以精簡,只留需要用到的元件。
4. PLA 的 AND term 是可以被共享的
5. 當 input 個數少時,宜用 PROM;反之當 input 個數多時,宜用 PLA

[PAL]
1. AND array 可程式規劃,但是 OR array 不能程式規劃。
2. 只有 AND array 可程式化,所以較便宜。

7月 29, 2011

XML XQuery DOM

[ XML, eXtensible Markup Language ]

一個容易理解閱讀,同時也能讓電腦進行解析辨識的語言。

整個XML文件可以視為一個樹狀結構的文件,文件實體(document entity)視為根節點
加上其他的宣告與標籤稱之為此XML文件的物質結構(Physical Structures),其中須
注意其根節點與根標籤是不同的。

XML的前身是SGML,但是SGML是一種非常嚴謹的檔案描述法,導致過於龐大複雜,
難以理解和學習,進而影響其推廣與應用。

專家們使用SGML精簡製作,並依照HTML的發展經驗,產生出一套使用上規則嚴謹,
但是簡單的描述資料語言:XML

XML被廣泛用來作為跨平台之間互動數據的形式,主要針對數據的內容。
XML設計用來傳送及攜帶資料資訊,不用來表現或展示資料,HTML語言則用來表現資料,
所以XML用途的焦點是它說明資料是什麼,以及攜帶資料資訊。

[ XHTML, eXtensible HyperText Markup Language ]

表現方式與超本文標記語言(HTML)類似,不過語法上更加嚴格。
HTML語法要求比較鬆散,這樣對網頁編寫者較方便,但對於機器來說,語言的語
法越鬆散,處理起來就越困難。

XHTML是一個基於XML的置標語言,看起來與HTML有些相象,本質上說,
XHTML是一個過渡技術,結合了XML(有幾分)的強大功能及HTML(大多數)的簡單特性。
XHTML 就是一種XML應用。它採用XML的DTD文件格式定義


當XML越來越成為一種趨勢,就出現了這樣一個問題:
「如果我們有了XML,我們是否依然需要HTML?」

結論是:需要。因為大量的人們已經習慣使用HTML來作為他們的設計語言。
而 XHTML是一種為適應XML而重新改造的HTML。

XHTML 解決HTML語言所存在的嚴重制約其發展的問題:
HTML 發展到今天存在三個主要缺點:
1. 不能適應現下越多的網路設備和應用的需要,比如手機、PDA。
2. 由於HTML代碼不規範,瀏覽器需要足夠智能和龐大才能夠正確顯示。
3. 數據與表現混雜,這樣你的頁面要改變顯示,就必須重新製作HTML

XHTML的優點是,嚴謹:
當前網路上的 HTML 的糟糕情況讓人震驚,早期的瀏覽器接受私有的HTML標籤,
所以人們在頁面設計完畢后必須使用各種瀏覽器來檢測頁面,看是否兼容。



[ XML DOM , Document Object Models ]

XML DOM 是用於獲取、更改、添加或刪除 XML 元素的標準。
DOM 讓您以程式設計方式讀取、操作和修改 XML 文件。
XML 文檔中的每個成分都是一個節點。

[XQuery]

XQuery 相對於 XML,等同於 SQL 相對於數據庫。XQuery 被設計用來查詢 XML 數據。
XQuery 是用來從 XML 文件找尋、提取元素及屬性的語言。

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

doc("books.xml") ... 用於打開 "books.xml" 文件

XQuery 使用 XPath 來選取 XML 文檔中的節點或節點集。

下面的路徑表達式用於在 "books.xml" 文件中選取所有的 title 元素:
doc("books.xml")/bookstore/book/title ,執行結果:

<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>

在 XQuery 中提供了 FLWOR 語法,讓查詢功能更強大

FLWOR 是 "For, Let, Where, Order by, Return" 字母縮寫。

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title

for 語句把 bookstore 元素下的所有 book 元素提取到名為 $x 的變量中。
where 語句選取了 price 元素值大於 30 的 book 元素。
order by 語句定義了排序次序。將根據 title 元素進行排序。
return 語句規定返回什麼內容。在此返回的是 title 元素。
let 針對特定反覆運算的給定變數指派值 (此例中未用到)

7月 12, 2011

PPP 協定 (Point to Point Protocol)

一般廣域網路的網路協定第二層封裝協定有以下幾個種類:
HDLC 、PPP 、SLIP 、X.25、Frame Relay 及ATM,所以PPP 協定正是其中一種普遍被使用的廣域網路協定。用於兩個網路節點的直接連接。例如兩台電腦透過電話線的網路連接。

1. Data Link Layer 協定

2. 以位元組為單位(Byte Oriented)的通訊

3. 使用哨兵法 FLAG 0x7E 標出 frame 的起終

4. 使用LCP(Link Control Protocol)來負責底層線路控制與連接。
LCP 是PPP 協定中最重要的部分。LCP 的主要工作是建立PPP 協定
的連線以及與連線相關的工作:認證、壓縮、錯誤偵測。

連線建立階段會發送LCP 協定的網路封包,以便設定和測試網路連線。

5. 使用NCP(Network Control Protocol )來負責上層資料的封裝過程。