WEBVTT

00:00.000 --> 00:00.990
Eğitmen: Bu derste

00:00.990 --> 00:03.390
CPU özelliklerini ele alacağız.

00:03.390 --> 00:05.340
Bu, çoklu iş parçacığı, simetrik çoklu

00:05.340 --> 00:07.050
işlem, tek çekirdeğe karşı çoklu

00:07.050 --> 00:10.950
çekirdek ve sanallaştırma desteği gibi şeyleri içerir.

00:10.950 --> 00:12.180
Şimdi, ele alacağımız ilk

00:12.180 --> 00:15.840
şey, hangi CPU'yu satın aldığınıza bağlı olarak SMT veya eşzamanlı çoklu

00:15.840 --> 00:19.200
iş parçacığı veya hiper iş parçacığı olarak da adlandırılan çoklu

00:19.200 --> 00:21.480
iş parçacığı olarak bilinir.

00:21.480 --> 00:23.040
Hyper-threading, Intel tarafından

00:23.040 --> 00:24.780
bu işlem için kullanılan bir terimdir.

00:24.780 --> 00:27.000
Daha genel bir terim ise SMT ya da eşzamanlı

00:27.000 --> 00:29.340
çoklu iş parçacığıdır.

00:29.340 --> 00:31.050
Şimdi, iş parçacığı ile uğraşırken,

00:31.050 --> 00:33.870
bu, bir yazılım uygulaması tarafından bir işlemciye

00:33.870 --> 00:37.350
gönderilen tek bir talimat akışı kavramıdır.

00:37.350 --> 00:40.770
Artık çoğu uygulama tek bir süreci tek bir iş parçacığında çalıştırmak

00:40.770 --> 00:42.150
üzere tasarlanmıştır.

00:42.150 --> 00:44.340
Bu da yazılımın her şeyi seri bir şekilde

00:44.340 --> 00:45.720
yaptığı anlamına gelir.

00:45.720 --> 00:47.250
Yani, size beş farklı şey

00:47.250 --> 00:48.930
yapmanız için talimat versem,

00:48.930 --> 00:50.730
bunları sırasıyla yaparsınız:

00:50.730 --> 00:53.250
bir, iki, üç, dört ve beş.

00:53.250 --> 00:55.260
Bunların her biri 10 dakikanızı

00:55.260 --> 00:57.510
alsaydı, toplam 50 dakika ederdi.

00:57.510 --> 01:00.240
Ancak çoklu iş parçacığı kullanmanıza ve bu şeyleri

01:00.240 --> 01:01.650
sırasız ya da aynı anda yapmanıza

01:01.650 --> 01:03.981
izin verirsem, bu şeyleri farklı iş parçacıklarına

01:03.981 --> 01:07.050
ya da farklı akışlara göndererek aynı anda birden fazla

01:07.050 --> 01:09.360
şey yapabilirsiniz.

01:09.360 --> 01:11.130
Örneğin, size sağ elinizle bir şeyler

01:11.130 --> 01:12.450
yazmanızı istediğimi ve

01:12.450 --> 01:13.500
aynı zamanda sol elinizle

01:13.500 --> 01:17.070
masaya dokunmanızı istediğimi söyledim diyelim.

01:17.070 --> 01:18.570
Bunların ikisini de aynı anda yapabilirsiniz,

01:18.570 --> 01:19.830
çünkü bu eylemleri yapmak için iki

01:19.830 --> 01:22.020
iş parçacığınız veya iki eliniz vardır.

01:22.020 --> 01:23.970
Çoklu iş parçacığı fikri budur.

01:23.970 --> 01:26.700
Bu nedenle Intel ve diğer üreticilerin yaptığı şey,

01:26.700 --> 01:28.860
yazılımların işlemcileriyle konuşmasına

01:28.860 --> 01:30.720
ve tek bir işlemci içinde aynı anda birden

01:30.720 --> 01:33.061
fazla paralel iş parçacığı çalıştırmasına olanak

01:33.061 --> 01:35.610
tanıyan bir yol geliştirmekti.

