تبلیغات شما تبلیغات شما

آمار سایت

    آمار مطالب
    کل مطالب : 4090
    آمار کاربران
    افراد آنلاین : 10

    کاربران آنلاین

    آمار بازدید
    بازدید امروز : 2,385
    باردید دیروز : 3,749
    گوگل امروز : 16
    گوگل دیروز : 23
    بازدید هفته : 21,757
    بازدید ماه : 61,819
    بازدید سال : 178,840
    بازدید کلی : 6,625,868

آخرین فروش های موفق

مشخصه دیود در گرایش مستقیم

فرض کنید توسط مداری بتوانیم ولتاژ دو سر یک دیود را تغییر دهیم و توسط ولتمتر و آمپرمتر ولتاژ و جریان دیود را در هر لحظه اندازه گیری کرده ،بر روی محورهای مختصات رسم نماییم.جریان I در جهتی است که دیود قادر به عبور آن است .به همین علت اصطلاحاَ گفته می شود دیود در گرایش مستقیم یا بایاس مستقیم است . در هر حال اگر توسط پتانسیومتر ولتاژ دو سر دیود را از صفر افزایش دهیم ،مشاهده می شود تا ولتاژ به خصوصی ، جریان قابل ملاحظه ای از دیود عبور نمی کند.به این ولتاژ زانو می گویند ،این ولتاژبرای دیودهای از جنس ژرمانیم 2/0 ولت و برای دیودهای سیلیسیم 7/0 ولت است .تا ولتاژ زانو اگرچه دیود در جهت مستقیم است ، اما هنوز دیود روشن نشده است .از این ولتاژ به بعد ، به طور ناگهان جریان در مدار افزایش یافته و هرچه ولتاژ دیود را افزایش دهیم ، جریان دیود افزایش می یابد .
 

واحد پردازش مرکزی

پردازنده يا واحد پردازش مرکزی (Central Processing Unit) يا (CPU) از واحد کنترل و واحد محاسبات و منطق ساخته شده است. وظيفه آن خواندن و نوشتن محتويات سلول حافظه، انتقال داده بين سلول های حافظه و ثبات های خاص، رمزبرداری و اجرای دستورالعمل های ذخيره شده در حافظه اصلی است.

CPU هر دستورالعمل را در يک سری مراحل اجرا می کند و برای همگام کردن سيکل اجرای دستورالعمل از يک ساعت (Clock) استفاده می کنند. ساعت در يک فرکانس ثابت پالس می زند که سرعت ساعت ناميده می شود. اين ساعت دقيقه و ثانيه را نگه نمی دارد بلکه فقط در نرخ ثابتی ضربان دارد. مدارهای الکترونيکی کامپيوتر از اين ضربان ها برای انجام صحيح عمليات خود استفاده می کنند. تعداد ضربه ها يا اصطلاحا سيکل های مورد نياز يک دستورالعمل بستگی به نسل و مدل CPU دارد.


مثال. وقتی يک کامپيوتر 1.5GHz می خريد، 1.5 GHz فرکانس اين ساعت است. يعنی در هر ثانيه 1.5 ميليارد پالس می زند (گيگاهرتز GHz يا يک ميليارد سيکل در ثانيه است).


مجموعه دستورالعمل ها

مجموعه ای از تمام دستورالعمل هائی که يک نوع پردازنده می تواند اجرا می کند مجموعه دستورالعمل (Instruction Set) ناميده می شوند که درواقع زبان ماشين آن نوع پردازنده را شکل می دهد. دستورالعمل های زبان ماشين به صورت اعداد رمز می شوند و عموما ساده هستند. زيرا زبان ماشين با اين هدف طراحی می شود که پردازنده قادر باشد مقصود دستورالعمل را سريع کشف کند تا بتواند به طور موثر آن را اجرا کند..

هر پردازنده زبان ماشين منحصر بفرد خود را دارد. و مجموعه دستورالعمل از ماشينی به ماشين ديگر متفاوت است. به همين دليل مثلا برنامه های نوشته شده برای Mac نمی توانند روی يک IBM-PC اجرا شوند. برنامه های نوشته شده در زبان های ديگر بايد توسط کامپايلر به زبان ماشين پردازنده ای که روی آن اجرا می شود تبديل شود. معمولا عملکرد کامپايلرها بر روی ماشين با دستورالعمل کمتر آسان تر است.


مجموعه ثبات ها

