Компьютерные системы: общий взгляд

Компьютерные системы: общий взгляд

Оглавление

  1. Общий взгляд
  2. Представление данных
  3. Цифровая логика
  4. Архитектура фон Неймана

1. Компьютерные системы: общий взгляд

Что такое компьютерная система

Какие ассоциации возникают у вас при слове “компьютер”?  Возможно вам придет в голову ваш собственный настольный компьютер, который включает в себя системный блок, монитор, клавиатуру, мышь, колонки. У кого-то другого компьютер ассоциируется с ноутбуком.

Но на самом деле это понятие гораздо шире. Ваш смартфон также является компьютером. Компьютеры, выполняющие самые разные функции, можно встретить и в автомобилях.

Такой компьютер может, например, обрабатывать информацию, которую ему передают какие-либо датчики (например, температуру двигателя, закрыты ли двери и т.д.) и выводить на некий дисплей предупреждающий сигнал, если что-то не в порядке. Существую также так называемые суперкомпьютеры, которые могут занимать целые комнаты. Они используются для задач, требующих огромных вычислительных мощностей.  Как видно, понятие компьютера намного более широкое, чем может показаться на первый взгляд. Поэтому я также буду использовать термин “компьютерная система”.

Все компьютеры имеют между собой набор общих черт. Они представляют собой системы обработки информации, которые имеют программную часть (софт) – набор команд которые указывают о том, какие операции над информацией необходимо произвести, а также аппаратную часть (железо), которое собственно и выполняет эти команды. Устройство которое выполняет команды называется процессором, а которое хранит команды, а также результаты операций – компьютерной памятью. Память и процессор ключевые элементы любой компьютерной системы.

Помимо этого, компьютерная система обычно включает в себя устройства для ввода и вывода информации. Примеры устройств ввода: клавиатура, мышь, сенсорный экран. Примеры устройств вывода: монитор, колонки. Важным также является тот факт, что хотя все компьютеры и различаются вычислительной мощностью (скоростью выполнения программ) и объемом памяти, но программа, которую способен выполнить один компьютер, способен выполнить любой другой. То есть, например, ваш телефон способен производить те же операции, что и какой-нибудь Гугловский суперкомпьютер, просто у него это займет гораздо больше времени (то что суперкомпьютер выполнит за секунду ваш смартфон выполнит лишь за месяц).

Абстракция как инструмент работы с сложными системами

Для понимания устройства компьютерных систем очень важным является такое понятие как абстракция. На самом деле оно имеет очень широкое применение, выходящее далеко за рамки компьютерной техники. Если говорить просто, то абстракция – это способность разума сконцентрироваться на главном, игнорируя детали. Когда мы используем пульт от телевизора, мы как правило не задумываемся о его внутреннем устройстве, как он посылает радиоволны телевизору, как телевизор считывает эти волны и т.д. Для нас эти детали не важны. Пульт для нас это что-то вроде черного ящика. Мы жмем на кнопку, он выполняет необходимые действия. Или, например, водитель может управлять автомобилем, абсолютно не зная, что у него “под капотом”. Он просто жмет на педали, крутит руль и машина реагирует соответствующим образом. Абстракция разгружает наш разум и позволяет строить и использовать сложные системы. С другой стороны, в случае когда автомобиль, допустим, не заводится, нам необходимо “сорвать одеяло абстракций”. Если в системе что-то идет не так, то для исправления дефектов нам необходимо обратное действие – деконструкция, способность перейти от абстракции к более детальному рассмотрению устройства системы.

Уровни абстракции компьютера

Рассмотрим теперь устройство компьютера с точки зрения уровней абстракции.

  • Софт (програмное обеспечение)
  • Архитектура набора команд
  • Микроархитектура
  • Логические элементы
  • Девайсы 

Софт

На этом уровне мы имеем программу, написанную на языке программирования предназначенную для выполнения компьютером. Существует множество языков программирования. Поскольку процессор понимает только двоичный код, любой код, написанный на языке программирования должен по итогу быть преобразован в двоичный код, понятный процессору. За это отвечает компилятор.

Архитектура набора команд

На этом уровне мы имеем тот самый двоичный код. У нас есть процессор, который считывает некий набор битов (команду) и выполняет соответствующие действия. Затем он считывает следующий набор битов и выполняет их. И так до бесконечности, пока работу компьютера что-то не остановит. На этом уровне процессор для нас как черный ящик. Мы не знаем детали его внутреннего устройства, мы просто знаем какие команды он способен выполнять. Если проводить аналогию с современными автомобилями, то архитектура набора команд это руль, педали и коробка передач. Два автомобиля могут иметь абсолютно разное внутреннее строение, но если они одинаково реагируют на повороты руля, нажатие педалей и переключение скоростей, то умея управлять одним из них, мы также успешно можем управлять другим. Также и два процессора могут понимать одни и те же команды, но при этом иметь различное устройство.

Микроархитектура

Если продолжить аналогию с автомобилем, то микроархитектура компьютера это уже детали его внутреннего строения. На этом уровне работают инженеры, которые проектируют процессоры.

Логические элементы

Логические элементы, это как кубики лего, из которых мы собираем микроархитектуру. У нас есть некий ограниченный набор элементов, но мы можем использовать их для создания систем любой сложности.

Девайсы

Каждый логический элемент сам должен быть из чего-то построен и это что-то мы будем называть девайсами. Современных компьютеры работают на основе электричества, поэтому девайсы представляют собой устройства, направляющие и реагирующие на движение электронов. Но, возможно, в будущем появятся компьютеры, которые функционируют за счет других физических принципов, например, оптические компьютеры, которые работают на основе фотонов.

Телефон: +7 499 444 17 50 | 8 800 444 17 50 бесплатно по России | E-mail: school@codeby.email
Все курсы Партнерам Возврат Контакты