فصل اول
معرفی سیستمهای کامپیوتری: اصول اولیه برای مبتدیان
به “معرفی سیستمهای کامپیوتری: اصول اولیه برای مبتدیان” خوش آمدید. این فصل برای ارائه یک آموزش مختصر و جامع در مورد اصول سیستمهای کامپیوتری طراحی شده است که برای مبتدیانی که مشتاق یادگیری در مورد این زمینه جذاب هستند، ایده آل است. هدف من ارائه دانش عملی است که پایه محکمی برای درک هر دو اجزای سخت افزار و نرم افزار کامپیوتر فراهم کند.
درک داده ها و اطلاعات:
تصور کنید که جعبه ای عظیم از آجرهای لگو با رنگ ها، شکل ها و اندازه های مختلف دارید. هر آجر لگو نشان دهنده یک تکه اطلاعات است . می تواند یک واقعیت، عدد یا ایده منحصر به فرد باشد. اگر فقط یک آجر را بررسی کنید، ممکن است به خودی خود چندان جالب نباشد. با این حال، جادوی واقعی زمانی اتفاق می افتد که شما شروع به مونتاژ این آجرها به روشی خاص یعنی ساختن چیزی قابل توجه و هدفمند کنید. مانند ساختن یک قلعه تخیلی یا اختراع یک بازی جدید. این خلاقیت، چه قلعه باشد و چه بازی، شبیه اطلاعات است.
اطلاعات و داده ها چیست؟
داده ها:
تعریف: داده ها به حقایق یا ارقام خام و سازمان نیافته اشاره دارد. که می تواند به صورت اعداد، متن، تصویر یا هر فرمت دیگری باشد.
ماهیت: داده ها اغلب گسسته هستند و به خودی خود فاقد زمینه هستند. این مشاهدات یا اندازه گیری های فردی را نشان می دهد.
مثال: اگر لیستی از اعدادی مانند 5، 12، 8، 15 و 20 دارید، این اعداد مجزا نقاط داده هستند.
اطلاعات:
تعریف:
اطلاعات حاصل پردازش، سازماندهی و تفسیر داده ها به منظور معنادار ساختن آنهاست. زمینه، ارتباط و هدف را برای داده ها فراهم می کند.
ماهیت:
اطلاعات در مقایسه با داده های خام ؛ ساختارمند تر و قابل اجرا تر است. معنی را به سهولت می رساند و تصمیم گیری را تسهیل می کند.
مثال: اگر نقاط دادهای که قبلاً ذکر شد را تجزیه و تحلیل کنید و تعیین کنید که آنها دمای روزانه را نشان میدهند، دادهها را به اطلاعاتی مانند “دماهای روزانه: 5، 12، 8، 15، 20 درجه سانتیگراد” تبدیل کردهاید.
تفاوت ها :
داده ها اغلب فاقد زمینه هستند و ممکن است فورا مرتبط نباشند. داده ها سازماندهی نشده و ممکن است از ساختار خاصی پیروی نکنند و برای استخراج معنا نیاز به تفسیر دارد. داده به عنوان ماده خام برای تولید اطلاعات عمل می کند و ذاتا قابل اجرا نیست.
اطلاعات داده ها را متنی می کند و آن ها را مرتبط و معنادار می کند. اطلاعات سازماندهی شده و ساختار یافته برای انتقال پیام یا بینش و نشان دهنده داده های تفسیر شده و معنادار است. اطلاعات با هدف ایجاد درک، حمایت از تصمیم گیری یا انتقال پیام است، قابل اجرا است، زیرا تصمیمات یا اقدامات را هدایت می کند.
داده ها نقطه شروع هستند و مشاهدات خام را نشان می دهند، در حالی که اطلاعات نتیجه پردازش و تفسیر داده ها برای ارائه زمینه و معنی است. تبدیل داده ها به اطلاعات گامی مهم در تبدیل آن به چیزی مفید و ارزشمند برای تصمیم گیری و ارتباطات است.
یک سیستم کامپیوتری یک دستگاه الکترونیکی قابل برنامه ریزی است که برای پردازش داده طراحی شده است. این فرآیند شامل پذیرش داده ورودی، پردازش آن طبق دستورالعمل های برنامه ریزی شده و سپس تحویل داده پردازش شده به عنوان خروجی است. خروجی سپس می تواند برای اهداف مختلف مانند تجزیه و تحلیل، تصمیم گیری یا محاسبات بیشتر استفاده شود.
انواع کامپیوتر:
رایانه های شخصی ((Personal Computers (PC): معمولاً برای مقاصد فردی یا تجاری استفاده می شود:
سرورها(Servers): رایانه های قدرتمندی که برای مدیریت منابع شبکه و ارائه خدمات به رایانه های دیگر طراحی شده اند:
Mainframes: کامپیوترهایی در مقیاس بزرگ که برای کاربردهای حیاتی در سازمان ها استفاده می شوند:
سیستم های جاسازی شده(Embedded Systems):رایانه هایی که در دستگاه های روزمره مانند اتومبیل ها، لوازم خانگی و ماشین های صنعتی ادغام می شوند.
کامپیوتر را می توان به دو بخش اصلی تقسیم کرد:
- سخت افزار
- نرم افزار
سخت افزار:
اینها قطعات قابل لمس و فیزیکی یک کامپیوتر هستند، مانند ،کیس ,منبع تغذیه برق (Power ) , مادربرد, فضای ذخیره سازی (HDD، SSD) , کیبورد، مانیتور، RAM, ماوس و پردازنده مرکزی (CPU).
کیس کامپیوتر:
کیس عمدتاً برای نصب فیزیکی و حاوی تمام اجزای واقعی در داخل یک رایانه، مانند مادربرد، هارد دیسک، درایو نوری، درایو فلاپی دیسک و غیره است. کیس ها معمولاً همراه با منبع تغذیه برق (Power) هستند. محفظه لپتاپ، نتبوک یا تبلت نیز بهعنوان یک کیس در نظر گرفته میشود، اما از آنجایی که آنها بهطور جداگانه خریداری نمیشوند یا قابل تعویض نیستند، کیس کامپیوتر به چیزی اشاره دارد که بخشی از یک رایانه رومیزی سنتی است.
ترانزیستورها: بلوکهای سازنده دنیای دیجیتال
ترانزیستورها یکی از اختراعات بزرگ قرن بیستم هستند که جهان الکترونیک و کامپیوتر را متحول کردهاند. آنها به عنوان بلوکهای سازنده اصلی در تمامی دستگاههای الکترونیکی مدرن، از گوشیهای هوشمند تا ابررایانهها، به کار میروند. درک عملکرد و نقش ترانزیستورها برای هر کسی که به تازگی وارد دنیای کامپیوتر و فناوری اطلاعات میشود، اساسی است.
اهمیت ترانزیستورها در دنیای کامپیوتر
1. بلوکهای سازنده مدارهای دیجیتال
ترانزیستورها مانند آجرهای سازنده در ساختار مدارهای دیجیتال عمل میکنند. آنها اجزای اصلی تشکیلدهنده پردازندهها (CPU)، حافظهها (RAM) و دیگر قطعات مهم کامپیوتر هستند. بدون ترانزیستورها، ساخت مدارهای مجتمع پیشرفته و ریزپردازندههای قدرتمند امروزی امکانپذیر نبود.
2. عملکرد پردازنده
پردازندههای کامپیوتر از میلیاردها ترانزیستور تشکیل شدهاند که با هم کار میکنند تا عملیات محاسباتی و منطقی را انجام دهند. این ترانزیستورها با روشن و خاموش شدن سریع، محاسبات باینری را ممکن میسازند که اساس کار کامپیوترهاست.
3. کاهش اندازه و افزایش کارایی
پیشرفت در فناوری ترانزیستورها منجر به کوچکتر شدن اندازه دستگاههای الکترونیکی و افزایش قدرت پردازشی آنها شده است. قانون مور که بیان میکند تعداد ترانزیستورها در یک تراشه هر دو سال دو برابر میشود، نشاندهنده سرعت پیشرفت در این زمینه است.
4. مصرف انرژی بهینه
ترانزیستورهای مدرن با مصرف انرژی کمتر و کارایی بیشتر، امکان ساخت دستگاههای قابل حمل با عمر باتری طولانیتر را فراهم کردهاند. این ویژگی در دنیای امروز که دستگاههای موبایل بخش بزرگی از زندگی ما را تشکیل میدهند، بسیار مهم است.
تصور کنید یک کلید کوچک دارید که می تواند روشن یا خاموش شود. اکنون ترانزیستور را به عنوان یک کلید واقعا کوچک و هوشمند در داخل یک کامپیوتر در نظر بگیرید. این مانند یک پلیس راهنمایی و رانندگی برای سیگنال های الکتریکی کوچک است که تصمیم می گیرد چه زمانی به آنها اجازه عبور (روشن کردن) یا متوقف کردن آنها (خاموش کردن) را بدهد.
به زبان ساده تر: ترانزیستورها مانند شیرهای آب کوچکی عمل میکنند که جریان الکتریسیته را کنترل میکنند.
اجزای ترانزیستور:
ترانزیستور یک قطعه الکترونیکی کوچک است که میتواند جریان الکتریکی را کنترل کند. این قطعه به عنوان یک سوئیچ الکترونیکی یا تقویتکننده عمل میکند و دارای سه پایه اصلی است:
با اعمال ولتاژ به پایه بیس، ترانزیستور روشن میشود و جریانی از کلکتور به امیتر عبور میکند. میزان جریان عبوری از کلکتور به امیتر، توسط ولتاژ بیس کنترل میشود. با تغییر ولتاژ بیس، میتوان جریان عبوری از کلکتور به امیتر را کم یا زیاد کرد.
- امیتر: جریانی که از این پایه عبور میکند، توسط ولتاژ بیس کنترل میشود.
- کلکتور: جریانی که از این پایه عبور میکند، توسط ولتاژ بیس کنترل میشود.
- بیس: با اعمال ولتاژ به این پایه، ترانزیستور روشن میشود.
نحوه عملکرد ترانزیستور
ترانزیستورها با کنترل جریان الکتریکی به روش زیر عمل میکنند:
سوئیچینگ (Switching): با اعمال ولتاژ به پایه بیس، ترانزیستور روشن میشود و اجازه میدهد جریان از کلکتور به امیتر عبور کند. در صورت نبود ولتاژ در بیس، ترانزیستور خاموش است و جریان عبور نمیکند.
تقویت سیگنال: در حالت تقویتکننده، ترانزیستور میتواند سیگنالهای ضعیف را با کنترل جریان عبوری تقویت کند. تغییرات کوچک در ولتاژ بیس منجر به تغییرات بزرگ در جریان بین کلکتور و امیتر میشود.
گیتهای منطقی (NOT، AND، OR، NAND، NOR، XOR و XNOR)
https://academo.org/demos/logic-gate-simulator
گیتهای منطقی اجزای اساسی در طراحی مدارهای دیجیتال و کامپیوترها هستند. این گیتها بر اساس جبر بولی عمل میکنند و با استفاده از ورودیهای باینری (0 و 1) خروجیهای منطقی تولید میکنند. در ادامه، هر یک از گیتهای منطقی را به تفصیل توضیح میدهیم:
1. گیت NOT (نفیکننده):
توضیح: گیت NOT تنها یک ورودی دارد و خروجی آن مکمل (معکوس) ورودی است. اگر ورودی 1 باشد، خروجی 0 خواهد بود و بالعکس.
جدول حقیقت
2. گیت AND (و):
توضیح: گیت AND دو یا چند ورودی دارد و خروجی آن تنها زمانی 1 است که تمامی ورودیها 1 باشند؛ در غیر این صورت خروجی 0 است.
جدول حقیقت برای دو ورودی:
3. گیت OR (یا):
توضیح: گیت OR دو یا چند ورودی دارد و خروجی آن زمانی 1 است که حداقل یکی از ورودیها 1 باشد.
جدول حقیقت برای دو ورودی:
4. گیت NAND (نه-و):
توضیح: گیت NAND ترکیبی از گیتهای AND و NOT است. خروجی آن مکمل گیت AND است؛ یعنی خروجی تنها زمانی 0 است که تمامی ورودیها 1 باشند.
جدول حقیقت برای دو ورودی:
5. گیت NOR (نه-یا):
توضیح: گیت NOR ترکیبی از گیتهای OR و NOT است. خروجی آن مکمل گیت OR است؛ یعنی خروجی تنها زمانی 1 است که تمامی ورودیها 0 باشند.
جدول حقیقت برای دو ورودی:
6. گیت XOR (یا انحصاری):
توضیح: گیت XOR خروجی 1 تولید میکند اگر تعداد ورودیهای 1 فرد باشد. برای دو ورودی، خروجی 1 است زمانی که ورودیها متفاوت باشند.
جدول حقیقت برای دو ورودی:
7. گیت XNOR (یا انحصاری معکوس):
توضیح: گیت XNOR مکمل گیت XOR است. خروجی آن 1 است زمانی که تعداد ورودیهای 1 زوج باشد. برای دو ورودی، خروجی 1 است زمانی که ورودیها مشابه باشند.
جدول حقیقت برای دو ورودی:
نکات مهم برای متخصصان IT:
- کاربردها: گیتهای منطقی پایه و اساس طراحی مدارهای دیجیتال، ریزپردازندهها، حافظهها و سایر اجزای کامپیوتری هستند.
- ترکیب گیتها: با ترکیب این گیتهای اساسی میتوان مدارهای منطقی پیچیدهتری ساخت که وظایف محاسباتی خاصی را انجام میدهند.
- پیادهسازی فیزیکی: در سطح سختافزار، گیتهای منطقی با استفاده از ترانزیستورها پیادهسازی میشوند.
- بهینهسازی مدارها: در طراحی دیجیتال، بهینهسازی مدارها برای کاهش تعداد گیتها، مصرف انرژی و افزایش سرعت اهمیت دارد.
بیت و بایت / Bit & Byte
بیت کوچکترین واحد کامپیوتر است: یک ترانزیستور چه روشن یا خاموش باشد، مانند کوچکترین اطلاعات در دنیای کامپیوتر است. ما این را “بیت” می نامیم – این بلوک سازنده زبان کامپیوتر است.
بایت ها گروهی از بیت ها هستند: حالا تصور کنید هشت تا از این بیت ها را کنار هم قرار دهید. آن گروه “بایت” نامیده می شود. یک بایت مانند یک تیم کوچک از هشت کلید (ترانزیستور) است که با هم کار می کنند و می تواند اعداد یا حروف مختلف را نشان دهد.
شمارش با بیت ها و بایت ها:
وقتی کامپیوترها می خواهند چیزی را بشمارند یا به خاطر بسپارند، از این سوئیچ های کوچک استفاده می کنند. هر سوئیچ مانند یک سوال بله / خیر است که با یک یا صفر پاسخ می دهد. بنابراین، گروهی از سوئیچها (بیتها و بایتها) که با هم کار میکنند، به رایانهها اجازه میدهد تا چیزهای زیادی را بفهمند و به خاطر بسپارند – از اعداد گرفته تا حروف و همه چیز بین آنها.
به طور خلاصه، ترانزیستورها و میکرو ترانزیستورها مانند سوئیچ های فوق العاده کوچکی هستند که کامپیوترها از آنها برای شمارش و به خاطر سپردن اطلاعات استفاده می کنند. آنها به زبان یکها و صفرها صحبت می کنند، و وقتی آنها را به بیت ها و بایت ها گروه بندی می کنید، توانایی شگفت انگیز رایانه ها برای پردازش، ذخیره و برقراری ارتباط یک دسته کامل از اطلاعات را به دست می آورید!
Binary باینری
در دنیای کامپیوترها، همه چیز به زبان خاصی متشکل از یک و صفر خلاصه می شود. ما این زبان را “باینری” می نامیم. اما دقیقاً باینری چیست و چرا رایانه ها از آن استفاده می کنند؟
قبل از اینکه به «باینری چیست» بپردازیم، اجازه دهید کمی به گذشته برگردیم. باینری مانند روشی برای شمارش است، درست مانند زمانی که با انگشتان یا علامت های شمارش می شمارید. علامت های شمارش ساده هستند اما خیلی کارآمد نیستند. رایانه ها از روش هوشمندتری به نام سیستم پایه-10 استفاده می کنند که در آن هر رقم می تواند چیزهای بیشتری را نشان دهد.
باینری را به عنوان یک سیستم شمارش دیگری در نظر بگیرید که فقط از دو عدد استفاده می کند: 0 و 1. هر عدد باینری جدید مانند دو برابر کردن عدد قبلی است، و دنباله ای مانند 1، 2، 4، 8 و غیره می سازد. حتی با وجود اینکه به سرعت سیستم پایه 10 نیست، باینری بسیار سریعتر از علامت های شمارش است. این سیستم شمارهگذاری مبنایی برای همه کدهای باینری است که دادههای دیجیتالی مانند دستورالعملهای پردازنده رایانهای که هر روز با دستگاههای شما استفاده میشوند را مینویسد.
حال یک کد مخفی را تصور کنید:
باینری را مانند یک کد مخفی تصور کنید که رایانه ها برای صحبت با یکدیگر از آن استفاده می کنند. این فقط از دو رقم تشکیل شده است: 0 و 1. اینها مانند روشی است که رایانه برای گفتن بله (1) یا خیر (0) انجام می دهد.
اکنون، می توانید هر عددی را فقط با استفاده از این دو رقم بسازید. این مانند ساختن یک برج با آجرهای لگو است، اما آجرهای شما فقط می توانند سیاه (0) یا سفید (1) باشند.
شمارش به صورت باینری: در شمارش عادی به 1، 2، 3 و … می رویم. در باینری، کمی متفاوت است. مثل این است که روی انگشتان خود بشمارید، اما شما فقط دو انگشت دارید. بنابراین، 1، 10، 11، 100، 101 و غیره می شود.
ترجمه باینری به اعشاری:
درک اعشاری: اعشاری سیستم شمارش منظمی است که ما هر روز از آن استفاده می کنیم، مانند 1، 2، 3 و غیره. ده رقم دارد: 0 تا 9.
تقسیم باینری به اعشاری: برای ترجمه باینری به اعشاری، فقط باید به ارزش مکانی هر رقم نگاه کنید. سمت راست ترین رقم 2^0، رقم بعدی 2^1، سپس 2^2 و به همین ترتیب است. رقم را در ارزش مکانی آن ضرب کرده و با هم جمع کنید.
مثال: عدد باینری 1011 را در نظر بگیرید. از سمت راست شروع کنید: (1 * 2^0)+ (1 * 2^1) + (0 * 2^2) + (1 * 2^3) = 1 + 2 + 0 + 8 = 11. بنابراین، 1011 در باینری 11 در اعشار است.
به عنوان مثال، در اینجا اعداد 0 تا 15 به صورت باینری آمده است:
اعداد باینری از پایه 2 استفاده می کنند و بنابراین ستون ها هستند:
ASCII و ترجمه “A” به باینری:
ASCII چیست:
ASCII مخفف “کد استاندارد آمریکایی برای تبادل اطلاعات” است. این یک استاندارد قفل گذاری کاراکتر است که یک مقدار عددی منحصر به فرد را به هر کاراکتر و کد کنترل در زبان انگلیسی اختصاص می دهد. ASCII برای نمایش متن در رایانه ها و سایر دستگاه هایی که از متن استفاده می کنند استفاده می شود.
در ASCII، به هر کاراکتر یک عدد خاص اختصاص داده می شود که به کد ASCII یا مقدار ASCII معروف است. مثلا:
- کد اسکی برای حرف A 65 است.
- کد اسکی برای رقم ‘0’ 48 است.
- کد اسکی برای کاراکتر فاصله 32 است.
ASCII در مجموع شامل 128 کاراکتر است که الفبای انگلیسی (اعم از حروف بزرگ و کوچک)، اعداد، علائم نقطه گذاری و کاراکترهای کنترلی مختلف را برای اهداف فرمت کردن و ارتباط پوشش می دهد.
Extended ASCII، توسعهای از ASCII استاندارد، شامل 128 کاراکتر اضافی است که از نمادهای اضافی، کاراکترهای زبانهای دیگر و کاراکترهای ویژه پشتیبانی میکند.
ASCII به طور گسترده در محاسبات، ارتباطات از راه دور و تبادل داده استفاده می شود، زیرا روشی استاندارد برای نمایش کاراکترهای متنی ارائه می دهد و از سازگاری و سازگاری در سیستم ها و پلتفرم های مختلف اطمینان می دهد. هر کاراکتر در یک کامپیوتر به صورت داخلی با کد ASCII مربوطه نشان داده می شود و به رایانه ها اجازه می دهد اطلاعات متنی را پردازش و تبادل کنند.
مثال با حرف “A”:
در ASCII، حرف “A” با عدد 65 نشان داده می شود. حال، بیایید 65 را به باینری ترجمه کنیم. قبل از شروع، بیایید در مورد بایت ها صحبت کنیم. بایت واحدی از اطلاعات دیجیتالی است که از 8 بیت تشکیل شده است. در نمایش باینری که ما به تازگی برای ‘A’ پیدا کردیم، 8 رقم (0 و 1) وجود دارد، و این مجموعه 8 بیتی یک بایت را تشکیل می دهد.
بنابراین، نمایش باینری ‘A’، 01000001، یک بایت طول دارد. در رایانه ها، کاراکترها معمولاً با استفاده از یک بایت حافظه نمایش داده می شوند. این بدان معناست که وقتی کاراکتر A را ذخیره یا انتقال میدهید، 8 بیت یا 1 بایت فضا اشغال میکند. بایت ها واحدهای اساسی برای اندازه گیری و مدیریت اطلاعات در سیستم های محاسباتی هستند.
کد ASCII برای ‘A ‘ 65 است.
با بزرگترین توان 2 که کمتر یا مساوی با مقدار اعشار (65) است شروع کنید. در این مورد، 2 به توان 6 (64) است. یک “1” را در ارزش مکانی مربوطه بنویسید. 64 = 2^6
باینری تاکنون: 1 _ _ _ _ _
اکنون، بررسی کنید که پس از تفریق ارزش مکانی که استفاده کرده اید (65 – 64 = 1) چه چیزی باقی می ماند. بزرگترین توان 2 را کمتر یا مساوی این باقیمانده پیدا کنید. در این مورد، 2^0 (1) است. یک “1” را در ارزش مکانی مربوطه بنویسید.
باینری تاکنون: 1 _ _ _ _ 1
مقادیر مکانی باقیمانده را با ‘0’ پر کنید زیرا هیچ قدرت دیگری برای استفاده از 2 وجود ندارد.
باینری: 01000001
به طور خلاصه، باینری مانند یک زبان مخفی است که تنها دو رقم دارد. ترجمه آن به اعشار مستلزم درک مقادیر مکانی است و ASCII مانند کدی است که اعداد را به کاراکترها اختصاص می دهد – مانند تبدیل “A” به 65 و سپس ترجمه آن به باینری (1000001). این مانند یک رمز شکن است!