دستورالعمل ها ممکن است نياز به داده ای داشته باشند تا روی آن عمل کند. هر پردازنده دارای يکسری سلول های حافظه است که داده های دستورالعمل را در خود ذخيره می کنند. اين سلول ها ثبات (register) ناميده می شوند و درون خود پردازنده قرار دارند. پردازنده می تواند به داده درون ثبات سريع تر از داده درون حافظه دسترسی پيدا کند. اغلب کامپيوترها مجموعه ای از ثبات ها را برای ذخيره موقت داده دارند. البته تعداد ثبات های پردازنده اندک است، بنابراين برنامه نويس ناچار است تنها داده های جاری را در ثبات ذخيره نمايد.


انواع پردازنده ها

پردازنده ها به گروه های زير دسته بندی می شوند:

1. Complex Instruction Set Computers - CISC
     • پردازنده هائی که مجموعه دستورالعمل کاملی با پشتيبانی سخت افزاری برای انواع وسيعی ازعمليات را دارند. در عمليات علمی، مهندسی و رياضی معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
2. Reduced Instruction Set Computers - RISC
     • پردازنده هائی که مجموعه دستورالعمل فشرده و کوچکی دارند. در کاربردهای تجاری و برنامه هائی که توسط کامپايلر ايجاد شده اند معمولا اکثر کارها را در کوتاهترين زمان انجام می دهند.
3. Hybrid
     • پردازنده هائی که ترکيبی از روش CISC و RISC هستند و سعی دارند تعادلی بين مزايای هر دو روش برقرار کنند.
4. Special purpose
     • پردازند هائی که برای وظايف خاصی بهينه شده اند. Digital signal processors و انواع co-processors نوع متعارف اين دسته هستند.
5. Hypothetical
     • پردازنده هائی که هنوز وجود ندارند يا هرگز وجود نداشته اند. پردازنده هائی که در فاز طراحی هستند يا برای کارهای نظری درنظر گرفته شده اند. معروف ترين آنها MIX است که يک پردازنده فرضی آموزش ساخته شده توسط Donald E. Knuth برای ارائه الگوريتم های کامپيوتری است.

حافظه

حافظه مکان ذخيره برنامه ها و داده ها با امکان دسترسی مجدد به آنها است. حافظه اصلی از ديد برنامه نويس از تعدادی بيت تشکيل شده است که قادر به نگهداری صفر يا يک است. مکانيسم دسترسی به اطلاعات درون حافظه آدرس دهی است. بيت هائی که دارای آدرس يکسان هستند را سلول حافظه (cell) می نامند. هر سلول تنها می تواند شامل يک مقدارعددی باشد. طول سلول(Lc) توسط تعداد بيت های سلول مشخص می شود. در ريز کامپيوترها طول سلول هشت بيت است که به آن بايت نيز گفته می شود. خاصيت مهم سلول آدرس پذيری است، يعنی هر سلول دارای يک آدرس منحصر بفرد است. بنابراين هر بايت درحافظه نيز دارای يک آدرس منحصر بفرد است.

اغلب حافظه ها در اندازه های بزرگتراز بايت نظير کيلوبايت (1KB=210=1,024 bytes)، مگابايت (1MB=220= 1,048,576 bytes) و گيگابايت (1GB=230=1,073,741,824 bytes) بيان می شوند. يک کامپيوتر با 32 مگابايت حافظه قادر است تقريبا 32 ميليون بايت از اطلاعات را نگهداری کند.


نکته. تعداد بيت های يک کلمه بستگی به سخت افزار دارد و با Lw نشان داده می شود. همواره رابطه Lw≥Lc برقرار است. آدرس هر کلمه آدرس اولين سلول آن است.


فضای آدرسی

آدرس های حافظه از عدد صفر شروع می شوند. اگر حافظه ای دارای n سلول باشد آدرس های آن از 0 تا n-1 خواهد بود. کامپيوتری که سيستم عددی باينری را استفاده می کند برای بيان آدرس نيز همان روش را به کار می برد. تعداد بيت های آدرس تعداد سلول های قابل دسترس حافظه را نشان می دهد و ربطی به طول سلول ندارد. فضای آدرسی بيشترين ميزان حافظه است که يک پردازنده می تواند آدرس دهی کند.

اگر آدرسی m بيت طول داشته باشد بيشترين تعداد سلول های قابل آدرس دهی 2m خواهد بود.

يک سيستم کامپيوتری ترکيب کاملي از سخت افزار و نرم افزارهای سيستمی است که باعث می شود ماشين مفيد و وظيفه مندي برای کار معينی بشود.

