Перейти к содержанию

Помощь Со Схемотехникой И Компьютерной Инженирией


Aleksei_x86

Рекомендуемые сообщения

Доброго времени суток,

Недавно начал изучать вышеуказанные научные дисциплины (изучаю для себя , и пока не очень в них разбираюсь, так как профессиональное направление - математика и программирование высокого уровня (С++) ) , и вот есть идея спаять небольшую ЭВМ на транзисторной логике (под небольшой ЭВМ я подразумеваю устройство примерно с 1-2 Байт RAM и пару герц процессор , и примерно 7х7 светодиодный экран).

Такой вопрос : как сделать такую ЭВМ программируемой (без использования уже заранее запрограммированных посторнних микросхем )? То есть как сделать так , что бы мой код мог записываться в мою ЭВМ , на каком языке вообще должен быть код (я понимаю что на ASM , но как сделать так , что бы ЭВМ понимала т.е. компилировала данный код , как вообще сделать язык под мою ЭВМ , )?

(Интересно сделать самому ЭВМ - то есть без использования уже заранее запрограммированных посторнних микросхем).

Также можете посоветовать литературу , конкретизированой на тему моего вопроса.

Спасибо за помощь.

Изменено пользователем Aleksei_x86
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Сделать самому ЭВМ без использования заранее запрограммированных систем

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

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

Ссылка на комментарий
Поделиться на другие сайты

В любом случае потребуется какое -то подобие операционной системы, хранящейся в ROM и обслуживающая клавиатуру и дисплей. Посмотрите журналы Радио 80-90 годов, проект РК-86.

B Юном технике того-же периода был еще клон попроще.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

любая " эвм" понимает только команды в машинных кодах конкретного процессора

Все языки-это трансляторы в эти самые коды

Вы что - нибудь поняли?

:buba:

Ссылка на комментарий
Поделиться на другие сайты

Проект РК-86, в "Юном технике" был аналог еще проще.

Почему тогда давалась прошивка только в hex-формате? Целыми страницами одни 16-тиричные коды...

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

Ссылка на комментарий
Поделиться на другие сайты

Потому что дамп компактнее, к примеру, ассемблерного листинга, а журнал-то не резиновый, и набивать меньше.

Да и ошибку ввода гораздо легче выловить, сравнивая контрольные суммы.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

Итак , я изучил несколько статей по схемотехнике , и архитектуре ПК , и вот уже появилось нечто более ближе напоминающую мою ЭВМ :

1)Ввод программы в ЭВМ - на перфокартах (идея считываетеля такова : сделать двигатель-конвеер с выдержкой , допустим 1 сек, который будет двигать перфоленту. Снизу считываемого участка ленты стоит лампа , и выходит что фоторезисторы смогут получить двоичный код перфокарты) , или на интегральных схемах памяти (через usb-программатор ввожу в них двоичный код программы) , потом этот код записывается в RAM ЭВМ , и считывается он уже из нее посредством центрального процессора ЭВМ (или что-то его отдаленно напоминающие) - в ЦП есть регистр счетчика текущей команды , который грузит соответствующую команду из RAM - машинное слово , определенного размера , и обрабатывает , согласно своей логике.

(Архитектура Фон Неймана , если не ошибаюсь).

(В теории даже можно сделать транслятор на С++ для нее - написать на ПК на С++ текстовый редактор , в котором ввожу мой ASM код ("высокоуровневая" абстракция над двоичным кодом ЭВМ) , который конвертиться в двоичный код моей ЭВМ, и показывается/печатается перфокарта с двоичным кодом кодом).

2)Но еще не совсем вижу как сделать экран. Ну пока суть идеи такова : допустим сделать светодиодную матрицу (5x5 , к примеру) , и у каждого светодиода есть два питания - к первому контакту идет код из источника питания (через ограничивающий резистор конечно) , а ко второму контакту идет "логическое" питание - то есть есть если на этот контакт подать ток (1) , то этот диод будет гореть , если не подать (0) , то соответственно не будет. Всё "логическое" питание LED матрицы подключено к видео RAM, и тогда вся логика ЭВМ сходиться к тому , что бы ЦП , выполняя двоичный код из RAM , подавал на высчитанный контакт из видео RAM питание , что бы загорелся соответствующий светодиод.

3)Или может можно сделать как-то другому?

Может добавить какой-то граф. процессор?

Просто не совсем ясно как тогда сделать логику : двоичный код → RAM → ЦП и АЛУ → Экран (просто может моя идея вообще не в том направлении движется)?