01:35.610 --> 01:37.050
Bu, bu iş parçacıklarının o işlemci

01:37.050 --> 01:39.420
üzerinden çalıştırılmasına ve CPU'nun orada oturup bir

01:39.420 --> 01:41.340
sonraki eylemi beklediği boşta kalma süresinin

01:41.340 --> 01:43.080
azaltılmasına olanak tanır.

01:43.080 --> 01:45.030
Bunu yaparak, esasen kapasitemizi

01:45.030 --> 01:46.680
artırmaya ve işlemciden daha

01:46.680 --> 01:48.006
fazla şey geçirmeye çalışabilir

01:48.006 --> 01:52.410
ve aynı süre zarfında daha fazla iş yapmaya çalışabiliriz.

01:52.410 --> 01:55.140
Şimdi, bu harika, ancak yalnızca belirli bir noktaya kadar çalışıyor

01:55.140 --> 01:57.570
ve yazılımın bunu kullanabilmesi ve sisteme aynı anda

01:57.570 --> 02:00.060
birden fazla iş parçacığı kullanmak istediğinizi söyleyebilmesi

02:00.060 --> 02:02.790
için bunu anlayabilmesi gerekiyor.

02:02.790 --> 02:04.140
Hyper-threading gibi bir

02:04.140 --> 02:06.630
şeyle uğraşırken bu büyük bir sınırlamadır.

02:06.630 --> 02:08.400
Bunu aşmanın bir başka yolu

02:08.400 --> 02:13.320
da simetrik çoklu işlem ya da SMP olarak bilinen yöntemdir.

02:13.320 --> 02:15.570
Şimdi, SMP iş istasyonları ve sunucuların

02:15.570 --> 02:17.304
bunu yapmasının geleneksel yoludur,

02:17.304 --> 02:20.370
çünkü aslında birden fazla işlemciye sahiptirler.

02:20.370 --> 02:22.080
Şimdi, bunu yapmak için iki işlemci

02:22.080 --> 02:25.290
soketi ya da dört işlemci soketi olan bir anakarta sahip olmanız

02:25.290 --> 02:27.420
gerekir ve sonra bu anakarta iki ya da dört

02:27.420 --> 02:28.890
işlemci takarsınız.

02:28.890 --> 02:31.050
Bunu yaptığınızda, birlikte çalışabilmeleri

02:31.050 --> 02:32.790
için tüm bu işlemcilerin aynı tür ve

02:32.790 --> 02:34.290
hızda olması gerekir.

02:34.290 --> 02:37.410
Ve temel işletim sisteminizin birden fazla işlemciyi nasıl

02:37.410 --> 02:39.690
kullanacağını anlaması gerekir.

02:39.690 --> 02:42.690
Varsayılan olarak, çoğu işletim sistemi bunu yapmaz.

02:42.690 --> 02:45.150
Bu nedenle, birden fazla işlemciyi destekleyebilmek için

02:45.150 --> 02:47.670
Windows Server 2019 gibi sunucu tabanlı bir işletim sistemine

02:47.670 --> 02:49.350
sahip olmanız gerekiyordu.

02:49.350 --> 02:52.860
Bu nedenle SMP ya da simetrik çoklu işlem, masaüstü ve dizüstü

02:52.860 --> 02:55.620
bilgisayarlarda pek kullanışlı değildi.

02:55.620 --> 02:58.770
Bunun yerine çoğu masaüstü ve dizüstü bilgisayar Intel işlemcilerin

02:58.770 --> 03:01.110
hyper-threading özelliğine ya da AMD işlemci

03:01.110 --> 03:04.140
kullanıyorsanız simultaneous multithreading veya SMT özelliğine

03:04.140 --> 03:06.720
güvenmek zorunda kaldı.

03:06.720 --> 03:09.480
Dolayısıyla, hyper-threading ve SMT uzun bir süre gerçekten

03:09.480 --> 03:12.090
iyi çalıştı, ancak sonunda ne kadar çok şey işlemek istediğimiz

