jb0403 wrote:
這裡的M是指百萬,還...(恕刪)


速度上的M大多是百萬,k跟G也是一樣

通常是資料量的大小才是1024*1024

我也不知有沒有例外....

至於頻寬算法等等,還是乘除概念,只是得注意編碼與否,平行通道數量,小b跟B換算等等

另外8b/10b,做個補充(如有錯,請指證,有些東西我也忘了)

訊號傳輸,不是只有傳,接收的人也得知道你 "什麼時候" 傳了 "什麼東西"

但你想想,接收的人如何知道你 "什麼時候" 傳東西 ??

如果去看SATA的接腳pin的定義,你會發現沒有clock (時脈) 這玩意,那傳輸線兩端的人如何同步 ??

所以現在的做法是接收的人從你傳來的訊號轉出這個時脈,這個時脈必須頻率跟相位對齊訊號,

才能正確接收資料,這種電路叫 clock data recovery (名子取的很直觀,就是資料轉時脈)

在通訊電路的課本裡,他常會跟PLL一起出現

但是,問題來了,如果你現在資料一堆0或一堆1,怎麼辦,沒有像方波上升或下降的邊緣,

clock data recovery根本就無能為力轉clock給你

所以8b/10b就來了,藉由編碼降低這種一堆0或一堆1出現的機率

不過缺點就是,你的傳輸速度要變快,像SATA II 其實你要的資料速度不是3G而是2.4G,3G是編碼過的

所以像 PCIe 3.0 就進化到了 128b/130b

以上如有錯誤還請多多指證,剛剛看了wiki才慢慢回憶一些東西
這討論串很像是問一打雞蛋是一顆的幾倍.....
然後衍生出討論蛋糕的製作流程
本人鍵盤車主,愛車豪邁125
神之首 wrote:
我本身是資策會...(恕刪)
number 與 digit:
12345 是一個 number (數)
而 1、2、3、4、5 則各是 digit (中文沒有對應的詞,勉強說的話,可以講 位數)

先來看看十進位 (decimal) 的 digit 和 number

框框裡可以填 0、1、...、9
精確來說,是可以在 0、1、...、9 間擇一填入
有十個選擇,但最終只有一個被選中

LSD (最右邊的位數) 有 10 個選擇
往左走,也有 10 個選擇
最後,MSD (最左邊的位數) 也有 10 個選擇 (在此令 0 也可被選取)
故,有 10*10*10 個 patterns,共有 1000 個不同的樣式

再來看二進位
bit 是一個縮寫:binary digit
二進位的 digit,當然也是一個 digit,當然只會有一個「位數」
可選 0 或 1,但終究只有一個被選中
一個 byte 有幾個 bit?這是定義
現代的定義是 8

2*2*2*2*2*2*2*2 = 256

補充
4 個 bit 我們稱為 nibble
一個 byte 有兩個 nibble
而一個整數的長度 (也就是整數型別的大小),稱為一個 word
唯,在 x86 裡,固定以 16 bit 為一個 Word,不管你的處理器是 16-bit、32-bit、64-bit
32 bit 稱為 Dword,64 bit 稱為 Qword
1Byte =8bit = 256種排列組合

一筆資料的最小單位是:1Byte(1個位元組)

會用1Byte=8bit 的最大原因是為了: 編碼 (硬體和軟體之間的銜接);程式語言(人類和電腦之間的溝通)

ASCII 編碼(美國信訊交換碼)的第一個A,就是American ,它主要表示128個(7個bit)英文字母、數字、符號和文件控制字元,再加上1個bit是奇偶驗證碼,成為1個Byte(8個bit)

也就是說,1byte代表一個「字元」;

而Big 5或Unicode用1個Byte 顯然不夠用,所以要用到2個Byte才夠。
好像 大家 都 有點 答非 所問,不是 指 答案 錯誤,而是 離題


bit = 位元 = 物質 世界 的 物理 位置 = 電腦 機器 真正 看得懂 的 語言 = 物質 世界 的 電腦 機器 當然 只能 處理 物質 世界 的 具體 東西 = 電腦 當然 看不懂 人類 世界 的 抽象 的 資料 資訊

現代 名詞 稱為 [數位]( 以 轉換 意涵 的 抽象 觀點 來 取名 的 ),最 早期 的 名稱 為 [並列]( 以 物質 世界 的 觀點 來 取名 的 ),例如:64 位元 CPU,可以 把 它 看成 是 有 一排 64條 [並列] 的 電線 接進 CPU 晶片 內,被 [同時] 處理( 不是 很 嚴謹 很 正確 的 說法,不過 比較 好 理解 )

再 強調 一次 [同時] 這個 重點 詞

0 或 1 只是 一個 取名 而已 = 即是 我們 將 規則 制定 成 每1個 位置 只 限定 兩種 情況 = 其 由來 之 原因 前面 已 有人 說了,就 不再 重述 = 可以 表示的 資料 數量 = 口語化 說明 即是 1個 位置 依據 其 數學上 的 排列 組合 情況 變化,可以 表示 [2個] [數量] 的 人類 資料 內容 = 如果 是 [同時] 用 2個 位置 的話 可以 表示 [4個] [數量] 的 人類 資料 內容,然後 以此 類推


重點 來了

這裡 所謂 的 1 Byte = 8 bit ; 1 KB = 1024 Byte ...後續 省略

是 指 單位 名稱,是 指 其 單位 名稱 的 取名 及 其 制定的 換算 規則,所以 是 8倍 沒錯

將 8個 位置 視為 1組,取 單位 名稱 為 Byte(中文 名稱 叫 位元組)...後續 省略

[2個 位置] 是 [1個 位置] 的 2倍,但 對 其 排列 組合 變化 情況 數量 為:[2個 位置] 是 [1個 位置] 的 4倍

所謂 的 資料量 其實 還是 以 位置 為 單位(電腦 機器 真正 看得懂 的 語言),例如 [口語 的 1 KB 的 人類 資料量] = 8192 bit 電腦 機器 語言 資料量 = 要 使用到 共 8192個 物理 位置 其 所 能 做的 數學上 的 排列 組合 變化 情況 數量 的 位置 需求 = 2 的 8192次方 組合 變化 情況 數量

再 根據 被制定 的 位置 的 各種 組合 變化 情況 所 代表 的 意義 下去 表示 該筆 人類 的 抽象的 資料 資訊 的 內容,此處 已是 撰寫 程式 語言 的 範圍 了,就 不再 深論 下去

[1 Byte = 8 bit] 對 電腦 機器 讀得懂 的 位置 資料 數量 而言 就是 8倍沒 錯,但是 對 人類 的 資料 表示 而言 就 不是 了


如果 講錯 的 地方,請 多多 包涵!
幻想超人

神之首 wrote:
比如說家裡ADSL傳輸速率是2Mbps, 那10MB的資料要傳多久(恕刪)


10M bytes = 80M bits .... 這是實際傳輸的payload
在TCPIP環境之下扣除network packet 的header / control / CRC .... etc
有效payload只有實際傳輸量的80%上下
換句話說80M bits的實際傳輸payload必須在網路上傳送 80 / 80% = 100M bits的資料
100M / 2M = 50 Sec .... so simple

至於光電元件轉換用到的encode /decode編碼那是另一回事
先不要扯太多啦

empty8021 wrote:
10MB=80Mb
80/2=40
所以答案是40秒

時代真的在變
現在高中的資訊概論課本已經有講這個了。哪天說不定會在小學課本看到也說不定…


40秒完全錯誤


網路傳輸你還要加上封包格式和長度問題進去
首先,

1 byte = 8 bit

再來舉例說明,

我們常見的網路速度標示 XXX Mbps 代表 mega bit per sec

而硬碟容量標示 XXX GB 代表 giga byte


所以標示 大B 代表 byte ,而標示 小b 代表 bit ,如果要單純作單位換算,兩者差 8倍

K573 wrote:
1Byte =8bi...(恕刪)


這邊還有人知道ASCII耶...

rossbug wrote:
速度上的M大多是百萬...(恕刪)


非同步跟同步傳輸
串列傳輸很多都沒有CLK
像RS232 USB就是非同步最簡單的例子
1 byte = 8 bit

網路, SATA, USB 3.0

都有 8b/10b

都使用類似網路封包的方式傳資料

網路一般用 25 MHz 去倍頻, 所以 bit rate 是 25M 的倍數, 不是 1024 的倍數
SATA 3G 是3G bit/S = 3,000,000,000 bit/S , 原則上也會拿 25M 去倍頻
USB 3.0 也是一樣 6G bit/S



關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!