اجزای اصلی سخت افزار يک ريز کامپيوتر شامل:

• پردازنده مرکزی
• حافظه
• صفحه کليد به عنوان ورودی
• صفحه نمايش به عنوان خروجی
• يک يا چند ديسک درايو برای ذخيره برنامه ها و داده ها

 

در اسمبلی کليه داده ها اندازه مشخص شده ای دارند. گاهی ناچار به تغيير اندازه داده هستيم. برای کاهش اندازه داده کافی است بيت های با ارزش حذف شوند. اين روش برای اعداد بدون علامت و علامت دار کار می کند. قاعده کلی اين است که برای اعداد بدون علامت کليه بيت های حذف شده بايد صفر باشند. و برای اعداد علامت دار بيت های حذف شده بايد همگی يا 1 و يا 0 باشند. البته اگر عدد را نتوان به طرز صحيح در اندازه کوچکتر نمايش داد کاهش اندازه کار نمی کند.

افزايش داده پيچيده تر از کاهش است. عدد هگز FF را اندازه بگيريد. گسترش آن بستگی دارد که آن را چطور تفسير کنيم. اگر آن را يک عدد بدون علامت درنظربگيريم(يعنی عدد 255)، به صورت 00FF گسترش داده می شود و اگر علامت دار باشد(يعنی 1-) به صورت FFFF. به طور کلی برای گسترش اعداد بدون علامت کليه بيت های جديد عدد گسترش يافته صفر می شوند ولی برای گسترش يک عدد علامت دار بايد بيت علامت را بسط داد، به اين معنا که.بيت های جديد بيت علامت را در خود کپی می کنند.

کدگذاري ASCII

کد گذاری ASCII (American Standard Code for Information Interchange) به حروف، ارقام، علائم و کاراکترهای مختلف يک عدد باينری 7 بيتی نسبت می دهد و هشتمين بيت را 0 درنظر می گيرد. به اين صورت هر کاراکتر يک بايت را اشغال می کند.

روشن است که اين روش برای نمايش اعداد مناسب نيست، چون در فرمت باينری يک بايت اعداد 0 تا 255 را نمايش می دهد، اما با کد ASCII يک بايت تنها برای نمايش يک رقم کافی است. به همين دليل کلا اين روش برای نمايش متن در حافظه استفاده می شود.


مثال. نمايش عدد 123 با دو فرمت ASCII و باينری

ASCII vs. Binary

نوع توسعه يافته اين سيستم شامل 8 بيت برای هر کاراکتر است و 256 حالت مختلف را شامل می شود. کدهای 0 تا 127 برای کاراکترهای استاندارد، کدهای کنترلی و ارتباطی و مقادير 128 تا 255 برای نمايش سمبل های گرافيکی و حروف يونانی هستند.


مثال. رشته "ABC123" به صورت 41h 42h 43h 30h 31h 32h نشان داده می شود.


يک کدگذاری کامل تر که جای ASCII را دارد می گيرد Unicode است. تفاوت کليدی بين اين دو نوع کدگذاری در اين است که ASCII يک بايت را برای کدکردن يک کاراکتر استفاده می کند در حاليکه Unicode برای هر کاراکتر دو بايت را درنظر می گيرد. بنابراين کاراکترهای بيشتری را می تواند نمايش دهد که اين برای نمايش کاراکترهای کليه زبان های دنيا کاربردی است.


مثال. کدگذاری ASCII کد 41h يا 65 را به کاراکتر A می دهد. کدگذاری Unicode کد 0041h هگز را می دهد.


نکته1. تفاوت يک حرف بزرگ با يک حرف کوچک تنها در بيت شماره 5 است؛ اين بيت در حروف بزرگ 0 و در حروف کوچک 1 است. ("m"= 01101101 و "M"= 01001101)
نکته2. ارقام 0 تا 9 کدهای 30h تا 39h را دارا می باشند.
نکته3. کاراکترهای قابل چاپ بين 20h تا 7Eh است.
نکته4. کاراکترهای 0 تا 1Fh و 7Fh کاراکترهای کنترلی نام دارند که قابل رويت نمی باشند.
نکته5. کاراکتر ESC با کد 1Bh همراه با کاراکترهای ديگر اغلب برای يک عمل خاص به دستگاه های جانبی ارسال می شود.
نکته6. کدهای 41 تا 5Ah کاراکترهای A تا Z و کدهای 61 تا 7Ah کاراکترهای a تا z هستند.
نکته7. کاراکتر CR و LF با کدهای 0Dh و 0Ah به ترتيب باعث حرکت مکان نما به شروع خط جاری و خط بعد می شود.

