




السمعة:
مشاهدة المرفق 2544
بسم الله الرحمن الرحيم
**بسم الله الرحمن الرحيم
رحلتي من تغميس الشاي الى البروسيسور
قبل كل شيء هذا المقال ليس بمقال مبين او مقال مافي اي اخطاء ؛ يمكن انا اخطأت واي انسان معرض للخطأ ، الانسان من النسيان عشان هيك لو شفت خطأ او معلومه مش واضحه او حتى سؤال بتقدر تسوي Reply وتصحح او تسال ويعطيكم العافيه جميعا.هذا الموضوع سوا رعب لطلاب الهندسة الكهربائيه والحاسب حتى في علوم الحاسب للمبتدئين اول ما يشوف هاي الصورة :

من المحه الاولى بتيجي الفاجعة بسبب انهم اصلا مش فاهمين كمبتدئين من خلال هاض المجال المنطقي قادرين على بناء معالج كامل وهو الاساس القوي الي بتحتاجو عشان تكمل في تعليمك في
Computer Organzation & Computer Architecture سواء كنت مهندس او عالم هاض مش مهم لانو اصلا بوخذو نفس الكورسات البدائية لكن الفرق بكون المستويات المتقدمة فرض على طلاب الهندسة وعند علماء الحاسب بكون غير اجباري وما بننكر انو المعالجات الدقيقة سوت ثورة عالمية في العصر الحديث الان عدد المعالجات الدقيقة في الجوال تفوق عدد الكمبيوترات القديمة التي كانت تملئ غرفة كامله بكل مكان تستخدم المعالجات الدقيقة في تكنلوجيات الطبية حتى في من الجانب العسكري انظمة الدفاع يوجد لديها معالجات دقيقة معقدة للغاليه وقوية للغالية لا يمكن الاستغناء عنها مثال في العملية العسكرية في هاذي الدقيقة روسيا تشن هجوما على اوكرانيا بفضل المعالجات الدقيقة التي تطلق الصواريخ وهذا الامر الذي جعل روسيا تقوم بتهريب المعالجات الدقيقة المصممه من الغرب الى اراضيها لصنع الصواريخ كما يدعي الغرب روسيا لم محاصرة.
باذن الله هون راح نشرح كيف تصميم المعالج الدقيق نظريا :
يمكنك ان تقوم بصنعه عمليا لكن هذا يدخل به هندسة الكمبيوترات اكثر ، كيفية صنعه وبناء كمبيوتر صغير 8-bit او اي شيء يعني باذن الله راح نشرح عن ال digital system الي ما تعلمتها في المدرسة حتى قبل ما تبدأ يعني لازم تكون على الاقل مخلص الثانويه … ليش؟ عشان يكون عندك على الاقل خبره برمجيه شوي وخبره عن الكهرباء شوي وكمان عن الهاردوير شوي وراح نتعلم شوي عن ادارة التعقيد عشان المعالجات الحالية فيها ملاين الترانزستورات اي انسان طبيعي راح يضيع وهو يقرأ.
نبدأ الشرح بسم الله
NUMBER SYSTEMS : ك انسان طبيعي انتا متعود انت تعمل مع الارقام العشرية الديسيمل الي هي من 0 الى 9 الي اصلا هي عدد اصابعك العشرة على هذا الاساس تم بنائها لكن تكتب في خانة واحدة من 0 الى 9
لكن في كثير من انظمة الارقام مثل السداسي العشري والثنائي والثماني

مش محتاجين نمر عليه كثير لانو الكل بعرفو حتى لو مش داخل مدرسة بتعرفو ولا انتا زلمه قنينة مي وجودها اهم منك في الحياة
ارقام العشرية : {1,2,3,4,…,9}
هاذي للخانة الواحدة لكن من الممكن ان يتم جمعها مع بعض وتصبح اكبر مثل
89071234
كل عامود من هاذي الارقام لديه وزن
نحن نقراء من اليمين الى الشمال لحساب الاعمدة هي
1
10
100
1000
10000
الاساس او ال base الخاص في هو 10 لانه من 0 - 9
وسنعرف الارقام من خلال الاساس الخاص بها عشان ما نتشتت واساس العشري هو 10 يعني راح نعرفو هكذا
(890134)₁₀
يمثل الرقم العشري المكون من رقم ن
N-digit decimal number
يمثل احد الاحتمالات
0,1,2,3,4…10^n - 1
وهاض اسمو نطاق الرقم
مثال الرقم الممثل من 3 ارقام عشرية مثال رقم في احتمال 1000 النطاق الخاص فيه
{0,…,999};