03:12.090 --> 03:14.250
ve bunu yapmak için yalnızca tek bir işlemciye sahip

03:14.250 --> 03:16.920
olduğumuz konusunda bir sınıra ulaştık.

03:16.920 --> 03:19.020
Çoğu işletim sistemi belirli bir anakart üzerinde

03:19.020 --> 03:20.610
birden fazla soket ya da birden fazla

03:20.610 --> 03:23.220
işlemciyi nasıl idare edeceğini bilmediğinden, üreticiler

03:23.220 --> 03:25.470
çok çekirdekli paket olarak bilinen bir paket oluşturmaya

03:25.470 --> 03:27.420
başladılar.

03:27.420 --> 03:28.770
Şimdi, bir paketten bahsettiğimde,

03:28.770 --> 03:31.500
CPU'dan, fiziksel çipten bahsediyorum.

03:31.500 --> 03:33.570
Şimdi, anakartınızdaki iki farklı sokette

03:33.570 --> 03:35.790
iki fiziksel paket veya iki fiziksel yonga

03:35.790 --> 03:37.020
bulundurmak yerine, bu

03:37.020 --> 03:38.850
üreticilerin yapmaya karar verdiği

03:38.850 --> 03:42.390
şey, tek bir CPU olarak çalışan tek bir paket oluşturmaktı.

03:42.390 --> 03:43.740
Ancak bu paketin içinde

03:43.740 --> 03:47.160
aslında birden fazla CPU veya birden fazla işlemci vardı.

03:47.160 --> 03:49.410
Bu, anakart için tek bir fiziksel CPU

03:49.410 --> 03:53.040
gibi göründüğü anlamına geliyordu, çünkü öyleydi, ancak içinde

03:53.040 --> 03:54.540
birden fazla çekirdek veya

03:54.540 --> 03:57.600
merkezi işlem birimi çekirdeği vardı.

03:57.600 --> 03:59.910
Bu sayede herhangi bir işletim sistemi

03:59.910 --> 04:03.240
tek bir işlemci ya da işlemci paketiyle konuşabilir ve

04:03.240 --> 04:05.160
daha sonra işlemci paketinin kendisi

04:05.160 --> 04:06.840
bu talimatları CPU'nun içindeki

04:06.840 --> 04:10.890
çoklu çekirdekler arasında paylaştırabilir.

04:10.890 --> 04:11.812
Şöyle düşünün.

04:11.812 --> 04:14.250
Dört yatak odası olan bir eviniz var.

04:14.250 --> 04:16.320
Eğer birisi kapıya gelip "Bu gece için bir yatağa ihtiyacım

04:16.320 --> 04:17.580
var" derse, gece için bir yatağı

04:17.580 --> 04:19.320
olduğu sürece bu dördünden hangisini alacağı

04:19.320 --> 04:20.880
gerçekten umurunda değildir.

04:20.880 --> 04:22.710
Böylece ön kapıdan giriyorsunuz, onları tek

04:22.710 --> 04:25.620
bir odaya götürüyorsunuz ve onlara sadece bir oda gösteriyorsunuz.

04:25.620 --> 04:28.560
Bu çok çekirdekli işlemcinin yaptığı da esasen budur.

04:28.560 --> 04:30.570
Yeni insanlar kapıdan içeri girdiğinde, onları tek bir

04:30.570 --> 04:32.790
odaya alıyor ve gece boyunca orada uyumalarına veya işlemlerini

04:32.790 --> 04:35.700
yapmalarına izin veriyor ve sonra onları tekrar dışarı gönderiyor.

04:35.700 --> 04:36.720
Tüm bunlar ön kapıdaki

04:36.720 --> 04:38.220
kişi tarafından gerçekleştiriliyor

04:38.220 --> 04:40.860
ki bu durumda bu kişi çok çekirdekli paket oluyor.

04:40.860 --> 04:43.200
Daha sonra bunları, bu işi yapmak için ihtiyaç

04:43.200 --> 04:46.890
duyduğu bireysel bölmeye veya bireysel alt işlemciye yerleştirir.

04:46.890 --> 04:49.290
Çok çekirdekli bir paketin amacı da budur.

04:49.290 --> 04:51.480
Şimdi, çoğumuz bunu daha önce duyduk, çünkü

04:51.480 --> 04:52.650
sisteminizde muhtemelen

04:52.650 --> 04:55.110
çok çekirdekli bir işlemciniz var.

04:55.110 --> 04:57.120
Muhtemelen çift çekirdekli bir işlemciniz

04:57.120 --> 04:59.790
vardır, yani tek bir çip içinde iki CPU'nuz vardır veya

04:59.790 --> 05:01.230
dört işlemciniz vardır, yani

05:01.230 --> 05:02.730
tek bir çip içinde dört işlemciniz

05:02.730 --> 05:03.960
vardır.

05:03.960 --> 05:05.730
Ya da bir hexa işlemciniz var, yani

05:05.730 --> 05:08.340
tek bir çipin içinde altı çekirdeğiniz var.

05:08.340 --> 05:09.840
Ya da bir okta işlemciniz var,

05:09.840 --> 05:12.300
yani tek bir çipte sekiz çekirdeğiniz var.

05:12.300 --> 05:16.090
Örneğin, masaüstü bilgisayarımda sekiz çekirdekli bir

05:16.090 --> 05:19.260
işlemcim var ve bu tek bir fiziksel çip, ancak

05:19.260 --> 05:21.630
içinde sekiz alt işlemci var.

05:21.630 --> 05:23.370
Bu da sekiz çekirdekli ya da çok çekirdekli

05:23.370 --> 05:25.410
işlemci olarak bilinir.

05:25.410 --> 05:27.240
Şimdi, çoklu çekirdeğe ve hiper iş parçacığına

05:27.240 --> 05:28.800
sahip olmanın yanı sıra, aslında

05:28.800 --> 05:29.991
ikisini birleştirebilirsiniz,

05:29.991 --> 05:32.846
böylece paketin içindeki bu işlemcilerin her biri, örneğin

05:32.846 --> 05:34.560
benim sistemimde sekiz işlemciye

05:34.560 --> 05:37.530
sahip sekiz çekirdekli var.

05:37.530 --> 05:38.940
Şimdi, bu tek paketin içinde sekiz

05:38.940 --> 05:40.050
işlemci var ve bu sekiz işlemcinin

05:40.050 --> 05:41.730
her biri hyper-threading özelliğini

05:41.730 --> 05:43.710
de destekleyebiliyor.

05:43.710 --> 05:46.860
Bu, sekiz CPU ile 16 iş parçacığım olduğu anlamına geliyor

05:46.860 --> 05:49.260
ve bana söz konusu makinede bir ton işlem kapasitesi

05:49.260 --> 05:50.850
sağlıyor.

05:50.850 --> 05:53.250
Pekala, bu noktada bu derste ele almak istediğimiz

05:53.250 --> 05:56.010
dört konunun üçünden bahsetmiş olduk.

05:56.010 --> 05:57.390
SMT olarak bilinen hyper-threading

05:57.390 --> 06:00.090
ve eşzamanlı çoklu iş parçacığı hakkında konuştuk.

06:00.090 --> 06:02.460
Simetrik çoklu işlemden ya da soketlerde birden

06:02.460 --> 06:04.830
fazla CPU'ya sahip olmaktan bahsettik ve daha

06:04.830 --> 06:07.530
sonra içinde iki, dört, altı ya da sekiz tane olmak üzere

06:07.530 --> 06:09.120
birden fazla işlemci bulunan tek

06:09.120 --> 06:11.220
bir CPU'ya sahip olduğunuz bu çok çekirdekli

06:11.220 --> 06:14.010
işlemciler fikrinden bahsettik.

06:14.010 --> 06:17.400
Şimdi, sanallaştırma hakkında konuşmamız gereken son şey.

06:17.400 --> 06:20.490
Şimdi, sanallaştırma CPU'ların bir başka özelliğidir, ancak az

06:20.490 --> 06:22.020
önce bahsettiğimiz üçüyle gerçekten