Или вообще надо по другому делать?

-----------------

Вообще интересно записать пару демосцен (некие , абстрактные узоры из LED матринцы) на перфокарты , и потом скормить их моей ЭВМ.

(И тут же возникает мысль как сделать цикл (goto например) - то есть что бы после того как двоичный код , считанный из перфокарты и записанный в ROM , не прекратился сразу же после последней инструкции).

Ну пока такая идея , насчет цикла : сделать два вида RAM -

1)где записан неизменный код программы , считанный из перфокарты

2)"поле боя" , там где просиходят все расчеты , на базе команд из 1) , тут же идет итерация регистра адреса текущей инструкции из RAM ( 1) ) , и если допустим идет команда goto 12 (уже на "высокоуровневой" абстракции на С++ + ПК компиляторе - писал выше) , то тогда значение регистра команды становиться на 12 , и считывается код из указанной ячейки , ну как-то вот так я думаю сделать.

Изменено пользователем Aleksei_x86
Ссылка на комментарий
Поделиться на другие сайты

Ссылка на комментарий
Поделиться на другие сайты

По такой схеме вам придется постоянно отвлекать процессор на обслуживание дисплея.

Можно подключить стандартный LCD дисплей (имеющий на борту свой контроллер) и организовать в RAM область видеопамяти обьемом равной памяти дисплея. Кладем данные в видеопамять и периодически запускается подпрограмма, быстро копирующая весь массив в память дисплея. А уж какие там сигналы на какие пиксели подавать - это забота контроллера дисплея.

С символьным дисплеем было бы еще проще - не нужно выделять память под знакогенератор.

В "большом брате" этими делами занимается специальный видеоконтроллер, работающий по прерываниям от системного таймера. Если я правильно помню.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

По такой схеме вам придется постоянно отвлекать процессор на обслуживание дисплея.

Можно подключить стандартный LCD дисплей (имеющий на борту свой контроллер) и организовать в RAM область видеопамяти обьемом равной памяти дисплея. Кладем данные в видеопамять и периодически запускается подпрограмма, быстро копирующая весь массив в память дисплея. А уж какие там сигналы на какие пиксели подавать - это забота контроллера дисплея.

С символьным дисплеем было бы еще проще - не нужно выделять память под знакогенератор.

В "большом брате" этими делами занимается специальный видеоконтроллер, работающий по прерываниям от системного таймера. Если я правильно помню.

Может я не правильно что-то понял , но :

Я думал что ЦП за 1 сек (допустим 1000 тактов) все сделает сам : считает указанную в регистре адреса инструкцию , выполнит ее , внесет изменения в матрицу экрана , и обновит его , потом все повторяеться , или допустим сделать так , что бы частота обновления экрана и ЦП была разная...

Можно подключить стандартный LCD дисплей (имеющий на борту свой контроллер)...

>Хочу сделать без посторенного контроллера , только если сам спаяю , да и кажеться можно и без него сделать (имею ввиду без постороннего)...

По такой схеме вам придется постоянно отвлекать процессор на обслуживание дисплея.

>Мне бы уже хотя бы так для начала сделать.

Изменено пользователем Aleksei_x86
Ссылка на комментарий
Поделиться на другие сайты

Ну тогда динамическая индикация вам в помощь.

Пусть диоды включены в матрицу. Катоды подключены к горизонтальным проводникам (строки), аноды к вертикальным (столбцы). На горизонтальные строки последовательно и синхронно с процессором подаются сигналы низкого уровня, а процессор в нужный момент выставляет высокий уровень на столбцах.

Аналогично можно и клавиатуру опрашивать.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

Пусть диоды включены в матрицу. Катоды подключены к горизонтальным проводникам (строки), аноды к вертикальным (столбцы).

Чесно говоря , не вполне понял что вы имеет ввиду.

Вот , нарисовал как я вижу схему ЭВМ (аспект сделал на логику экрана) :

6PF7HN298vU.jpg

Изменено пользователем Aleksei_x86
Ссылка на комментарий
Поделиться на другие сайты

Это не динамическая индикация. При динамической для управления 9 светодиодами потребуется только 6 проводов от контроллера.

Вот как работает динамическая с семисегментными индикаторами.

post-129684-0-25424100-1361668723.gif

Изменено пользователем galunko
Ссылка на комментарий
Поделиться на другие сайты

Собственно, вот уже готовая матрица на рассыпухе.

Дешифратор сканирует строки, а в регистры загружаются данные для столбцов.