هو الرقم الثنائي المكون من 0 و 1 وفي الاخر يتم جمعهم او تضمينهم مع بعض عشان يكونو رقم كامل مثل 1001010100 اساس الرقم الثنائي 2
N-bit binary^2
BIT : Binary Digit
عشان تحسبو بشكل اسهل هو مضاعفات رقم 2
زي
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536
ال table هاض بوضح الباينري نمبر مقابل الديسيمل

وبدنا نسوي مثال كيف تحويل الثنائي الى عشري
1010₂ → (?)₁₀
N-bit = N-bit×Weight^column
(1010)₂ → 12^3 + 02^2 + 12^1 + 02^0 = (10)₁₀

انك تكتب في الباينري امر ممل ويمكن تخطأ فيو لانك بالاول وبالاخير مش الاله اربعة بتات تمثل السداسي العشري
2^4 = 16
في بعض الاحيان تختار انك تستخدم السداسي العشري امر افضل لك الارقام السداسي تمثل
0 - 9 & A - F

الاساس الخاص به 16

5AE₁₆ = (?)₂
5₁₆ = 101₂
A₁₆ = 1010₂
E₁₆ = 1110₂
5AE₁₆ = (101 1010 1110)₂
HEXADECIMAL TO DECIMAL :
5AE₁₆ = (?)₁₀
5AE₁₆ = 516^2 + A16^1 + E*16^0 = (1454)₁₀
Bytes, Nibbles, and All That Jazz :
8bit’s = 1 Byte
يمكن ان يمثل
2^8 = 256
احتمال
2^8 - 1 = 1111 1111
والافضل والمستخدم حاليا في الكمبيوترات هو استخدام تمثيل البايت بدلا من البت في الذاكرة مثلا
Nibble = 4 bit or half byte
2^4 = 16 احتمال
2^4 - 1 = 1111
4 بت
الموضوع هاض ما بذكرك في اشئ ؟ الهكسديسيمل بستخدم لكل حرف 4 بت يعني لتخزين بت واحد من الهكس هو يعتبر
Nibble
والرقمان في بايت كامل
ال
Microprocessors
بتتعامل مع البيانات في اجزاء اسمها
word
حجم ال
word
بعتمد على بنية المعالج مثال اذا كان
64-bit processor
بكون انها بتعامل على
64-bit word
word = 8 byte
المجموعة من البتات البت الموجود في العامود الاول اسمها least significant bit (LSB)
والبت الي في اخر العامود اسمها most significant bit (MSB)
1001010101001
^ ^
LSB MSB
كيلو بايت | kilobyte
2^10 = 1024
2^10 = 1 Kb
الميقا | megabyte
2^20 = 1,048,576
2^20 = 1 mb
القيقا | gigabyte
2^30 = 1,073,741,824
2^30 = 1 gb
التيرا | terabyte
2^40 = 1,099,511,627,776
2^40 = 1 tb

الجمع في الثنائي بشبه عملية الجمع في العشري حتى اسهل
نفسها بزبط
مش محتاج اشرحو لانو نفس الجبر العادي نفس حساب العشري
11
1011
+ 0011
11101 + 1 = في اليد واحد
0 + 0 = 0
1 + 0 = 1
ممكن تتعامل بعدد ثابت ومساوي للمطروح او المجموع لكن اذا كان غير مسوي او اكبر هون بصير اسمها overflow
اذا صار بعد الجمع زياده في الارقام
مثال في الهكس
من [0-15]
نفترض انها تجاوزت ال 15 ؟ يتم تجاهل البت الذي قام بتجاوز مثال هنا البت 4 سيصبح 5 بت يتم تجاهله
مثال :
(1101 + 0101) ₂ = (18)₁₀
(1) 1 1
1101
- 0101
كود:
0010
اذا كان بدك 4 بتات بس البت الي بكون MSB الي هو بحالتنا هسا هو ال Overflow يتم تجاهله الي بترك عدد غير صحيح اما اذا العكس بنزل العدد المتجاوز طبيعي
(10010)₂ → (18)₁₀