06:22.020 --> 06:23.220
ilgili değildir.

06:23.220 --> 06:24.780
Az önce bahsettiğimiz üç konu, tek bir çipten

06:24.780 --> 06:27.300
ya da birden fazla çipten nasıl daha fazla performans elde edebileceğinizle

06:27.300 --> 06:28.710
ilgiliydi.

06:28.710 --> 06:30.300
Ancak sanallaştırma hakkında

06:30.300 --> 06:32.880
konuştuğumuzda, gerçekte var olmayan bir donanımı

06:32.880 --> 06:35.730
taklit edebilmekten bahsediyoruz.

06:35.730 --> 06:37.080
Şimdi, bu aslında ya Intel'in

06:37.080 --> 06:39.450
VT olarak bilinen sanallaştırma teknolojisi

06:39.450 --> 06:42.330
ya da AMD'nin AMD-V olarak bilinen sanallaştırması

06:42.330 --> 06:44.700
yoluyla elde edilir.

06:44.700 --> 06:47.340
Şimdi, bunların her ikisi de donanım destekli sanallaştırma

06:47.340 --> 06:49.710
olarak adlandırılan sanallaştırmayı desteklemek

06:49.710 --> 06:52.050
için işlemci uzantıları sağlar.

06:52.050 --> 06:53.021
Bu da muhtemelen şu soruyu

06:53.021 --> 06:55.470
gündeme getiriyor: Sanallaştırma nedir?

06:55.470 --> 06:58.291
Sanallaştırma, bir bilgisayarın kendi içinde birden

06:58.291 --> 07:02.729
fazla başka bilgisayar çalıştırıyormuş gibi davranabilmesidir.

07:02.729 --> 07:04.560
Şimdi, bunun nasıl göründüğü, MacBook'um

07:04.560 --> 07:07.140
gibi tek bir dizüstü bilgisayarım olabilir.

07:07.140 --> 07:11.700
Ve bu MacBook'ta tek bir işletim sistemim var, macOS.

07:11.700 --> 07:13.710
Şimdi, Windows veya Linux çalıştırmak isteseydim,

07:13.710 --> 07:15.600
makinemi yeniden biçimlendirmem ve bu yazılımı

07:15.600 --> 07:16.920
yüklemem gerekirdi.

07:16.920 --> 07:18.780
Bu gerçekten rahatsız edici olurdu.

07:18.780 --> 07:21.360
Ancak sanallaştırma ile bunu yapmak zorunda değilim.

07:21.360 --> 07:22.830
Bunun yerine, VMware veya

07:22.830 --> 07:26.340
Virtualbox veya Parallels gibi bir program çalıştırabilir ve

07:26.340 --> 07:27.840
bu yazılımın içinde sanal

07:27.840 --> 07:30.000
bir bilgisayar oluşturabilirim.

07:30.000 --> 07:32.370
Bir işlemciye, iki işlemciye ya da dört işlemciye

07:32.370 --> 07:34.950
sahip olmasını istediğimi söyleyebilirim.

07:34.950 --> 07:36.600
Ve ona ne kadar bellek ve ne kadar depolama alanı

07:36.600 --> 07:38.010
istediğimi söyleyebiliyorum.

07:38.010 --> 07:39.930
Ve sadece yazılımda var olan

07:39.930 --> 07:42.510
bu sanal bilgisayarı yaratacaktır.

07:42.510 --> 07:44.645
Şimdi, içinde Windows gibi yeni bir işletim sistemi

07:44.645 --> 07:48.660
çalıştırdığımda, bunun iki çekirdekli bir işlemci olduğunu söyleyebilirim.

07:48.660 --> 07:52.770
Dört gigabayt RAM ve 50 gigabayt sabit diske sahiptir.

07:52.770 --> 07:54.750
Bunların hepsi sadece yazılımda var.

07:54.750 --> 07:57.296
Ancak Windows'u bu sanal makineye yüklediğimde, Windows

07:57.296 --> 07:59.670
bunun tam bir bilgisayar olduğunu düşünüyor.

07:59.670 --> 08:02.340
Tam iki işlemciye, tam dört gigabayt belleğe

08:02.340 --> 08:04.050
ve tam 50 gigabayt sabit diske

08:04.050 --> 08:06.270
sahip olduğunu düşünüyor.

08:06.270 --> 08:07.200
Bu yüzden Windows, tüm

08:07.200 --> 08:09.390
bu fiziksel donanıma sahip olduğunu düşünür ve sanallaştırma

08:09.390 --> 08:11.400
da bunu yapmamızı sağlar.

08:11.400 --> 08:13.659
Bir bilgisayarı sanallaştırmamıza ve sanal

08:13.659 --> 08:15.600
donanım vermemize ve tek bir fiziksel

08:15.600 --> 08:17.293
ana bilgisayar içinde birden fazla

08:17.293 --> 08:20.280
işletim sistemi çalıştırabilmemize olanak tanır.

08:20.280 --> 08:23.100
Şimdi, VT ve AMD-V'ye ek olarak, bazı modern işlemcilerde

08:23.100 --> 08:24.450
arayabileceğiniz ikinci

08:24.450 --> 08:27.120
bir sanallaştırma donanım desteği seviyesi

08:27.120 --> 08:28.860
de var.

08:28.860 --> 08:31.800
Intel sistemlerinde bu EPT ya da genişletilmiş sayfa

08:31.800 --> 08:33.480
tablosu olarak bilinir.

08:33.480 --> 08:35.490
Bir AMD işlemciyle çalışıyorsanız

08:35.490 --> 08:39.810
buna hızlı sanallaştırma indeksleme ya da RVI adını veriyorlar.

08:39.810 --> 08:42.390
Bunların her ikisi de yazılım sanallaştırmasının ikinci

08:42.390 --> 08:45.450
seviye adres çevirisi veya SLAT özellikleri olarak kabul edilir

08:45.450 --> 08:48.060
ve daha sonra daha iyi sanal bellek yönetimine izin vermek

08:48.060 --> 08:50.430
ve sanal bir makine içinde bellek kullanımı söz konusu

08:50.430 --> 08:52.620
olduğunda size daha yüksek performans sağlamak

08:52.620 --> 08:53.773
için bu donanım işlemcisi

08:53.773 --> 08:56.913
tarafından temel alınır ve desteklenir.

08:57.870 --> 09:00.150
Kendi derslerimizde sanallaştırma hakkında

09:00.150 --> 09:02.130
daha fazla konuşacağız, ancak şimdilik

09:02.130 --> 09:03.480
sadece bazı CPU'ların

09:03.480 --> 09:06.660
işlemci setleri içinde bunu yapabildiğini ve Intel'in

09:06.660 --> 09:08.250
VT'sini veya AMD'nin AMD-V'sini

09:08.250 --> 09:10.530
destekleyenler gibi bu yeteneğe sahip

09:10.530 --> 09:16.470
işlemcilerin sanallaştırma yaparken size olmayanlara göre daha iyi performans vereceğini anlamanızı

09:16.470 --> 09:19.260
istiyorum.

09:19.260 --> 09:20.698
Bu nedenle, bir makine inşa edecekseniz

09:20.698 --> 09:22.710
ve bunu sanallaştırma için kullanmak istiyorsanız,

09:22.710 --> 09:24.060
örneğin üzerinde çok sayıda başka

09:24.060 --> 09:25.995
sanal sunucu çalıştıracak bir sunucu gibi, seçtiğiniz

09:25.995 --> 09:28.034
işlemcilerin VT veya AMD-V'ye sahip olduğundan

09:28.034 --> 09:31.710
emin olmak istersiniz, böylece doğrudan donanım hızlandırmalı sanallaştırmayı destekleyebilirler,

09:31.710 --> 09:37.433
çünkü bu size çok daha iyi bir deneyim ve bunun yerine yazılım sanallaştırması yapmak zorunda kalmanızdan çok daha iyi bir performans

09:37.433 --> 09:40.653
sağlayacaktır.