Storage Type
Bits
Range (low - high)
Signed byte 8 -128 - +127
Signed word 16 -32,768 - +32,767
Signed doubleword 32 -2,147,483,648 - +2,147,483,647
Signed quadword 64 -9,223,372,036,854,775,808 -
+9,223,372,036,854,775,807

محدوده قابل نمايش از فرمول [-(2m-1) – 2m-1-1] محاسبه می شوند که m تعداد بيت ها را نشان می دهد.

 

محاسبات کامپيوتري در مبناي دو انجام مي شود. به طور معمول از سيستم عددي هگزادسيمال براي نمايش اعداد باينري استفاده مي شود.

سيستم هاي عدد نويسي
سيستم عددی اعشاری
سيستم عددی دودوئی
سيستم عددی هگز

سيستم هاي عدد نويسي

در کارهای روزمره از سيستم عددی اعشاری يا مبنای 10 استفاده می شود. اين سيستم برای کامپيوتر مناسب نيست و برای سادگی سخت افزار، کليه اطلاعات به شکل بيت های روشن و خاموش رمز می شوند. بنابراين سيستم عددی باينری که تنها شامل ارقام صفر و يک است برای اين منظور بسيار مناسب است. عدد 1 (on) مشخص کننده +5 ولت و عدد صفر (off) مشخص کننده 0.5 ولت است.

برای تعيين مبنای عدد يک حرف کوچک در انتهای آن قرار می گيرد. مثاال 45h به معنی عدد 45 در مبنای شانزده است. و 11010011b يعنی اين عدد در مبنای 2 است. اين روشی است که اسمبلر اعداد را در برنامه های اسمبلی تشخيص می دهد.

 

ماتريس‌ی كه عناصر صفر آنها زياد است و نسبتا تعداد کمی عنصر غير صفر دارد را ماتريس خلوت يا اسپارس (sparse matrix) مي نامند.
ماتريس هاي قطري و مثلثي نمونه‌هايي از ماتريس‌هاي خلوت هستند.

روش طبيعي نمايش ماتريس ها در حافظه به صورت يک آرايه‌هاي دوبعدي براي اين گونه ماتريس ها مناسب نيست. براي جلوگيري از اتلاف حافظه مي توان تنها عناصر غير صفر را ذخيره كرد. آرايه حاصل داراي سه ستون است که براي ذخيره مختصات سطر و ستون و مقدارعنصر غير صفر بکار می روند و تعداد سطرهای آن به تعداد عناصر غير صفراست. اين روش ذخيره ماتريس خلوت را point access method می نامند


نكته. تعداد عناصر غيرصفر ماتريس مثلثي n بعدي برابر است با: 1+2+3+…+n=n(n+1)/2 و تعداد عناصر صفر آن برابر است با: n2 – n(n+1)/2 = n(n-1)/2.

نكته. حاصلضرب دو ماتريس اسپارس ديگر اسپارس نيست.

تعاريف ماتريس

ماتريس ها معادل آرايه هاي دو بعدي هستند. A‌ يك ماتريس m×n است شامل m×n عدد قرار گرفته در m سطر و n‌ ستون به شكل:

A11 A12 … A1n
A21 A22 … A2n
………………
Am1 Am2 … Amn

يك ماتريس با تعداد سطر و ستون برابر را ماتريس مربعي (square matrix) مي نامند.

قطر اصلي يك ماتريس مربعي شامل عناصر A11,A22,…,Ann است. يعنی اگر i=j باشد Aij روی قطر اصلی است.

يك ماتريس پائين مثلثي (lower triangle matrix) ماتريس مربعي است كه عناصر بالای قطراصلی آن همگی صفر باشند. يعنی اگر i<j باشد Aij=0 است

در ماتريس بالا مثلثی (upper triangle matrix) کليه عناصر زير قطراصلی صفر هستند. يعنی اگر i>j باشد Aij=0 است

يك ماتريس قطري، ماتريس مربعي است كه عناصر غير صفر آن روي قطر اصلي قرار دارند.

ماتريس مربعي A را متقارن مي نامند اگر براي همه i و j ها A[j,i] =A[i,j].

تبلیغات شما تبلیغات شما

کدهای اختصاصی