احنا كنا بنتعامل مع الارقام الموجبه من صفر وما فوق 0 ≤ ∞
طيب في العمليات الحسابية الطبيعية في سالب كمان اقل من صفر -∞ ≥ 0
في اكثر من طريقة في الباينري الانظمة المختلفة بتستخدمها عشان تمثل الاعداد السالبة مثل sign-magnitude , 1’s & 2’s complement etc…

تقريبا مشابهه لعمليتنا في الحساب بحيث بتكون في علامة بتبين انو هاض الرقم سالب او موجب من خلال يستخدم N-bit sign بت ال MSB بكون هو الاشارة والبتات الاخرى هي بتكون البتات الي بتمثل الحجم والرقم
0 : -
1 : +
مثال :
111(0)
|
{MSB} *Bit Sign
(1110)₂ : (-7)₁₀
0111
|
{MSB} *Bit Sign
(1111)₂ : (7)₁₀
لكن من النظرة الاولى بتعرف فيها سلبيات اكثر من الايجابيات
منها عدم قدرتك على الجمع والطرح

في هاض التكنيك مبدئيا اي صفر قدامك بنزل كـ اصفار عادي
(0000)₂
تمثيل الارقام كيف : والرقم الايجابي 0 في مكان ال : MSB
(01111)₂ = 2^(n-1)-1
اثبات المعادلة :
2 : Binary System
n = number of bit’s
مثال :
(10000) < 5 bit’s
الكمبيوتر بشوفو
اخر رقم من انو يبدأ من صفر احنا نبدأ من واحد عشان هيك نقصنا واحد
يعني
2^(n-1) : 4-bit’s
هون قاعدين بنقص 1 عشان تتحول القيمه
1 - 0 : 1
0 - 0 : 0
يتحقق من الموجب وسالب من خلال طرحهما
والسلبي يكون 1
(10000)₂ = -2^(n-1)-1
هكذا يتم تمثيل ان كان سالبا او موجبا
وباقي الارقام هي الحجم
مثل ما ذكرنا اول اشئ الاصفار كلها تنزل حتى تجد رقم 1 مثال :
(100100)₂
(xxxx00)₂
جميع الاصفار الاثنان تنزل
(00)₂
وان وجدت رقم 1 في الخطوة التاليه ينزل كما هو
(xxx100)₂
الخطوة الاخيرة اعكس الارقام الباقيه
(011100)₂
(011100)₂ is (100100)₂
طريقة اخرى
ليتم عكس علامة الرقم في هذا الحساب تسمى
taking the two’s complement
اول اشئ بدك تساويه انك تضيف 1 على ال
LSB طبعا بعد عكس الارقام
مثال على رقم عشري بدنا اياه يكون
-2 : using 4-bit + 2’s comp
1 - عكس كل الاراقام
2 - زيادة واحد
(+2)₁₀ = (0010)₂
(0010)₂ = (1101)₂
وفي الاخر نقوم باضافة واحد
(1101)₂ + 1 = (1110)₂
موقع للحساب :
Decimal/Two’s Complement Converter - Exploring Binary
An arbitrary-precision, decimal to two’s complement and two’s complement to decimal converter
واخيرا :
الحل على طريقتين
صورة **
ADDING TWO’S COMPLEMENT NUMBERS :
هون القوة الحقيقة انك اصلا بتقدر تجمع الارقام بشكل صحيح في عندك طريقتين لجمع الي بريحك
منها انك اول اشئ تسوي هاض التكنيك وتجمعهم او قبل ما تسوي التكنيك هاض تجمعهم او تطرحهم بعدين تسوي هاض التكنيك عليهم
(-2)₁₀ + (1)₁₀ =
1110
0001 +
(1111)₂SUBTRACTING TWO’S COMPLEMENT NUMBERS :
كيفية الطرح اول شئ نجد ال 2’s comp بعدها نجمعهم
(5)₁₀ - (2)₁₀ =
(5)₁₀ = (0101)₂
(2)₁₀ = (0010)₂ → 2’s is (1110)₂
(1011)₂ + (1110)₂ = (0011)₂
ADDING TWO’S COMPLEMENT NUMBERS WITH OVERFLOW :
(5)₁₀ + (4)₁₀ using 4-bit
(5)₁₀ + (4)₁₀ = ?
(5)₁₀ = (0101)₂
(4)₁₀ = (0100)₂
(0101)₂ + (0100)₂ = (1001)₂
(1001)₂ = (-7)₁₀
نتيجة سالبة غير صحيحة
لكن اذا تم اجراء حساب بخمس بايتات او اكثر النتيجة ستكون صحيحة (9)₁₀
مع مراعاة عندما يتم توسيع الرقم الى مزيد من البتات في هذا التكنيك الى نسخ اشارة البت الى ال MSB اسم هاذي العملية sign extension
على سبيل المثال رقم
3 : (0011)₂
-3 : (1101)₂
LOGIC GATES :
اتوقع حاليا بفضل الله تعلمنا كيف تتعامل مع الارقام مثل الثنائي والعشري وفهمت كيف بتشتغل الان بدنا نبدأ في لوجيك قيتس اذا انتا مبرمج سابق على ما اعتقد بتعرف اشئ اسمو bitwise اذا ما بتعرفو بعرفش شو بدي اقلك لكن هسا راح تفهمها
الوجيك قيتس هي دوائر منطقيه بسيطة تاخذ input واحد او اكثر وتنتج outputs binary طبعا كل الحساب بكون عن طريق ال Binary Digit الدوائر الثنائيه يتم رسمها برمز يوضح المدخلات والمخرجات وعادة ما يتم رسم المدخلات على اليسار والمخرجات على اليمين
وعادة ما يرمز للمدخلات بحروف الابجدية A , B etc. والمخرجات بحرف Y
يمكن وصف العلاقة بين المدخلات والمخرجات باستخدام ال truth table او Boolean equation جدول الحقيقة بعطيك كل المدخلات والمخرجات والمدخلات تكتب على اليسار والمخرجات على اليمين او يتم
ال Boolean equation : هي تعبير رياضي يستخدم المتغيرات الثنائيه