01.gif

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

Алексей, в Вашем проекте Вам будет очень полезна книга: "Технические средства микропроцессорных систем" Дж. Коффрон. А вот и ссылка: http://www.twirpx.com/file/160528/

Изменено пользователем malenich
Ссылка на комментарий
Поделиться на другие сайты

Будете разрабатывать собственную перфокарту или воспользуетесь стандартной?

p1.jpg

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

Ссылка на комментарий
Поделиться на другие сайты

Будете разрабатывать собственную перфокарту или воспользуетесь стандартной?

p1.jpg

Свою конечно.

Только я думаю сделать так : допустим размер одного машинного слова ЦП ЭВМ 4 бита , тогда получается что в строке перфокарты должны быть 4 двоичных сигнала (не цифры , как у Вас на изображении , а именно отверстия/нет отверстия) , и соответственно считывание карты идет по строкам.

Ссылка на комментарий
Поделиться на другие сайты

На фото чистая карта, в нужных местах пробивались дырки при "программировании".

А зачем вам дырявить картон? Печатайте обычным принтером темные точки на прозрачной пленке, а затем считывайте их оптопарой.

Или прямо на обычной бумаге, оптопара пусть работает на отражение, как в оптическом сканере.

"Я не знаю какой там коэффициент, я просто паять умею. "

Ссылка на комментарий
Поделиться на другие сайты

...Недавно начал изучать... ...дисциплины (изучаю для себя , и пока не... разбираюсь...

...и вот есть идея спаять небольшую ЭВМ на транзисторной логике...

Aleksei_x86, совет. Потратьте время на качественное изучение этих дисциплин. Пройдут года и вы поймете, насколько ваша идея (в начале изучения) была абсурдна. Не тратьте время на утопию. То, что выложено в Нете - ботва. Докатились! СБИС считаются простейшей логикой (см. фотки внимательно).

PS. Если бы все новички клепали процессоры...

Ссылка на комментарий
Поделиться на другие сайты

Ввод программы в ЭВМ - на перфокартах

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

...Недавно начал изучать... ...дисциплины (изучаю для себя , и пока не... разбираюсь...

...и вот есть идея спаять небольшую ЭВМ на транзисторной логике...

Aleksei_x86, совет. Потратьте время на качественное изучение этих дисциплин. Пройдут года и вы поймете, насколько ваша идея (в начале изучения) была абсурдна. Не тратьте время на утопию. То, что выложено в Нете - ботва. Докатились! СБИС считаются простейшей логикой (см. фотки внимательно).

PS. Если бы все новички клепали процессоры...

Спасибо за совет , последую ему.

Только вот хочу уточнить :

>ваша идея (в начале изучения) была абсурдна

Вы имеете ввиду что моя идея абсурдна на данный момент , из-за малых знаний в електронике , но осуществлима с моей стороны после приобретения соответствующих знаний в данной области , ИЛИ что моя идея абсурдна вообще?

Хм... А есть ли различие между данными микросхемами :

b5tVPR_Sbk4.jpg

Изменено пользователем Aleksei_x86
Ссылка на комментарий
Поделиться на другие сайты

Разницы нет.

Насчет идеи...абсурдна вообще. Возможно это вам сделать и удастся, но только к пенсии. Оно вам надо? Чтобы не тратить время даром, попытайтесь разработать систему команд для своего процессора (хотя бы на 5шт.), создать АЛУ, дешифратор команд, счетчик адреса, интерфейс (хотя бы один) и порт. И все это на 5 команд. Больше не надо. Думаю, достаточно, чтобы понять всю абсурдность. А я только маленькую вершину айсберга перечислил.

Ссылка на комментарий
Поделиться на другие сайты

Пройдут года и вы поймете, насколько ваша идея была абсурдна. Если бы все новички клепали процессоры...

Хоть кто-то вразумил автора! А я всё ждал, когда же появятся подобные реплики отрезвления...

От перфокарт - к запоминающим устройствам на ферритовых кольцах.

Так они вроде вместе неплохо сочетались?

Моя идея абсурдна или осуществима?

Это можете определить только вы.

Мы вас не отговариваем изобрести ЭВМ, но сама идея с нуля создать то, на что работали миллионы людей на протяжении 60 лет...

Может лучше вам после получения образования устроиться в НИИ искуственного интеллекта? Глядишь, с вашими амбициями будете нести реально ощутимую пользу.

Слава антисионистам Владимиру Путину и Владимиру Квачкову!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...