هاي اول بوابة منطقية راح نشرحها عندها مدخل واحد
يعني مدخل واحد هو A
ومخرج واحد هو Y
كلشئ بفوت في هاي البوابة المخرجات راح تكون عكس القيمة بمعنى يعني اذا كان المدخل
FALSE : 0
راح يصير
TRUE : 1
الخط الخارج من A الى Y هذا هو الخط الذي يمثل ال NOT Gate ويسمى اسم اخر inverter
صورة
يتم الاشارة الى الى العملية الحسابيه ل NOT ب
او خط فوق الخط Y = A
= Y Equals NOT (A)وتكتب ايضا كـ
Y = A`;
Y = ¬A;
Y = !A;
Y = ~A;
الرمز هاض المثلث بشير والفقاعة (Bubble) الى بوابة ال NOT
Buffer :
ويوجد بوابة اخرى منطقيه بمدخل واحد وهي ال
Buffer
وظيفتو انو ينسخ الادخال الى الاخراج يمكن تشوفو بدون فايده غير انو سلك قاعد بنسخ نفس المعلومات لكن هو بقدر يوصل كميات كبيره من التيار الى المحرك و القدرة على ارسال المخرجات بسرعة الى عديد من البوابات وطبعا هاض الموضوع بصير بالعالم الخارجي للكمبيوتر بمعنى فصل بين كل شيء هو التجريد وهاض السبب كيف جدتك تتمكن من استخدام الهاتف او الكمبيوتر يعني مش راح تشوف فايديتو الحقيقة بدون العمل معو
الرمز هاض المثلث بشير الى ال Buffer

هاذي البوابة لها مدخلان ومخرج واحد وما بتنتج TRUE الا بحالة ان توفر واحدان

وهي شبيها لعملية الضرب في الجبر العادي بحيث كل الاصفار المضروبه بنفسها والمضروبه بواحد تنتج 0
A : 1 ------ |
B : 1 ------ |
يتم كتابة الـ
AND
بهذا الشكل
Y = A • B;
Y = AB;
Y = A ∩ B;
Y = A & B;

صورة
هاذي البوابة تنتج مخرجا صحيحا عندما يكون احد القيمتين صحيحتان او الاثنان صحيحان
Boolean equation OR Gate:
Y = A + B;
Y = A ∪ B;
Y = A | B;
Other Two-Input Gates :
في بوابات غير ذات مدخلين منها

XOR : exclusive OR (Ex-OR);
تكون صحيحه عندما تكون احد القيم يوجد بها 1 ليس عندما يكون مشتركون في نفس القيمة
Y = A ⊕ B;
Or
Y = A ^ B;
Or
Y = A ⊻ B;


يكون المخرج صحيحا عندما تكون جميع القيم لا تساوي 1
Y = (A & B)
; Y = (AB)
;Y = (A • B)
; Y = (A ∩ B)
;

تكون صحيحة عندما لا يكون المخرجان احدهم يساوي 1
Y = (A + B)
; Y = (A ∪ B)
;Y = (A | B)`;

لها مخرجان وتمثل عكس ال
XOR
XNOR : NOT XOR

بمعنى اذا كان احد القيم متساويه صفر وصفر او واحد و واحد تكون صحيحة
Multiple-Input Gates :
في بوابات بتستقبل ثلاث مدخلات لكن الاكثر استخداما
AND, OR, XOR, NAND, NOR, and XNOR.


NOR3
Y = (A + B + C)
; Y = (A ∪ B ∪ C)
;Y = (A | B | C)`;
BENEATH THE DIGITAL ABSTRACTION :
يستخدم النظام الرقمي قيم تمثل بواسطة قيم محددة بدقة مثل البتات وهذه القيم تتغير بشكل دقيق ومحدد
والمصمم يجب عليه ان يختار طريقة لربط القيمة
مثال :
اشارة ثنائيه A بجهد كهربائي على سلك
Volt(V) = 0
A = 0
V = 5;
A = 1;
لكن اي نظام اخر اذا لازم يتعمل بعض التشويش الي ممكن يصير فيو يعني
v = 4.75
لازم يكون كمان
A = 1;
فما بالك في
V = 2.500000
V = 1.1530000
Supply Voltage :
لنفترض اقل جهد في النظام هو 0 فولت بكون اسمو
ground or gnd;
ياتي اعلى جهد في النظام من مصدر الطاقة ويمسى عادة VDD قبل عشرات السنوات كان عادة V = 5; مع تطور الترانزستورات الى اصغر ال VDD انخفض الى فولت اقل مثل 2.3 , 1.2 واقل لتوفير الطاقة وتجنب الحمل على الترانزستورات
1.6.2 Logic Levels
صورة :
يتم تعين متغير مستمر على متغير ثنائي عن طريق تحديد المستويات المنطقيه بمعنى مثل اشارات الرقمية الكهربائية تتغير باستمرار الى متغير ثنائي يعتبر عنها بصفر و واحد
المستويات المنطقية عادة ما تحمل المستوى منخفض يرمز اليه بصفر والمستوى العالي يرمز اليه بمستوى 1
مثال اذا عندك مصباح ان كان الضوء طافي راح يكون مستوى منخفض بتالي راح يكون 0 عندما يكون الضوء شغال راح نعبر عنه بمستوى عالي هو الواحد
البوابة الاولى تسمى Driver والثانية تسمى Receiver
الـ Output driver
متصل في
Input Receiver Driver
الـ Driver
ينتج LOW(0) في نطاق ال {0 - VOL}
وال HIGH(1) في نطاق ال {VOH - VDD}
اذا الـ receiver حصل على ادخال في نطاق ال 0 to V(IL) راح يعتبر الادخال منخفض
اذا حصل ال receiver حصل على ادخال في نطاق ال V(IH) to VDD يعتبر ادخال مرتفع لسبب ما مثل التشويش الي هو ال Noise
الـ receivers input لازم يكون موجود في الـ forbidden zone V(IH) to V(IL) وفي هاي الحالة البوابة لا يمكن التنبؤ بها ولي ممكن هاض الموضوع يصير زي ما قلت من خلال التشويش الي بكون سببو اشياء معيبه صارت في سياق الكهربائي للنظام بتكون غير مرغوب مثل ممكن تصدم الاشارات الكهربائيه باشارات كهرومغناطيسية خارجية
الـ VOH,VOL, VIH, & VIL : بكون اسمهم
Input High & Low logic levels
مشاهدة المرفق 2543
Noise Margins : اذا اردنا تفسير مخرجات ال Driver بشكل صحيح يجب علينا الاختيار عند الـ receiver input لازم نختار
VOL < VIL and VOH > VIH
اذا اخراجات الـ
Driver كانت فيها نويز الـ receiver input راح يكشف الـ correct logic level عشان نحاول قدر المستطاع ما تفوت على الـ Forbidden Zone
ونفترض انها فاتت في Filtering للموضوع
noise margin : هو مقدار التشويش التي يمكن اضافتها الى
worst-case output بحيث يمكن ان تفسير الاشارة على انها valid input
يمكن جلب اين تكون الـ
noise margin
من خلال
NML = VIL − VOL
NMH = VOH − VIH
CALCULATING NOISE MARGINS :
صورة
Figure 1.24.
الـ
VO1 : هو الـ
output voltage of inverter
I1 & VI2 : هو الـ
input voltage of inverter I2
الخصائص الموجودة في الـ
inverters
VDD = 5V;
VIL = 1.35;
VIH = 3.15;
VOL = 0.33;
VOH = 3.84;
وحاليا بدنا نعرف وين الـ
noise margins
الـ
LOW & HIGH Noise
يمكن للـ
circuit
حمل
1V
للـ
noise
بين الـ
VO1 - VI2
الحل :
NML = VIL − VOL
NMH = VOH − VIH
|
NML = 1.35V − 0.33V = 1.02V;
NMH = 3.84V − 3.15V = 0.69V;
الـ
Low Input is 1.02V;
High Input is 0.69V;
على سبيل المثال الـ
I1 Driver
بخرج
في اسواء الحالات
HIGH value = VO1 = VOH = 3.84V;
اذا تسببت الـ
Noise
انخفاض الجهد بمقدار
1V
فا الـ
Input VI2
بكون
VI2 = (3.84V − 1V) = 2.84V;
وهذا بكون اقل من القيمة العالية المقبولة
VIH = 3.15;
قد لا يشعر الـ
receiver
انو صار ادخال عالي
HIGH INPUT
CMOS TRANSISTORS :
الكمبيوترات الحديثة بتستخدم ترانزيستورات لانها رخيصة وصغيرة الحجم
الترانزيستور زي ما تقول هو مفاتيح يتم التحكم فيها كهربائيا والتي يتم تشغيلها وايقافها
ON & OFF
عند تطبيق الجهد
نوعان رئيسيان من الترانزيستورات
1 - bipolar junction ()
2 - metal-oxide-semiconductor field effect
transistors
MOS & MOSFET
كانت ثورتها عندما استطاع احد العلماء من جعل اثنان ترانزيستور على لوحه سلكون ولان مليارات الترانزيستورات تكون على لوحة سلكون
Semiconductors :
الـ
MOS transistors
تصنع من السيليكون
Silicon (Si)
هو مجموعة من الـ
IV ATOM
يحتوي على اربعة الكترونات في غلاف التكافؤ ويشكل روابط مع 4 ذرات مجاورة مما يؤدي الى شبكة بلورية
(crystalline lattice)
يعتبر السليكون في حد ذاته موصلا سيئا لان جميع الاكترونات مرتبطة بروابط تساهمية ومع ذالك فانه يصبح موصلا افضل عند اضافة كميات صغيرة من الشوائب تسمى
amounts of impurities
اذا تمت اضافة مجموعة من
V
المشابهة مثل الزرنيخ
(As)
فان الذرات المشابهة تحتوي على الكترون اضافي غير مشارك في الورابط
يمكن للاكترون ان يتحرك بسهولة حول الشبكة
تاركين وراهم
ionized dopant atom (As+)
يحمل الاكترون شحنه سالبه
لذلك نطلق على الزرنيخ مادة
n-type dopant
من ناحية اخرى اذا تمت اضافة مجموعة
III
مثل البورون
(B)
فان الذرات المشابهة تفقد الكترونا
ويسمى هذا الإلكترون المفقود بالثقب
(hole)
قد يتحرك إلكترون من ذرة السيليكون المجاورة لملء الرابطة المفقودة
مما يشكل
ionized dopant atom (B−)
يفتقر الثقب الى الشحنة السالبة فهو يتصرف كجسيم موجب الشحنه
وهيك احنا بندعي الـ
boron a p-type dopant
نظرًا لأن موصلية السيليكون تتغير على مدى عدة أوامر من حيث الحجم اعتمادًا على تركيز المنشطات، فإن السيليكون يسمى أشباه الموصلات
التعديل الأخير بواسطة المشرف: